「區塊鏈研究實驗室」EOSIO dawn4.0註冊、投票技術開發教程

「區塊鏈研究實驗室」EOSIO dawn4.0註冊、投票技術開發教程

EOS 的網絡帶寬和計算資源是通過抵押代幣的方式獲得,如果不需要了可以解除抵押收回原先的代幣。

投票的權重和抵押代幣所獲得的帶寬和計算資源相關,抵押了越多,投票的權重越大。同時投票的權重會隨著時間的推移減少,這個設定鼓勵用戶持續更新自己的投票。

1.啟動節點,創建錢包

$./cleos wallet create PW5KHHECv4bJxXsLocmsSnkdMvMBood5Tnd3KYmWEySfnvY1bqe9b

$./cleos wallet unlock --password PW5KHHECv4bJxXsLocmsSnkdMvMBood5Tnd3KYmWEySfnvY1bqe9b

2.部署eosio合約

系統部署合約之前都需要部署一個bios合約

$./cleos set contract eosio ../../contracts/eosio.bios -p eosio

3.導入私鑰,創建eosio.token賬戶,部署合約

$./cleos wallet import 5JkgLHjSHmT8pWD5vKfH6vjW5jRtekx37rqZpbwF2Au251xqT41

$./cleos create account eosio eosio.token EOS8cMSi7eiGXC8oWcNfYFf83BRToBoKS4Dp46ERA6Hkb1cCwMn42 EOS8cMSi7eiGXC8oWcNfYFf83BRToBoKS4Dp46ERA6Hkb1cCwMn42

注:代碼部分可以滑動

部署eosio.token合約

$./cleos set contract eosio.token ../../contracts/eosio.token/ -p eosio.token

4.創建賬戶,獲得代幣

$./cleos create account eosio bp1 EOS8cMSi7eiGXC8oWcNfYFf83BRToBoKS4Dp46ERA6Hkb1cCwMn42 EOS8cMSi7eiGXC8oWcNfYFf83BRToBoKS4Dp46ERA6Hkb1cCwMn42

給bp1發佈eos幣

$./cleos push action eosio.token create '{"issuer":"eosio", "maximum_supply": "100000000000.0000 EOS", "can_freeze": 0, "can_recall": 0, "can_whitelist": 0}' -p eosio.token

$./cleos push action eosio.token issue '{"to":"bp1","quantity":"100000000.0000 EOS","memo":"issue"}' -p eosio

$./cleos set contract eosio ../../contracts/eosio.system -p eosio

5.創建voter

如果創建賬戶報下面的錯誤

Error 3080001: account using more than allotted RAM usage

Error Details:

account voter has insufficient ram bytes; needs 2996 has 0

可以用newaccount 創建賬戶

$./cleos system newaccount eosio voter EOS8cMSi7eiGXC8oWcNfYFf83BRToBoKS4Dp46ERA6Hkb1cCwMn42 EOS8cMSi7eiGXC8oWcNfYFf83BRToBoKS4Dp46ERA6Hkb1cCwMn42 --stake-net '50.00 EOS' --stake-cpu '50.00 EOS'

創建賬戶之後最好通過命令查看一下當前賬戶中的資源是否充足

$./cleos get table eosio voter userres

如果資源不足可以通過buyram命令買資源

$./cleos system buyram voter voter '1000 EOS'

或者

$./cleos system buyram eosio voter '1000 EOS'

6.給voter發佈eos幣

$./cleos push action eosio.token issue '{"to":"voter","quantity":"10000000000.0000 EOS","memo":"issue"}' -p eosio

7.註冊bp

$./cleos system regproducer bp1 EOS8cMSi7eiGXC8oWcNfYFf83BRToBoKS4Dp46ERA6Hkb1cCwMn42

8.鎖定代幣,換取票數

投票之前必須先換取票數

$./cleos system delegatebw voter voter '25000000.0000 EOS' '25000000.0000 EOS' --transfer

9.投票

$./cleos system voteproducer prods voter bp1

查詢餘額

$./cleos get currency balance eosio.token voter

注:代碼部分可以滑動

10.解鎖eos

解鎖的時候要注意:數量不能大於之前鎖定的數量

$./cleos system undelegatebw voter voter '5000000.0000 EOS' '5000000.0000 EOS'


分享到:


相關文章: