1. 程式人生 > >EOS多主機節點搭建---投票(二)

EOS多主機節點搭建---投票(二)

EOS多主機多節點環境配置
1、建立金鑰對
使用eosio來建立15個使用者,這15個使用者對應的密匙分配如下:
eosio使用者與九個系統使用者共用一對密匙;
三個節點使用者各使用一對密匙;
三個普通使用者各使用一對密匙。

cleos --wallet-url http://127.0.0.1:8900 --url http://127.0.0.1:9800 create key 
eosio與9個系統使用者:
5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3
EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV
三個節點使用者
//producers
Lwz:
$ cleos create key
Private key: 5Jmsawgsp1tQ3GD6JyGCwy1dcvqKZgX6ugMVMdjirx85iv5VyPR
Public key: EOS7ijWCBmoXBi3CgtK7DJxentZZeTkeUnaSDvyro9dq7Sd1C3dC4
Hml:
Private key: 5JjWBaVxKnWpcr857E8dWBr8Duq76M7wzoUEEwAAzzwUjz9Yyqs
Public key: EOS7fu9rx1wtEPnX3jY2ZfezyLwV5Ly29g6nmyTSwtLAQMu4boFJz
//lx
5
JCStvbRgUZ6hjyfUiUaxt5iU3HP6zC1kwx3W7SweaEGvs4EPfQ EOS5n442Qz4yVc4LbdPCDnxNSseAiUCrNjRxAfPhUvM8tWS5svid6
三個普通使用者
//users
//usera
5JtUScZK2XEp3g9gh7F8bwtPTRAkASmNrrftmx4AxDKD5K4zDnr
EOS69X3383RzBZj41k73CSjUNXM5MYGpnDxyPnWUKPEtYQmTBWz4D
//userb
5JUNYmkJ5wVmtVY8x9A1KKzYe9UWLZ4Fq1hzGZxfwfzJB8jkw6u
EOS7yBtksm8Kkg85r4in4uCbfN77uRwe82apM8jjbhFVDgEgz3w8S
//userc
5K6LU8aVpBq9vJsnpCvaHCcyYwzPPKXfDdyefYyAMMs3Qy42fUr EOS7WnhaKwHpbSidYuh2DF1qAExTRUtPEdZCaZqt75cKcixuQUtdA //userd Private key: 5J3YfeBZoF4GwvUZaBtfnQfgGEhhP8GRu6WdUSW2BuXKG31pwHv Public key: EOS5JoXVRC8xgDAPy4h6haiW7cRoYnYAQrxG4HhUdHyT8FirMaPf7

2、建立錢包並匯入金鑰對

cleos --wallet-url http://127.0.0.1:8900 --url http://127.0.0.1:9800  wallet create
cleos --wallet-url http://127.0.0.1:8900 --url http://127.0.0.1:9800  wallet import --private-key

3、建立9個系統使用者:
這九個系統使用者的名稱及其作用如下說明:
eosio.msig:多重簽名管理的賬戶;
eosio.token:發行和管理token的賬戶;
eosio.names:靚號賬戶拍賣管理的賬戶;
eosio.ram:記憶體買賣管理的賬戶;
eosio.ramfee:記憶體買賣收取手續費的賬戶,按照每筆交易千分之5的費率收取手續費;
eosio.saving:增發EOS臨時存放賬戶,增發總量 5%,其中80%放在此賬戶,另外 20%再分成25%和75%,分別給eosio.bpay和eosio.vpay;
eosio.stake:管理EOS抵押的賬戶;
eosio.vpay:礦工按照獲得投票多少比例獲取獎勵的臨時代管賬戶,增發EOS的1%的75%會先轉到這個賬戶.
eosio.bpay:礦工獲取出塊獎勵的臨時代管賬戶,增發EOS的1%的25%會先轉到這個賬戶;

cleos --wallet-url http://127.0.0.1:8900 --url http://172.20.22:9800 create account eosio eosio.msig  PUB_KEY

4、載入eosio.token 、eosio.msig、eosio.system 合約 && 發行代幣

cleos --wallet-url http://127.0.0.1:8900 --url http://172.20.22:9800 set contract eosio.token ~/eos/build/contracts/eosio.token/
cleos --wallet-url http://127.0.0.1:8900 --url http://172.20.22:9800 set contract eosio.msig  ~/eos/build/contracts/eosio.msig/
cleos --wallet-url http://127.0.0.1:8900 --url http://172.20.22:9800  on eosio.token create '["eosio", "1000000000.0000 SYS"]' -p eosio.token
cleos --wallet-url http://127.0.0.1:8900 --url http://172.20.22:9800  push action eosio.token issue '["eosio", "1000000000.0000 SYS", "memo"]' -p eosio
//必須在issue 動作之後,否則報Error 3050003: eosio_assert_message assertion failure
cleos --wallet-url http://127.0.0.1:8900 --url http://172.20.22:9800 set contract eosio.system ~/eos/build/contracts/eosio.system/
cleos --wallet-url http://127.0.0.1:8900 --url http://10.186.11.211:8888 push action eosio setpriv '["eosio.msig", 1]' -p eosio@active

6、建立普通使用者

cleos --wallet-url http://127.0.0.1:8900 --url http://172.20.22:9800 system newaccount --transfer eosio USER_NMAE  PUB_KEY --stake-net "50000000.0000 SYS" --stake-cpu "50000000.0000 SYS" --buy-ram "20000.0000 SYS"   
cleos --wallet-url http://127.0.0.1:8900 --url http://172.20.22:9800  transfer eosio usera "20000.0000 SYS"

7、註冊lwz 、hml 、lx 為生產者

cleos --wallet-url http://127.0.0.1:8900 --url http://172.20.22:9800  system regproducer lwz PUB_KEY

8、啟動lwz 、hml 、lx 的nodes
9、投票

//檢視已有投票結果
cleos --wallet-url http://127.0.0.1:8900 --url http://172.20.22:9800 system listproducers
//投票
cleos --wallet-url http://127.0.0.1:8900 --url http://172.20.22:9800 system voteproducer prods usera lwz  
cleos --wallet-url http://127.0.0.1:8900 --url http://172.20.22:9800 system voteproducer prods userb hml 
cleos --wallet-url http://127.0.0.1:8900 --url http://172.20.22:9800 system voteproducer prods userc lx 
//檢視最新投票結果,預期為3個輪流產塊
cleos --wallet-url http://127.0.0.1:8900 --url http://172.20.22:9800 system listproducers

所有代幣的15%進行投票後eosio會停止出塊,主網會自動啟動。在這裡我們的代幣資料數量總共是10億,那麼我們的主網啟動需要1.5億質押的代幣進行投票後才能啟動