4.2 KiB
nitro-node demo
Setup
Fixturenet eth stack
-
Clone the stack repo:
laconic-so fetch-stack git.vdb.to/cerc-io/fixturenet-eth-stacks --pull
-
Clone required repositories:
laconic-so --stack ~/cerc/fixturenet-eth-stacks/stack-orchestrator/stacks/fixturenet-eth setup-repositories --pull # If this throws an error as a result of being already checked out to a branch/tag in a repo, remove all repositories from that stack and re-run the command # The repositories are located in $HOME/cerc by default
-
Build the container images:
# Remove any older foundry image with `latest` tag docker rmi ghcr.io/foundry-rs/foundry:latest laconic-so --stack ~/cerc/fixturenet-eth-stacks/stack-orchestrator/stacks/fixturenet-eth build-containers --force-rebuild # If errors are thrown during build, old images used by this stack would have to be deleted
-
NOTE: this will take >10 mins depending on the specs of your machine, and requires 16GB of memory or greater.
-
Remove any dangling Docker images (to clear up space):
docker image prune
-
-
Create spec files for deployment, which will map the stack's ports and volumes to the host:
laconic-so --stack ~/cerc/fixturenet-eth-stacks/stack-orchestrator/stacks/fixturenet-eth deploy init --output fixturenet-eth-spec.yml
-
Configure ports:
-
fixturenet-eth-spec.yml
... network: ports: fixturenet-eth-bootnode-geth: - '9898:9898' - '30303' fixturenet-eth-geth-1: - '8545:8545' - '8546:8546' - '40000' - '6060' fixturenet-eth-lighthouse-1: - '8001' ...
-
-
Create deployments: Once you've made any needed changes to the spec files, create deployments from them:
laconic-so --stack ~/cerc/fixturenet-eth-stacks/stack-orchestrator/stacks/fixturenet-eth deploy create --spec-file fixturenet-eth-spec.yml --deployment-dir fixturenet-eth-deployment
-
Env configuration:
cat <<EOF > fixturenet-eth-deployment/config.env CERC_ALLOW_UNPROTECTED_TXS=true EOF
Go-nitro
-
Clone the stack repo:
laconic-so fetch-stack git.vdb.to/cerc-io/nitro-stack --git-ssh --pull
-
Clone required repositories:
laconic-so --stack ~/cerc/nitro-stack/stack-orchestrator/stacks/nitro-node setup-repositories --git-ssh --pull
-
Build the container images:
laconic-so --stack ~/cerc/nitro-stack/stack-orchestrator/stacks/nitro-node build-containers --force-rebuild
Run
-
Start fixturenet-eth stack: (run steps in directory where the stack deployments had been created)
-
Start
fixturenet-eth-deployment
deployment:laconic-so deployment --dir fixturenet-eth-deployment start
-
Check status of L1
-
Run status check:
laconic-so deployment --dir fixturenet-eth-deployment exec fixturenet-eth-bootnode-lighthouse "/scripts/status-internal.sh"
-
Check geth logs to ensure that new blocks are getting created
laconic-so deployment --dir fixturenet-eth-deployment logs -f fixturenet-eth-geth-1
-
-
-
-
Deploy nitro contracts
-
Create a deployment spec-file for nitro contract:
laconic-so --stack ~/cerc/nitro-stack/stack-orchestrator/stacks/nitro-contracts deploy init --output nitro-contracts-spec.yml --config "GETH_URL=http://host.docker.internal:8545,OPTIMISM_URL=http://host.docker.internal:9545,GETH_DEPLOYER_PK=888814df89c4358d7ddb3fa4b0213e7331239a80e1f013eaa7b2deca2a41a218,TOKEN_NAME=LaconicNetworkToken,TOKEN_SYMBOL=LNT,INITIAL_TOKEN_SUPPLY=129600"
-
Create a deployment
nitro-contracts
from the spec filelaconic-so --stack ~/cerc/nitro-stack/stack-orchestrator/stacks/nitro-contracts deploy create --spec-file nitro-contracts-spec.yml --deployment-dir nitro-contracts-deployment
-
Start
nitro-contracts
deployment:laconic-so deployment --dir nitro-contracts-deployment start # Check the logs laconic-so deployment --dir nitro-contracts-deployment logs nitro-contracts -f
-