etherscan最简单快速的验证合约

正常验证合约在浏览器页面中点击 Verify and Publish 就可以跳转到对应的页面进行验证。但此方法仅限于单文件模式,常规的项目都会是多文件模式,通过页面验证就有些麻烦了。笔者经过一番探索,发现 scan浏览器开放有验证合约的API,通过调用API即可轻松完成多文件验证。

使用到的API有:

https://api.etherscan.io/api

Method:POST

Body:x-www-form-urlencoded

参数有:

module:contract

action:verifysourcecode

apikey:[申请的api key]

contractaddress:[要验证的合约地址]

codeformat:solidity-standard-json-input

contractname:[合约名,需要以 Name.sol:Name 格式;比如 Hello.sol 就是 Hello.sol:Hello]

compilerversion: [编译器版本,如 v0.8.7+commit.e28d00a7 具体看下面👇详情]

optimizationUsed: [编译时是否启动了优化,1 是 0 否]

licenseType: [开源协议,如 MIT License (MIT) 具体看下面👇详情]

sourceCode: [源码的json格式,具体看下面👇详情]

runs: [如果开启了优化,默认是200]

constructorArguements: [部署合约时的构造参数,如果有必须填,否则验证会失败]

compilerversionetherscan支持的编译器版本号查询

licenseType:开源协议选项

sourceCode:源码可以通过remix直接获取json格式

1. 在Remix的左侧菜单栏中激活 ETHERSCAN 插件

2.  通过ETHSCAN插件进行验证,由于Remix内置的api域名有问题,验证不了。但可以获取到它发送的参数中的源码格式,复制替换到sourceCode参数中即可。

请求成功会返回一个 guid 一串字符串随机形式。

通过查询状态API即可知道验证结果:

 https//api.bscscan.com/api?apikey=xxx&guid=biux......siwtb&module=contract&action=checkverifystatus

参考官方文档:https://docs.etherscan.io/tutorials/verifying-contracts-programmatically

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值