BSC区块链浏览器上开源合约的方法主要有3种:单文件、多文件、stand json input 。
最简单,最常见的就是多文件方式开源合约。但是到solidity6.0以后,多文件开源合约有时会出现合约verifiy fail的情况。这是solidity 6.0以后的编译器版本的bug导致的,针对这个问题通过standard json input方法验证合约就可以解决。
【附注20221206】
开源合约的主流方式主要由单部分文件、多部分文件、标准json三种方式。三种方式都有自己特有的优缺点,作为主流的开源方式,没有优劣之分,根据开发者的使用习惯,随意选择即可。
a. 单部分文件:所有合约整个到一个sol文件中,通过验证一个文件即可完成开源
b. 多部分文件:整个合约是由多个sol文件组成的,上传所有sol文件,以验证合约开源
c. 标准json方式,通过将合约文件转变为ABI码的形式,按照json文件的特定格式,上传所有sol文件以验证开源。
以下演示通过standard json input方法验证并开源合约的操作步骤。
1、准备standard json input模板
{ "language": "Solidity", "sources": { "contracts/ContractA.sol": { "content": "<SOURCE_CODE A>" }, "contracts/ContractB.sol": { "content": "<SOURCE_CODE B>" } }, "settings": { "optimizer": { "enabled": true, "runs": 200 } } }
2、完善如下合约信息
通过标准json转换工具将合约代码转换为标准json字符串
3、组成合约的所有sol文件全部转换为标准json后,复制到json模板文件中
本示例组成合约的代码文件有 5 个,全部按照上述方法转换为标准json后,复制到json模板文件中
5个sol文件分别为:IERC20.sol、SafeMath.sol、ERC20.sol、ERC20Detailed.sol、ZXTSToken.sol
转换完成提交验证的json模板文件如下(文件名:ZXToken.json):
后面settings部分为合约的编译及运行时环境:
如果编译时启用了优化器:Enable optimization ,那么 “enabled”: true ,否则”enabled”: false
后面的 “runs”: 200 是默认值,不管是否启用优化器,该值都不用做任何修改,保持默认即可。
4、提交验证standard json input文件,完成合约开源
验证并成功开源后的合约效果如下:
至此,币安BSC智能链发币通过standard json input方式开源并验证合约完成。
pdf+视频币安智能链BSC发币教程及多模式组合合约源代码下载:
币安智能链BSC发币(合约部署、开源、锁仓、LP、参数配置、开发、故障处理、工具使用)教程下载:
多模式(燃烧、回流指定营销地址、分红本币及任意币种,邀请推广八代收益,LP加池分红、交易分红、复利分红、NFT分红、自动筑池、动态手续费、定时开盘、回购)组合合约源代码下载:
pdf+视频币安智能链BSC发币教程及多模式组合合约源代码下载地址:
此内容仅供注册用户可见,请登录!
添加VX或者telegram获取全程线上免费指导
评论前必须登录!
注册