go-ethereum/geth-poa
2024-02-26 22:30:33 -08:00
..
local-l1 fund 5 bridge emulator accounts on local l1 genesis 2024-02-07 17:55:46 -08:00
signer-node1/keystore refactor: regenerate signer1 and signer2 keystores 2024-02-19 11:38:06 -03:00
signer-node2/keystore refactor: regenerate signer1 and signer2 keystores 2024-02-19 11:38:06 -03:00
signer-node3/keystore feat: add third signer node 2024-02-25 12:49:52 -03:00
util fix: issues reported by shellcheck 2024-02-19 20:14:48 -03:00
.env.example added keystore support 2024-02-03 12:03:54 +08:00
.gitignore merging geth-poa into go-ethereum repo 2023-11-30 18:07:09 -08:00
add_member.sh added several scripts 2024-02-10 20:56:38 +08:00
add_signer.md added several scripts 2024-02-10 20:56:38 +08:00
add_signer.sh added several scripts 2024-02-10 20:56:38 +08:00
docker-compose-add-member.yml added several scripts 2024-02-10 20:56:38 +08:00
docker-compose-add-signer.yml added several scripts 2024-02-10 20:56:38 +08:00
docker-compose.yml fix ip and port overlap between signers 2024-02-26 22:30:33 -08:00
Dockerfile Update Dockerfile 2023-12-21 04:33:01 -08:00
entrypoint.sh feat: add third signer node 2024-02-25 12:49:52 -03:00
export_chaindata.md added several scripts 2024-02-10 20:56:38 +08:00
export_chaindata.sh added several scripts 2024-02-10 20:56:38 +08:00
genesis.json fix: poa genesis file to include third signer node 2024-02-25 15:00:27 -03:00
Makefile added keystore support 2024-02-03 12:03:54 +08:00
README.md added keystore support 2024-02-03 12:03:54 +08:00
SignerNode1Dockerfile get rid of redundant genesis-keystore 2024-02-03 15:25:25 +08:00
SignerNode2Dockerfile get rid of redundant genesis-keystore 2024-02-03 15:25:25 +08:00
SignerNode3Dockerfile feat: add third signer node 2024-02-25 12:49:52 -03:00
stop_member.sh added several scripts 2024-02-10 20:56:38 +08:00
stop_signer.sh added several scripts 2024-02-10 20:56:38 +08:00

geth-poa

Tool for spinning up a POA ethereum sidechain.

Metrics

Metrics recorded by bootnode are exposed to host at http://127.0.0.1:6060/debug/metrics

Key Summary

All relevant accounts are funded on sidechain genesis, you may need to fund these accounts on L1 with faucets. See hyperlane docs.

POA signers

Node1

Address: 0xd9cd8E5DE6d55f796D980B818D350C0746C25b97

Node2

Address: 0x788EBABe5c3dD422Ef92Ca6714A69e2eabcE1Ee4

Create2 Deployment Proxy

A Create2 deployment proxy is can be deployed to this chain at 0x4e59b44847b379578588920ca78fbf26c0b4956c. see more here. Note this proxy is required to deploy the whitelist bridge contract, and is consistent to foundry's suggested process for create2 deployment. The deployment signer, 0x3fab184622dc19b6109349b94811493bf2a45362 is funded on genesis.

Local Run

  1. To run the local setup, set the .env file with the keys specified in .env.example.
  2. Run $ make up-dev-build to run the whole stack including bridge, or $ make up-dev-settlement to bring up only the settlement layer.

Starter .env file

The chain must be started with two private keys for POA signers.

.env file should look like:

NODE1_PRIVATE_KEY=0xpk1
NODE2_PRIVATE_KEY=0xpk2

Or if you will use keystore to store private keys, you will need to submit password in .env file:

MEV_COMMIT_GETH_PASSWORD=primev

To get a standard starter .env file from primev internal development, click here., populate only the NODE1_PRIVATE_KEY and NODE2_PRIVATE_KEY fields.