【问题标题】:How to get Contract ABI for Verified Contract Source Codes in BSC scan API如何在 BSC 扫描 API 中获取已验证合约源代码的合约 ABI
【发布时间】:2021-08-15 15:47:53
【问题描述】:
【问题讨论】:
标签:
node.js
blockchain
bscscan
【解决方案1】:
官方 API 可用于获取 bscscan.com 验证合约的 ABI 版本。
这是来自浏览器的示例调用:
https://api.bscscan.com/api
?module=contract
&action=getabi
&address=0x0e09fabb73bd3ade0a17ecc321fd13a19e81ce82
&apikey=YourApiKeyToken
Javascript 示例:
var Web3 = require('web3');
var web3 = new Web3(new Web3.providers.HttpProvider());
var version = web3.version.api;
$.getJSON('https://api.bscscan.com/api?module=contract&action=getabi&address=0x0000000000000000000000000000000000001004&apikey=YourApiKeyToken', function (data) {
var contractABI = "";
contractABI = JSON.parse(data.result);
if (contractABI != '') {
var MyContract = web3.eth.contract(contractABI);
var myContractInstance = MyContract.at("0x0000000000000000000000000000000000001004");
var result = myContractInstance.memberId("0xfe8ad7dd2f564a877cc23feea6c0a9cc2e783715");
console.log("result1 : " + result);
var result = myContractInstance.members(1);
console.log("result2 : " + result);
} else {
console.log("Error");
}
});
来源:https://docs.bscscan.com/api-endpoints/contracts