繁体   English   中英

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

[英]How can I connect to already deployed smart contracts with Go?

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

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

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

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

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

您可以手动将 ABI 文件从 Etherscan 保存到本地工作区以生成绑定。

例如,您可以从这个CryptoKitties 合约复制 ABI。 只要合约经过验证,你就可以随时获得 ABI。

笔记:

  • Solidity 是唯一不需要 ABI 的语言,因为它是 EVM(以太坊虚拟机)上合约开发的母语。
  • 您还可以使用Etherscan API以编程方式检索 ABI。 但我认为在大多数情况下我们不需要那么远的 go 。

阅读更多: https://geth.ethereum.org/docs/dapp/native-bindings

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM