針對(duì)智能合約 eosio.system 的 cleos 常用命令
發(fā)送合約 eosio.system 的 action 到區(qū)塊鏈。使用方式 cleos system SUBCOMMAND。
1. 編譯 & 部署
1.1 編譯
1.2 部署
2. action
2.1 newaccount
在區(qū)塊鏈上創(chuàng)建一個(gè)新的賬戶,并初始化資源。使用方式 cleos system newaccount [OPTIONS] creator name OwnerKey [ActiveKey]。
$ cleos system newaccount eosio windstamp EOS82MG6DQqUCuwwcF2dfUs4uvSqLNqgpUCEyCpg35TAZ411R4gzv --stake-net "1 EOS" --stake-cpu "1 EOS" --buy-ram "1 EOS" -p eosio@active
executed transaction: 4775bcf312e1db4bbb108483faf4cf1d9fa7a891bc5744827df2608be10da256 344 bytes 1790 us
$ cleos system newaccount eosio furnace EOS82MG6DQqUCuwwcF2dfUs4uvSqLNqgpUCEyCpg35TAZ411R4gzv --stake-net "1 EOS" --stake-cpu "1 EOS" --buy-ram "1 EOS" -p windstamp@active
其中:
- eosio 表示智能合約 eosio.system
- windstamp 表示待創(chuàng)建的新賬戶名稱
- EOS82MG6DQqUCuwwcF2dfUs4uvSqLNqgpUCEyCpg35TAZ411R4gzv 表示公鑰,這里同時(shí)用于 owner 和 active
- --stake-net "10 EOS" 表示質(zhì)押 10 個(gè) EOS 用于帶寬
- --stake-cpu "10 EOS" 表示質(zhì)押 10 個(gè) EOS 用于 CPU
- --buy-ram "10 EOS" 表示購(gòu)買 10 個(gè) EOS 對(duì)應(yīng)的內(nèi)存
2.2 regproducer
注冊(cè)一個(gè)新的生產(chǎn)者。使用方式 cleos system regproducer [OPTIONS] account producer_key [url] [location]。
$ cleos system regproducer alice EOS84BLRbGbFahNJEpnnJHYCoW9QPbQEk2iHsHGGS6qcVUq9HhutG "alice.com" 0
executed transaction: 35dd245e2d8bdbd0ab9a5bba01445b57daa6f6be4f3b50663765c91cff7c1bf4 152 bytes 465 us
# eosio <= eosio::regproducer {"producer":"alice","producer_key":"EOS84BLRbGbFahNJEpnnJHYCoW9QPbQEk2iHsHGGS6qcVUq9HhutG","url":"al...
warning: transaction executed locally, but may not be confirmed by the network yet ]
$ cleos push action eosio regproducer '{"producer" : "alice", "producer_key" : "EOS84BLRbGbFahNJEpnnJHYCoW9QPbQEk2iHsHGGS6qcVUq9HhutG", "url" : "alice.com", "location" : 1}' -p alice@active
executed transaction: 15412008a755d65b1bfda07ed023383e5f0f7adafb8f49ab9430240f85aaf5af 152 bytes 455 us
# eosio <= eosio::regproducer {"producer":"alice","producer_key":"EOS84BLRbGbFahNJEpnnJHYCoW9QPbQEk2iHsHGGS6qcVUq9HhutG","url":"al...
warning: transaction executed locally, but may not be confirmed by the network yet ]
2.3 unregprod
取消注冊(cè)一個(gè)已有的生產(chǎn)者。使用方式 cleos system unregprod [OPTIONS] account。
$ cleos system unregprod alice
executed transaction: 799e5beef1c48f53b1587b1014e3784642b35f28f2d9e6d216e53bb8b639636e 104 bytes 449 us
# eosio <= eosio::unregprod {"producer":"alice"}
warning: transaction executed locally, but may not be confirmed by the network yet ]
2.4 voteproducer
投票一個(gè)生產(chǎn)者。使用方式 cleos system voteproducer [OPTIONS] SUBCOMMAND。
$ cleos -v push action eosio voteproducer '{"voter" : "alice", "proxy" : "", "producers" : ["node1"]}' -p alice@active
2.4.1 proxy
通過代理進(jìn)行投票,即先投票給代理,再由代理投票給生產(chǎn)者。使用方式 cleos system voteproducer proxy [OPTIONS] voter proxy。
$ cleos system voteproducer proxy alice windstamp
2.4.2 prods
投票給一個(gè)或多個(gè)生產(chǎn)者。使用方式 cleos system voteproducer prods [OPTIONS] voter producers...。
$ cleos system voteproducer prods bob alice
2.4.3 approve
添加一個(gè)生產(chǎn)者到已投票的生產(chǎn)者列表。使用方式 cleos system voteproducer approve [OPTIONS] voter producer。
$ cleos system voteproducer approve bob alice
2.4.4 unapprove
從生產(chǎn)者列表中移除一個(gè)生產(chǎn)者。使用方式 cleos system voteproducer unapprove [OPTIONS] voter producer。
$ cleos system voteproducer unapprove bob alice
2.5 listproducers
列出生產(chǎn)者列表。使用方式 cleos system listproducers [OPTIONS]。
$ cleos system listproducers
2.6 delegatebw
質(zhì)押資源,比如:CPU、網(wǎng)絡(luò)帶寬。使用方式 cleos system delegatebw [OPTIONS] from receiver stake_net_quantity stake_cpu_quantity。
$ cleos system delegatebw alice alice "1.0000 EOS" "1.0000 EOS"
$ cleos -v push action eosio delegatebw '{"from" : "alice", "receiver" : "alice", "stake_net_quantity" : "1.0000 EOS", "stake_cpu_quantity" : "1.0000 EOS", "transfer" : 0}' -p alice@active
2.7 undelegatebw
取消資源質(zhì)押,比如:CPU、網(wǎng)絡(luò)帶寬。使用方式 cleos system undelegatebw [OPTIONS] from receiver unstake_net_quantity unstake_cpu_quantity。
$ cleos system undelegatebw alice alice "1.0000 EOS" "1.0000 EOS"
2.8 listbw
列出質(zhì)押的資源。使用方式 cleos system listbw [OPTIONS] account。
$ cleos system listbw alice
2.9 bidname
名字綁定。使用方式 cleos system bidname [OPTIONS] bidder newname bid。
$ cleos system bidname alice aliceson "100.0000 EOS"
2.10 bidnameinfo
獲取綁定名字的信息。使用方式 cleos system bidnameinfo [OPTIONS] newname。
$ cleos system bidnameinfo aliceson
2.13.11 buyram
購(gòu)買內(nèi)存。使用方式 cleos system buyram [OPTIONS] payer receiver amount。
$ cleos system buyram alice alice "100.0000 EOS"
$ cleos system buyram alice alice 1000 --bytes
$ cleos system buyram alice alice 1000 --kbytes
$ cleos -v push action eosio buyrambytes '{"payer" : "alice", "receiver" : "alice", "bytes" : 10000}' -p alice@active
$ cleos -v push action eosio buyram '{"payer" : "alice", "receiver" : "alice", "quant" : "100.0000 EOS"}' -p alice@active
2.12 sellram
出售內(nèi)存。使用方式 cleos system sellram [OPTIONS] account bytes。
$ cleos system sellram alice 1000
2.13 claimrewards
領(lǐng)取生產(chǎn)者獎(jiǎng)勵(lì)。使用方式 cleos system claimrewards [OPTIONS] owner。
$ cleos system claimrewards eosio
$ cleos -v push action eosio claimrewards '{"owner":"eosio"}' -p eosio@active
$ cleos -v push action eosio claimrewards '{"owner":"node1"}' -p eosio@active
2.14 regproxy
注冊(cè)成為代理。使用方式 cleos system regproxy [OPTIONS] proxy。
$ cleos system regproxy windstamp
$ cleos -v push action eosio regproxy '{"proxy" : "inita", "isproxy" : true}' -p inita@active
2.15 unregproxy
取消注冊(cè)成為代理。使用方式 cleos system unregproxy [OPTIONS] proxy。
$ cleos system unregproxy windstamp
2.16 canceldelay
取消一個(gè)延遲的交易。使用方式 cleos system canceldelay [OPTIONS] canceling_account canceling_permission trx_id。
$ cleos system canceldelay alice active 4d20a431f0232f374308ca46c430f5363d54b2da07226c180e23a9120a1ff2c1
@TODO
2.17 rex
與 REX 相關(guān)的操作。使用方式 cleos system rex [OPTIONS] SUBCOMMAND。
2.17.1 deposit
2.17.2 withdraw
2.17.3 buyrex
2.17.4 lendrex
2.17.5 unstaketorex
2.17.6 sellrex
2.17.7 cancelrexorder
2.17.8 mvtosavings
2.17.9 mvfromsavings
2.17.10 rentcpu
2.17.11 rentnet
2.17.12 fundcpuloan
2.17.13 fundnetloan
2.17.14 defundcpuloan
2.17.15 defundnetloan
2.17.16 consolidate
2.17.17 updaterex
2.17.18 rexexec
2.17.19 closerex
Reference
- eosio.system合約分析, https://blog.csdn.net/yhc166188/article/details/82751511
- EOS 投票合約,終于等到你。, https://cloud.tencent.com/developer/article/1121478
項(xiàng)目源代碼
項(xiàng)目源代碼會(huì)逐步上傳到 Github,地址為 https://github.com/windstamp/blockchain。
Contributor
- Windstamp, https://github.com/windstamp