我是一名崭露头角的区块链开发人员,我一直在使用 Go 来深入研究,因为这是我最熟悉的语言。我现在陷入僵局,希望能得到一些帮助。我看到的几乎所有关于使用 Go 使用智能合约的教程都涉及使用 geth 将 Solidity 源代码编译为其 ABI 和二进制形式,然后生成一个 .go 文件,其中包含用于部署和其他操作的合约绑定。这在使用我自己创建的合约时很好,但是我将如何与已经部署的第三方合约(例如 Cryptokitties)进行交互?基本上,在我可能无法访问合约源代码来生成绑定的情况下。通过 Cryptozombies 课程,我只需要使用 Solidity 定义所需合约的接口,但 Go 似乎并不那么简单。
1 回答
一只萌萌小番薯
TA贡献1795条经验 获得超7个赞
您可以手动将 ABI 文件从 Etherscan 保存到本地工作区以生成绑定。
例如,您可以从这个CryptoKitties 合约复制 ABI 。只要合约经过验证,你就可以随时获得 ABI。
笔记:
Solidity 是唯一不需要 ABI 的语言,因为它是 EVM(以太坊虚拟机)上合约开发的母语。
您还可以使用Etherscan API以编程方式检索 ABI。但我认为在大多数情况下我们不需要走那么远。
阅读更多:https ://geth.ethereum.org/docs/dapp/native-bindings
- 1 回答
- 0 关注
- 78 浏览
添加回答
举报
0/150
提交
取消