BIOS BOOT EOS BLOCKCHAIN SETUP

in #eos6 years ago

This guide describes steps BIOS BOOT has to do to setup and load system smart contracts.

You will never have to actually do it in Mainnet since it was done once by ABP. However you will need to do this if you decide to start new Testnet.

This guide doesn't cover snapshot injection and verifications steps. It deserves a big separate post of its own.

Assuming eosio public key used in genesis is EOS88HWhmJ8MPiXV97N3eQwX6mH45K3r5LiVWYBZ62DPbAzvZ7t5u.

1. Install eosio.bios smart contract:

./cleos.sh set contract eosio /home/ubuntu/eos/build/contracts/eosio.bios -p eosio

2. Set eosio as producer:

./cleos.sh push action eosio setprods '{"schedule":[{"producer_name":"eosio","block_signing_key":"'EOS88HWhmJ8MPiXV97N3eQwX6mH45K3r5LiVWYBZ62DPbAzvZ7t5u'"}]}' -p eosio

3. Create system users:

./cleos.sh create account eosio eosio.bpay EOS88HWhmJ8MPiXV97N3eQwX6mH45K3r5LiVWYBZ62DPbAzvZ7t5u

./cleos.sh create account eosio eosio.msig EOS88HWhmJ8MPiXV97N3eQwX6mH45K3r5LiVWYBZ62DPbAzvZ7t5u

./cleos.sh create account eosio eosio.names EOS88HWhmJ8MPiXV97N3eQwX6mH45K3r5LiVWYBZ62DPbAzvZ7t5u

./cleos.sh create account eosio eosio.ram EOS88HWhmJ8MPiXV97N3eQwX6mH45K3r5LiVWYBZ62DPbAzvZ7t5u

./cleos.sh create account eosio eosio.ramfee EOS88HWhmJ8MPiXV97N3eQwX6mH45K3r5LiVWYBZ62DPbAzvZ7t5u

./cleos.sh create account eosio eosio.saving EOS88HWhmJ8MPiXV97N3eQwX6mH45K3r5LiVWYBZ62DPbAzvZ7t5u

./cleos.sh create account eosio eosio.stake EOS88HWhmJ8MPiXV97N3eQwX6mH45K3r5LiVWYBZ62DPbAzvZ7t5u

./cleos.sh create account eosio eosio.token EOS88HWhmJ8MPiXV97N3eQwX6mH45K3r5LiVWYBZ62DPbAzvZ7t5u

./cleos.sh create account eosio eosio.vpay EOS88HWhmJ8MPiXV97N3eQwX6mH45K3r5LiVWYBZ62DPbAzvZ7t5u

4. Install token smart contract:

./cleos.sh set contract eosio.token /home/ubuntu/eos/build/contracts/eosio.token -p eosio.token

5. Install msig smart contract:

./cleos.sh set contract eosio.msig /home/ubuntu/eos/build/contracts/eosio.msig -p eosio.msig

6. Create and init token balance for eosio account:

./cleos.sh push action eosio.token create '["eosio", "10000000000.0000 EOS"]' -p eosio.token

7. Set system contract:

./cleos.sh set contract eosio $CONTRACTS_FOLDER/eosio.system -x 1000 -p eosio
./cleos.sh push action eosio setpriv '["eosio.msig",1]' -p eosio

8. Create new producer account from eosio staking 2 EOS tokens:

./cleos.sh system newaccount --stake-net "1.0000 EOS" --stake-cpu "1.0000 EOS" --buy-ram-kbytes 8 --transfer eosio myproducerac EOS8Jp8o1fyPt18w8SPo2VUEb5aWGqFX6bznKDya3PrLn1s4UyfEV

Sort:  

Congratulations @eluzgin! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of posts published

Click on the badge to view your Board of Honor.
If you no longer want to receive notifications, reply to this comment with the word STOP

To support your work, I also upvoted your post!

Do not miss the last post from @steemitboard!


Participate in the SteemitBoard World Cup Contest!
Collect World Cup badges and win free SBD
Support the Gold Sponsors of the contest: @good-karma and @lukestokes


Do you like SteemitBoard's project? Then Vote for its witness and get one more award!