簡體   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