fixturenet-eth-stacks/stack-orchestrator/stacks/fixturenet-eth
2024-05-02 17:14:25 -05:00
..
README.md No statediff 2024-05-02 17:14:25 -05:00
stack.yml Switch to geth v1.14 2024-05-02 17:09:39 -05:00

fixturenet-eth

TODO: update this doc to use a deployment.

Instructions for deploying a local a geth + lighthouse blockchain "fixturenet" for development and testing purposes using laconic-stack-orchestrator (the installation of which is covered here):

Clone the stack repo

$ laconic-so fetch-stack git.vdb.to/cerc-io/fixturenet-eth-stacks

Clone required repositories

$ laconic-so --stack ~/cerc/fixturenet-eth-stacks/stacks/fixturenet-eth setup-repositories

Build the fixturenet-eth containers

$ laconic-so --stack ~/cerc/fixturenet-eth-stacks/stacks/fixturenet-eth build-containers

This should create several container images in the local image registry:

  • cerc/go-ethereum
  • cerc/lighthouse
  • cerc/fixturenet-eth-geth
  • cerc/fixturenet-eth-lighthouse

Deploy the stack

$ laconic-so --stack ~/cerc/fixturenet-eth-stacks/stacks/fixturenet-eth deploy up

Check status

$ laconic-so --stack ~/cerc/fixturenet-eth-stacks/stacks/fixturenet-eth deploy exec fixturenet-eth-bootnode-lighthouse /scripts/status-internal.sh
Waiting for geth to generate DAG.... done
Waiting for beacon phase0.... done
Waiting for beacon altair.... done
Waiting for beacon bellatrix pre-merge.... done
Waiting for beacon bellatrix merge.... done

$ laconic-so --stack ~/cerc/fixturenet-eth-stacks/stacks/fixturenet-eth deploy ps
Running containers:
id: c6538b60c0328dadfa2c5585c4d09674a6a13e6d712ff1cd82a26849e4e5679b, name: laconic-b12fa16e999821562937781f8ab0b1e8-fixturenet-eth-bootnode-geth-1, ports: 0.0.0.0:58909->30303/tcp, 0.0.0.0:58910->9898/tcp
id: 5b70597a8211bc7e78d33e50486cb565a7f4a9ce581ce150b3bb450e342bdeda, name: laconic-b12fa16e999821562937781f8ab0b1e8-fixturenet-eth-bootnode-lighthouse-1, ports:
id: 19ed78867b6c534d893835cdeb1e89a9ea553b8e8c02ab02468e4bd1563a340f, name: laconic-b12fa16e999821562937781f8ab0b1e8-fixturenet-eth-geth-1-1, ports: 0.0.0.0:58911->40000/tcp, 0.0.0.0:58912->6060/tcp, 0.0.0.0:58913->8545/tcp
id: 8da0e30a1ce33122d8fd2225e4d26c7f30eb4bfbfa743f2af04d9db5d0bf7fa6, name: laconic-b12fa16e999821562937781f8ab0b1e8-fixturenet-eth-geth-2-1, ports:
id: 387a42a14971034588ba9aeb9b9e2ca7fc0cc61b96f8fe8c2ab770c9d6fb1e0f, name: laconic-b12fa16e999821562937781f8ab0b1e8-fixturenet-eth-lighthouse-1-1, ports: 0.0.0.0:58917->8001/tcp
id: de5115bf89087bae03b291664a73ffe3554fe23e79e4b8345e088b040d5580ac, name: laconic-b12fa16e999821562937781f8ab0b1e8-fixturenet-eth-lighthouse-2-1, ports:
id: 2a7e5a0fb2be7fc9261a7b725a40818facbbe6d0cb2497d82c0e02de0a8e959b, name: laconic-b12fa16e999821562937781f8ab0b1e8-foundry-1, ports:

$ laconic-so --stack ~/cerc/fixturenet-eth-stacks/stacks/fixturenet-eth deploy exec foundry "cast block-number"
3

Clean up

Stop all services running in the background:

$ laconic-so --stack ~/cerc/fixturenet-eth-stacks/stacks/fixturenet-eth deploy down

Clear volumes created by this stack:

# List all relevant volumes
$ docker volume ls -q --filter "name=.*fixturenet_eth_bootnode_geth_data|.*fixturenet_eth_geth_1_data|.*fixturenet_eth_geth_2_data|.*fixturenet_eth_lighthouse_1_data|.*fixturenet_eth_lighthouse_2_data"

# Remove all the listed volumes
$ docker volume rm $(docker volume ls -q --filter "name=.*fixturenet_eth_bootnode_geth_data|.*fixturenet_eth_geth_1_data|.*fixturenet_eth_geth_2_data|.*fixturenet_eth_lighthouse_1_data|.*fixturenet_eth_lighthouse_2_data")