我是一名嶄露頭角的區(qū)塊鏈開發(fā)人員,我一直在使用 Go 來深入研究,因?yàn)檫@是我最熟悉的語言。我現(xiàn)在陷入僵局,希望能得到一些幫助。我看到的幾乎所有關(guān)于使用 Go 使用智能合約的教程都涉及使用 geth 將 Solidity 源代碼編譯為其 ABI 和二進(jìn)制形式,然后生成一個 .go 文件,其中包含用于部署和其他操作的合約綁定。這在使用我自己創(chuàng)建的合約時很好,但是我將如何與已經(jīng)部署的第三方合約(例如 Cryptokitties)進(jìn)行交互?基本上,在我可能無法訪問合約源代碼來生成綁定的情況下。通過 Cryptozombies 課程,我只需要使用 Solidity 定義所需合約的接口,但 Go 似乎并不那么簡單。
1 回答

一只萌萌小番薯
TA貢獻(xiàn)1795條經(jīng)驗(yàn) 獲得超7個贊
您可以手動將 ABI 文件從 Etherscan 保存到本地工作區(qū)以生成綁定。
例如,您可以從這個CryptoKitties 合約復(fù)制 ABI 。只要合約經(jīng)過驗(yàn)證,你就可以隨時獲得 ABI。
筆記:
Solidity 是唯一不需要 ABI 的語言,因?yàn)樗?EVM(以太坊虛擬機(jī))上合約開發(fā)的母語。
您還可以使用Etherscan API以編程方式檢索 ABI。但我認(rèn)為在大多數(shù)情況下我們不需要走那么遠(yuǎn)。
閱讀更多:https ://geth.ethereum.org/docs/dapp/native-bindings
- 1 回答
- 0 關(guān)注
- 97 瀏覽
添加回答
舉報
0/150
提交
取消