登录
首页 >  Golang >  Go问答

使用 Go 连接到已部署的智能合约的步骤

来源:stackoverflow

时间:2024-02-09 08:51:27 119浏览 收藏

本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《使用 Go 连接到已部署的智能合约的步骤》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~

问题内容

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

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

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

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

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


正确答案


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

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

注意:

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

了解更多:https://geth.ethereum.org/docs/dapp/native-bindings

终于介绍完啦!小伙伴们,这篇关于《使用 Go 连接到已部署的智能合约的步骤》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>