我是一名嶄露頭角的區塊鏈開發人員,我一直在使用 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 關注
- 98 瀏覽
添加回答
舉報
0/150
提交
取消