如何用web3j編譯solidity智慧合約原始碼

馬拉喀什發表於2018-07-21

通過solc編譯器編譯solidity程式碼到位元組碼。你可以參考solidity安裝文件在本地安裝編譯器。

編寫solidity程式碼執行:

$ solc <contract>.sol --bin --abi --optimize -o <output-dir>/

binABI編譯器引數都需要充分利用web3j中的智慧合約。

  • bin,輸出包含十六進位制編碼的solidity二進位制檔案以提供交易請求。
  • ABI,輸出一個solidity的應用程式二進位制介面(ABI)檔案,它詳細描述了所有可公開訪問的合約方法及其相關引數。這些細節和合約地址對於智慧合約的互動是至關重要的。ABI檔案也用於封裝solidity的智慧合約。

這裡也有一個gas論證,用來提供智慧合約所需gas的估計值,並用它的方法進行交易。

你可以通過solidity的瀏覽器專案Remix在瀏覽器中編寫和編譯solidity程式碼。使用solidity瀏覽器專案Remix IDE對於較小的智慧合約來說是很好的,但是你遇到與較大的智慧合約相關的問題。

還可以通過以太坊客戶端(如geth和Parity)編譯solidity程式碼,web3j中也支援使用JSON-RPC方法 eth_compileSolidity。然而,必須在客戶端上安裝solidity編譯器,這樣它才能正常工作。

還有更多的選擇,請參閱官網文件中的相關章節

原文《Java以太坊類庫web3j官網中文翻譯》中的:
http://cw.hubwiz.com/card/c/web3j/1/12/6/

另外推薦幾個很受歡迎全網稀缺的互動教程:

  • web3j,主要是針對java和android程式設計師圍繞web3j庫進行區塊鏈以太坊開發的講解。
  • python以太坊,主要是針對python圍繞web3.py進行區塊鏈以太坊應用開發的講解。
  • php以太坊,主要是介紹使用php進行智慧合約開發互動,進行賬號建立、交易、轉賬、代幣開發以及過濾器和事件等內容。
  • 以太坊開發,主要是介紹使用node.js、mongodb、區塊鏈、ipfs實現去中心化電商DApp實戰,適合進階。
  • 以太坊教程,主要介紹智慧合約與dapp應用開發,適合入門。


相關文章