Etherscan API中文手册

账号API
account - 以太坊账号API模块 account/balance - 获取指定地址的余额 account/balancemulti - 获取多个地址的余额 account/txlist - 获取指定地址的普通交易 account/txlistinternal - 获取指定地址的内部交易 account/txlistinternal - 获取指定交易触发的内部交易 account/tokentx - 获取指定地址的ERC20代币转账交易 account/getminedblock - 获取指定地址挖出的区块
合约API
contract - 智能合约API模块 contract/getabi - 获取指定合约的ABI contract/getcode - 获取指定合约的源代码 contract/verifysourcecode - 验证指定合约的源代码 contract/checkverifystatus - 获取源代码验证结果
交易API
transaction - 交易API模块 transaction/getstatus - 获取指定交易的执行状态 transaction/gettxreceiptstatus - 获取指定交易的收据状态
区块API
block - 区块API模块 block/getblockreward - 获取指定区块奖励额
事件日志API
logs - 日志API模块 logs/getLogs - 获取以太坊日志
节点代理API
proxy - 节点代理API模块 proxy/eth_blockNumber - 获取链头区块编号 proxy/eth_getBlockByNumber - 获取指定编号的区块详情 proxy/eth_getUncleByBlockNumberAndIndex - 获取指定的叔伯区块详情 proxy/eth_getBlockTransactionCountByNumber - 获取指定编号区块的交易数量 proxy/eth_getTransactionByHash - 获取指定哈希交易的详情 proxy/eth_getTransactionByBlockNumberAndIndex - 获取指定区块及序号交易的详情 proxy/eth_getTransactionCount - 获取指定地址发生的交易数量 proxy/eth_sendRawTransaction - 发送裸交易 proxy/eth_getTransactionReceipt - 获取指定交易的收据 proxy/eth_call - 执行消息调用 proxy/eth_getCode - 获取指定地址的代码 proxy/eth_getStorageAt - 获取指定位置的内容 proxy/eth_gasPrice - 获取当前的gas价格 proxy/eth_estimateGas - 估算交易gas用量
通证/代币API
token - 代币API概述 stats/tokensupply - 获取指定ERC20代币的总供应量 account/tokenbalance - 获取指定账号的ERC20代币余额
统计API
stats - 统计API模块 stats/ethsupply - 获取以太币当前总量 stats/ethprice - 获取以太币最新价格 stats/chainsize - 获取节点数据大小
开发包
Etherscan开发包

stats/chainsize - 获取以太坊节点数据大小

使用stats模块的chainsize方法获取当前的以字节为单位的节点区块数据大小。

API调用

GET|POST /api

查询|表单参数:

  • module:stats
  • action:chainsize
  • startdate:开始日期,格式:YYYY-MM-dd,例如:2019-03-01
  • endata:截止日期,格式同上
  • clienttype:节点类型,geth或parity
  • syncmode:同步模式,default或archive
  • sort:排序方式:asc - 升序,desc - 降序
  • apikey:etherscan API密钥

API返回结果

返回值为一个JSON对象,主要字段如下:

  • status:状态码,1为成功
  • message:调用描述信息,OK为成功
  • result:调用结果数组,每个成员对应一天的统计信息,成员字段如下:
    • blockNumber:当日最大区块号
    • chainTimeStamp:链时间戳
    • chainSize:截至当日链数据大小,以字节为单位
    • clientType:节点类型
    • syncMode:同步方式

示例代码

以curl为例的调用代码如下,也可以直接点击这里查看在浏览器里的运行结果:

~$ curl https://api.etherscan.io/api?module=stats&action=chainsize&startdate=2019-02-01&enddate=2019-02-28&clienttype=geth&syncmode=default&sort=asc&apikey=YourApiKeyToken

返回结果如下:

{
  "status": "1",
  "message": "OK",
  "result": [
    {
      "blockNumber": "7156164",
      "chainTimeStamp": "2019-02-01",
      "chainSize": "184726421279",
      "clientType": "Geth",
      "syncMode": "Default"
    },
    {
      "blockNumber": "7161012",
      "chainTimeStamp": "2019-02-02",
      "chainSize": "184726654448",
      "clientType": "Geth",
      "syncMode": "Default"
    },
    ...
  ]
}