Etherscan API 获取已验证源码的合约源代码 - 区块链数据开发实战

简介:Etherscan 大多数朋友都比较熟悉了,它是主流以太坊区块浏览器。Etherscan 有面向开发者提供 API 服务以方便其检索以太坊区块链信息。本文示例如何使用 Etherscan API 获取以太坊已验证源码的合约源代码。

Etherscan 大多数朋友都比较熟悉了,它是主流以太坊区块浏览器。Etherscan 有面向开发者提供 API 服务以方便其检索以太坊区块链信息。

Etherscan API 在没有密钥的情况下,支持每秒最多五次请求。有更多请求需求可以在这里申请密钥:https://etherscancom.freshdesk.com/support/solutions/articles/35000022163-i-need-an-api-key

使用 Etherscan API 获取以太坊已验证源码的合约源代码:

语句:

https://api.etherscan.io/api?module=contract&action=getsourcecode&address={填入合约地址}&apikey={填入你的ApiKey}

当然,不使用 apikey 也是可以查询的:

https://api.etherscan.io/api?module=contract&action=getsourcecode&address={填入合约地址}

Node.js 代码示例:

const fetch = require('node-fetch');

fetch('https://api.etherscan.io/api?module=contract&action=getsourcecode&address={填入合约地址}&apikey={填入你的ApiKey}', {
    method: 'get',
}).then(response => response.json()
    .then(data => console.log(data)));

返回的 JSON 示例:

{
  "status": "1",
  "message": "OK",
  "result": [
    {
      "SourceCode": "/*省略*/",
      "ABI": "/*省略*/",
      "ContractName": "DAO",
      "CompilerVersion": "v0.3.1-2016-04-12-3ad5e82",
      "OptimizationUsed": "1",
      "Runs": "200",
      "ConstructorArguments": "000000000000000000000000da4a4626d3e16e094de3225a751aab7128e965260000000000000000000000004a574510c7014e4ae985403536074abe582adfc80000000000000000000000000000000000000000000000001bc16d674ec80000000000000000000000000000000000000000000000000a968163f0a57b4000000000000000000000000000000000000000000000000000000000000057495e100000000000000000000000000000000000000000000000000000000000000000",
      "Library": "",
      "SwarmSource": ""
    }
  ]
}

Etherscan API 官方文档:https://etherscan.io/apis

Etherscan API 思维导图:

Etherscan API.png

我们有一个区块链知识星球,做区块链前沿资料的归纳整理以方便大家检索查询使用,也是国内顶尖区块链技术社区,欢迎感兴趣的朋友加入。如果你对上面内容有疑问,也可以加入知识星球提问我:

区块链社群 知识星球

你可能感兴趣的:(Etherscan API 获取已验证源码的合约源代码 - 区块链数据开发实战)