Skip to content

snp-labs/ethereum-poa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ethereum-poa

Construct BootStrap 1 and 3 Validators

Start bootstrap

bash script.sh start boot

Generate account

bash script.sh account peer [0~2]

Remember the password and write it in the password file of the project.

If the peer's password is different, split the password file and save it and change the PWDPATH option in the config.json file.

ex)

$ echo "yourpassword" > password
$ echo "yourpassword" > password1
$ echo "yourpassword" > password2

in projectroot/config.json, check "PEER[0~n].PWDPATH"

"PWDPATH":"PasswordFilePath"




Generate genesis.json (In remote, You only need to run it once on a single computer, not all computer)

./release/puppeth
Please specify a network name to administer (no spaces, hyphens or capital letters please)
> geth_poa
What would you like to do? (default = stats)
 1. Show network stats
 2. Configure new genesis
 3. Track new remote server
 4. Deploy network components
> 2
What would you like to do? (default = create)
 1. Create new genesis from scratch
 2. Import already existing genesis
> 1
Which consensus engine to use? (default = clique)
 1. Ethash - proof-of-work
 2. Clique - proof-of-authority
> 2
How many seconds should blocks take? (default = 15)
> 5
Which accounts are allowed to seal? (mandatory at least one)
> 0x{Peer 0 accountaddress}
> 0x
Which accounts should be pre-funded? (advisable at least one)
> 0x{Peer 0 accountaddress}
> 0x
Should the precompile-addresses (0x1 .. 0xff) be pre-funded with 1 wei? (advisable yes)
> 
Specify your chain/network ID if you want an explicit one (default = random)
> 111
What would you like to do? (default = stats)
 1. Show network stats
 2. Manage existing genesis
 3. Track new remote server
 4. Deploy network components
> 2
 1. Modify existing configurations
 2. Export genesis configurations
 3. Remove genesis configuration
> 2
Which folder to save the genesis spec into? (default = current)
  Will create geth_poa.json
> 
INFO [11-07|15:45:46.194] Saved native genesis chain spec          path=geth_poa.json

console exit : Ctrl + D

If you run Ethereum network by remote (other PC) you must have TODO:

Copy geth_poa.json file to all peer computers except bootstrap node




Init Genesis Block

bash script.sh init peer [0~2]

Start Peer 0 and Add Validater Peer 1

bash script.sh start peer
bash script.sh attach peer
> clique.propose('0x{peer1 node's Address},true)
> clique.getSigners()           // Check the list of validators
> exit

Start Peer 0 and Add Validater Peer 2

bash script.sh start peer 1
bash script.sh attach peer
> clique.propose('0x{peer2 node's Address},true)
> clique.getSigners()           // Check the list of validators
> exit
bash script.sh attach peer
> clique.propose('0x{peer2 node's Address},true)
> clique.getSigners()           // Check the list of validators
> exit

Start Peer 2

bash script.sh start peer 2
> clique.getSigners()           // Check the list of validators
> exit

Releases

No releases published

Packages

No packages published

Languages