天天看點

Bytom合約預編譯

比原項目倉庫:

Github位址:

https://github.com/Bytom/bytom Gitee位址: https://gitee.com/BytomBlockchain/bytom

在開發合約的過程中你們有沒有遇到一些問題呢?比如編譯合約的過程中不能實時動态的去檢查我們所編譯的合約檔案是否正确,那麼我今天就教大家一種很友善的方法。可以讓小夥伴們在編寫合約的過程中,可以随時檢查自己的合約編寫是否正确。

首先要確定我們有go語言開發環境且版本高于1.8,如果沒有搭建go語言開發環境,請自行百度。確定go支援的版本已經正确安裝:

$ go version
$ go env GOROOT GOPATH
           

擷取源代碼并編譯,參考連結:

https://github.com/Bytom/equity

編譯完了以後我們可以在equity下執行:

./equity/equity --help
           

擷取合約的指令幫助。傳回的截圖如下:

Bytom合約預編譯

圖中标的1,2,3,4 分别表示執行指令所帶參數的含義。圖中3對應的 instance參數表示執行個體化合約,4對應的shift表示指定執行合約裡面具體的函數。然後在項目下面建立一個合約檔案(合約檔案最好不帶任何字尾名),如下圖:

Bytom合約預編譯

然後編寫合約,我是用vim編譯的合約,大家可以自行選擇用vim或者編輯器編寫合約。如果編譯合約的過程中存在問題,請參考合約開發文檔:

https://bytom.github.io/mydoc_RPC_call.cn.html

。下圖是我在vim中編寫的合約。

Bytom合約預編譯

合約編寫完了以後,如果合約編寫錯誤或者存在文法錯誤,會出現如下圖所示的情況,請檢查自己編寫的合約

Bytom合約預編譯

檢查無誤以後,在對應的目錄下面執行合約檔案,然後就可以輸出下圖所示的二進制。說明合約編寫成功