#api-token #api #etherscan #off-chain #api-bindings #bscscan #polygonscan

evmscan

由 etherscan.io, bscscan.com 和 polygonscan.com 背后的团队提供的基于 EVM 的链的非异步 API 的 Rust 绑定

1 个不稳定版本

0.6.0 2022 年 5 月 1 日

#4 in #etherscan


3 crates 使用

MIT 许可证

100KB
1.5K SLoC

evmscan

evmscan 是一个支持与 bscscan.com、etherscan.io 和 polygonscan.com 一起工作的 Rust 中非异步 API。

每个平台 API 关联的本地代币如下

  • bscscan - BNB
  • etherscan - ETH
  • polygonscan - MATIC

WIP 并将逐步填充与 bscscan.com 侧提供的 API。

API 支持

查看以下复选标记中此项目支持的 API。

账户

  • 获取单个地址的原生代币余额
  • 在单个调用中获取多个地址的原生代币余额
  • PRO API 通过区块号获取单个地址的历史原生代币余额
  • 通过地址获取正常交易列表(API 限制为最多 10,000 条记录)
  • 通过地址获取内部交易列表(API 限制为最多 10,000 条记录)
  • 通过交易哈希获取“内部交易”
  • 通过区块范围获取“内部交易”
  • 从 EOA 地址获取 ERC-20/BEP-20 代币转账事件列表(指定 address
  • 从合约地址获取 ERC-20/BEP-20 代币转账事件列表(指定 contractaddress
  • 通过代币合约过滤从 EOA 地址获取 ERC-20/BEP-20 代币转账事件列表(指定 addresscontractaddress
  • 从 EOA 地址获取 BEP-721/BEP-20 代币转账事件列表(指定 address
  • 从合约地址获取 BEP-721/BEP-721 代币转账事件列表(指定 contractaddress
  • 通过代币合约过滤从 EOA 地址获取 BEP-721/BEP-721 代币转账事件列表(指定 addresscontractaddress
  • 通过地址获取验证的区块列表

合约

  • 获取已验证合约源代码的合约 ABI
  • 获取已验证合约源代码的合约源代码
  • 验证源代码
  • 验证代理合约

交易

  • 检查交易收据状态

区块

  • 通过区块号获取区块奖励
  • 通过区块编号获取估计的区块倒计时时间
  • 通过时间戳获取区块编号
  • PRO API 获取每日平均区块大小
  • PRO API 获取每日区块数量和奖励
  • PRO API 获取每日区块奖励
  • PRO API 获取区块包含在原生代币区块链中的每日平均时间

日志

  • 使用过滤器参数获取日志

Geth代理

  • eth_blockNumber - 返回最新区块的编号
  • eth_getBlockByNumber - 通过区块编号返回区块信息
  • eth_getBlockTransactionCountByNumber - 返回区块中的交易数量
  • eth_getTransactionByHash - 通过交易哈希返回请求的交易信息
  • eth_getTransactionByBlockNumberAndIndex - 通过区块编号和交易索引位置返回交易信息
  • eth_getTransactionCount - 返回地址执行的交易数量
  • eth_sendRawTransaction - 提交预签名的交易,广播到原生代币智能链网络
  • eth_getTransactionReceipt - 返回已验证交易的收据
  • eth_call - 立即执行新消息调用(读取函数),而不在区块链上创建交易
  • eth_getCode - 返回给定地址的代码
  • eth_getStorageAt (实验性) - 返回给定地址存储位置上的值
  • eth_gasPrice - 返回当前每单位燃料的价格(wei)
  • eth_estimateGas - 执行调用或交易,该调用或交易不会添加到区块链,并返回使用的燃料

代币

  • 通过合约地址获取ERC-20/BEP-20代币的总供应量
  • 通过合约地址获取ERC-20/BEP-20代币的流通供应量
  • 通过合约地址获取ERC-20/BEP-20代币的账户余额
  • PRO API 通过合约地址获取代币持有者列表
  • PRO API 通过合约地址和区块编号获取历史ERC-20/BEP-20代币总供应量
  • PRO API 通过合约地址和区块编号获取历史ERC-20/BEP-20代币账户余额
  • PRO API 通过合约地址获取代币信息
  • PRO API 获取地址持有的ERC-20/BEP-20代币
  • PRO API 获取地址持有的'BEP-721'代币
  • PRO API 通过合约地址获取地址'BEP-721'代币库存

燃气追踪器

  • 获取燃气预言机
  • PRO API 获取每日平均燃气限制
  • PRO API 获取原生代币智能链每日总燃气使用量
  • PRO API 获取每日平均燃气价格

统计

  • 获取区块链上原生代币的总供应量
  • 获取区块链上的验证者列表
  • 获取原生代币的最新价格
  • PRO API 获取原生代币的历史价格
  • PRO API 获取每日网络交易费用
  • PRO API 获取每日新地址数量
  • PRO API 获取每日网络利用率
  • PRO API 获取每日交易数量

测试

由于该库管理访问3个不同的API平台,因此为了测试所有平台,用户在运行测试之前需要为这些平台定义API密钥。

  • 获取所有3个API平台的API密钥(bscscan.com, etherscan.io, polygonscan.com)
  • 定义 EVMSCAN_TEST_BSCSCAN_APIKEYEVMSCAN_TEST_ETHERSCAN_APIKEYEVMSCAN_TEST_POLYGONSCAN_APIKEY
  • cargotest

许可证

MIT,Wasin Thonkaew

依赖关系

~14–27MB
~394K SLoC