具体流程参考:
https://blog.csdn.net/dengxiaodai/article/details/80851470
特殊问题【很可能发生的错误】:
最后分析一个自己生成ABI编码的合约方法【自己在虚拟环境部署,生成即可】
pragma solidity ^0.5.0;contract ABIEncode {/**功能:封装一个类测试ABI编码的结果*/function generateABIEncode(address[] memory adds_array)publicpurereturns (bytes memory){/**功能:传入一个空数组[],返回一个ABI编码特殊说明:1、在ERC777合约部署时,数组defaultOperators如果不传,则需初始化一个空数组传入!2、而在etherscan校验合约时,此空数组必须以ABI编码的方式传入,所以必须通过 abi.encode来获得编码3、etherscan浏览器在部署合约时,显示的构造函数参数的ABI码有时候不准确,需自己计算后传入!4、如果是空数组[]返回的ABI编码为:0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000*/return abi.encode(adds_array);}
}