區塊鏈學習-Golang 與智能合約的互動(一)

來源:互聯網
上載者:User

在以太坊中,提供了 abigen 的指令給我們智能合約的 go 語言檔案,網上許多教程也是基於這個指令來產生合約 go 檔案來進行操作的。參考:
Github 某源碼實現
使用Go語言與Ethereum智能合約進行互動
但是這些文章年代久遠....存在讓你崩潰的問題。
abigen 內部其實是調用了 solc 來對合約檔案進行編譯產生對應語言版本的代碼檔案,按照教程正常來說只需要這樣一行指令就能搞定

abigen --sol yourContract.sol --pkg main --out yourContract.go

但是目前版本直接對合約檔案執行以上指令會返回這樣的一行錯誤

Failed to build Solidity contract: exit status 7

無法定位實際問題點,網上也沒搜到對應的問題討論
最後通過自己的摸索發現可以這樣來操作

先通過 solc 的新指令 solcjs (直接 npm install -g solc 下載後的指令,solc 的指令需要 npm install -g solc-cli)產生對應的 bin abi 合約檔案

// 產生合約 abi 檔案solcjs yourContract.sol -o filedir --abi// 產生合約 bin 檔案solcjs yourContract.sol -o filedir --bin

最後使用以太坊的 abigen 產生對應的 go 檔案

abigen --abi filedir/yourContract.abi --bin filedir/yourContract.bin --pkg main --out yourContract.go

檢查發現與教程產生的 go 檔案內容相似,進一步的互動使用繼續研究

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.