本文將介紹如何在docker環境下,使用系統自帶的合約」currency」,實現建立錢包 - 建立賬戶 - 執行合約的完整流程。
docker pull eosio/eos
啟動nodeos節點
docker run --name nodeos -p 8888:8888 -p 9876:9876 -t eosio/eos /opt/eosio/bin/nodeosd.sh arg1 arg2
進入nodeos節點除錯介面,後續的命令都在該介面中執行。
docker exec -it nodeos /bin/bash通過cleos wallet create命令建立錢包。
cleos wallet create
建立成功後,會生成乙個隨機密碼。
將bios合約關聯到eosio
賬戶上,它將使eosio
賬戶獲得超級管理員許可權,能夠直接操控其它賬戶的資源以及執行特殊api。
cleos set contract eosio ../contracts/eosio.bios -p為賬戶建立ownerkey和activekey,注意 create key 命令需要執行兩次。
cleos create key # ownerkey這兩次命令將生成兩組private key和public key,分別對應ownerkey和activekey。cleos create key # activekey
ownerkey
activekey
分別將兩組private key匯入錢包
cleos wallet import
cleos wallet import
通過cleos create account
命令建立currency
賬戶,並由eosio
賬戶為其授權。
cleos create account eosio currency \\驗證currency賬戶是否建立成功。
cleos get account currency看到下面的賬戶資訊,則說明建立成功。
上傳之前,驗證區塊鏈中是否已經存在currency賬戶
cleos get code currency如果返回hash code都為0,則說明賬戶不存在
上傳currency賬戶
cleos set contract currency contracts/currency再次驗證currency賬戶是否已經存在
cleos get code currencyhash code不為0,上傳成功。
執行currency合約的create action與issue action,
cleos push action currency create '' --permission currency@active執行完畢後,驗證currency賬戶中的餘額(balance)是否已經正確初始化。cleos push action currency issue '' --permission currency@active
cleos get table currency currency accounts可以看到balance的值為1000.0000 cur,初始化成功。
現在我們通過智慧型合約來執行一次轉賬操作,從currency賬戶轉賬20.0000 cur到eosio賬戶。
轉賬之前看看兩個賬戶的餘額。
cleos get table currency currency accountscurrency賬戶的餘額(balance)為1000.0000 cur,而eosio賬戶沒有餘額。cleos get table currency eosio accounts
開始轉賬。
cleos push action currency transfer '' --permission currency@active轉賬完成後,再次查詢餘額,currency賬戶是980,eosio賬戶則是20,轉賬成功。
至此,整個流程結束。
通過官方提供的currency合約,我們體驗了建立錢包 - 建立賬戶 - 執行合約的整個流程,這樣可以讓大家對eos合約的執行步驟有乙個初步印象。
至於在執行過程當中,涉及到一些更細節的問題,比如何編寫智慧型合約,cleos命令的具體語法以及作用,如果暫時不明白也沒有關係,後續的文章我們再一步步的深入學習。
**:
EOSIO開發(二)執行合約樣例
本文將介紹如何使用eosio自帶的合約 currency 實現建立錢包 建立賬戶 執行合約 的完整流程 前一篇文章介紹了如何使用docker搭建並執行eosio本地節點,本文將繼續介紹如何在docker環境下,使用系統自帶的合約 currency 實現建立錢包 建立賬戶 執行合約的完整流程。dock...
每天1點執行的oracle JOB樣例
declare x number begin sys.dbms job.submit job x what syn rpt members relation next date to date 02 07 2008 01 00 00 dd mm yyyy hh24 mi ss interval tr...
spring事務詳解(二)簡單樣例
spring事務詳解 一 初探事務 spring事務詳解 二 簡單樣例 spring事務詳解 三 原始碼詳解 spring事務詳解 四 測試驗證 spring事務詳解 五 總結提高 在spring中,事務有兩種實現方式 程式設計式事務管理 程式設計式事務管理使用底層原始碼可實現更細粒度的事務控制。s...