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