手记

区块链学习-Golang 与智能合约的交互(一)

v

但是这些文章年代久远....存在让你崩溃的问题。
abigen 内部其实是调用了 solc 来对合约文件进行编译生成对应语言版本的代码文件,按照教程正常来说只需要这样一行指令就能搞定

abigen --sol yourContract.sol --pkg main --out yourContract.go

但是目前版本直接对合约文件执行以上指令会返回这样的一行错误

Failed to build Solidity contract: exit status 7

无法定位实际问题点,网上也没搜到对应的问题讨论
最后通过自己的摸索发现可以这样来操作

先通过 solc 的新指令 solcjs (直接 npm install -g solc 下载后的指令,solc 的指令需要 npm install -g solc-cli)生成对应的 bin abi 合约文件

// 生成合约 abi 文件solcjs yourContract.sol -o filedir --abi// 生成合约 bin 文件solcjs yourContract.sol -o filedir --bin

最后使用以太坊的 abigen 生成对应的 go 文件

abigen --abi filedir/yourContract.abi --bin filedir/yourContract.bin --pkg main --out



作者:iSakura
链接:https://www.jianshu.com/p/2720af55846d


0人推荐
随时随地看视频
慕课网APP