-
Notifications
You must be signed in to change notification settings - Fork 74
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
使用前端按文件夹导出的abi和bin文件部署合约错误 #773
Comments
可以列出一下通过文件夹到处的abi和bin文件,与通过solc编译sol |
测试时发现另一个小问题,创建合约文件是如果合约名长度为1时(如A),弹出框提示“请输入数字或字母,长度1-32位” 创建test文件夹,在文件夹下创建AA和BB文件 BB.sol
AA.sol
在webase界面,编译AA.sol合约,界面下方显示的bin code abi
在web界面右键导出test.zip,解压缩后文件夹中AA.bin文件内容 AA.abi文件内容 使用solc手动编译AA.sol文件
再次查看AA.bin文件内容,现在与webase界面中bin code数据一致 AA.abi
|
举例的BIN数据十分详尽,我们检查一下该问题 |
webase 1.5.4
fisco-bcos 2.8.0
solidity 0.6.10
场景:A、B两个合约,A合约引用B合约,在A合约的构造函数中引用了B合约的public函数,且修改了B合约的状态变量
这两个合约在WeBASE中都可以正确部署并运行
出现错误的操作
按文件夹导出abi、bin文件,使用go sdk中的abigen工具生成go文件
使用go代码部署B合约,正确返回
使用go代码部署A合约,错误,状态码0x16,revert
使用以下方法避免了该错误
导出sol文件后,使用solc重新编译A、B合约的 abi文件和bin文件
再次使用abigen生成go文件,使用go代码部署合约,A、B均成功部署
因此对于有引用的合约,使用前端导出abi文件和bin文件生成go文件并部署合约时会有报错
The text was updated successfully, but these errors were encountered: