如何使用 Go 连接到已部署的智能合约?

我是一名崭露头角的区块链开发人员,我一直在使用 Go 来深入研究,因为这是我最熟悉的语言。

我现在陷入僵局,希望能得到一些帮助。

我看到的几乎所有关于使用 Go 使用智能合约的教程都涉及使用 geth 将 Solidity 源代码编译为其 ABI 和二进制形式,然后生成一个 .go 文件,其中包含用于部署和其他操作的合约绑定。

这在使用我自己创建的合约时很好,但是我将如何与已经部署的第三方合约(例如 Cryptokitties)进行交互?基本上,在我可能无法访问合约源代码来生成绑定的情况下。

通过 Cryptozombies 课程,我只需要使用 Solidity 定义所需合约的接口,但 Go 似乎并不那么简单。


桃花长相依
浏览 79回答 1
1回答

一只萌萌小番薯

您可以手动将 ABI 文件从 Etherscan 保存到本地工作区以生成绑定。例如,您可以从这个CryptoKitties 合约复制 ABI 。只要合约经过验证,你就可以随时获得 ABI。笔记:Solidity 是唯一不需要 ABI 的语言,因为它是 EVM(以太坊虚拟机)上合约开发的母语。您还可以使用Etherscan API以编程方式检索 ABI。但我认为在大多数情况下我们不需要走那么远。阅读更多:https ://geth.ethereum.org/docs/dapp/native-bindings
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go