Update nitro-node stack setup (#5)

* Rename service for nitro node

* Update nitro node setup

* Rename nitro-contracts image to nitro-client

* Fix nitro node config setup

* Add env variable for deterministic deployment

* Keep nitro-contracts service running

* Start nitro-bridge service after asset file is ready

* Update environment variables for all services

* Use quotes for bridge address

* Update nitro-node and bridge stack readme

* Fix nitro-node readme

---------

Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-authored-by: IshaVenikar <ishavenikar7@gmail.com>
This commit is contained in:
Adwait Gharpure
2024-07-23 12:23:48 +05:30
committed by nabarun
co-authored by prathamesh IshaVenikar
parent ce2258db07
commit e3a8b25850
17 changed files with 251 additions and 139 deletions
@@ -1,27 +0,0 @@
name: go-nitro
services:
go-nitro:
image: cerc/go-nitro:local
hostname: go-nitro
restart: on-failure
environment:
CERC_NITRO_CHAIN_URL: ${CERC_NITRO_CHAIN_URL}
CERC_NITRO_PK: ${CERC_NITRO_PK}
CERC_NITRO_CHAIN_PK: ${CERC_NITRO_CHAIN_PK}
CERC_NITRO_MSG_PORT: ${CERC_NITRO_MSG_PORT}
CERC_NITRO_RPC_PORT: ${CERC_NITRO_RPC_PORT}
CERC_NA_ADDRESS: ${CERC_NA_ADDRESS}
CERC_VPA_ADDRESS: ${CERC_VPA_ADDRESS}
CERC_CA_ADDRESS: ${CERC_CA_ADDRESS}
CERC_BOOT_PEERS: ${CERC_BOOT_PEERS}
CERC_PUBLIC_IP: ${CERC_PUBLIC_IP:-127.0.0.1}
entrypoint: ["bash", "-c", "/app/run-nitro-node.sh"]
volumes:
- ../config/go-nitro/run-nitro-node.sh:/app/run-nitro-node.sh
ports:
- 3006:3006
- 4006:4006
- 5006:5006
extra_hosts:
- "host.docker.internal:host-gateway"
@@ -1,4 +1,4 @@
name: bridge
name: nitro-bridge
services:
nitro-bridge:
@@ -6,22 +6,21 @@ services:
hostname: nitro-bridge
restart: unless-stopped
depends_on:
# Wait for Nitro contracts to be deployed
nitro-contracts:
condition: service_completed_successfully
condition: service_started
environment:
CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
CERC_GETH_CHAIN_ID: ${CERC_GETH_CHAIN_ID:-1212}
CERC_OPTIMISM_CHAIN_ID: ${CERC_OPTIMISM_CHAIN_ID:-42069}
CERC_NITRO_L1_CHAIN_URL: ${CERC_NITRO_L1_CHAIN_URL}
CERC_NITRO_L2_CHAIN_URL: ${CERC_NITRO_L2_CHAIN_URL}
CERC_NITRO_CHAIN_PK: ${CERC_NITRO_CHAIN_PK}
CERC_NITRO_SC_PK: ${CERC_NITRO_SC_PK}
CERC_NITRO_L1_MSG_PORT: ${CERC_NITRO_L1_MSG_PORT:-3005}
CERC_NITRO_L2_MSG_PORT: ${CERC_NITRO_L2_MSG_PORT:-3006}
CERC_NITRO_RPC_PORT: ${CERC_NITRO_RPC_PORT:-4006}
CERC_NITRO_PUBLIC_P2P_HOST: ${CERC_NITRO_PUBLIC_P2P_HOST:-127.0.0.1}
CERC_NITRO_PUBLIC_RPC_HOST: nitro-bridge
GETH_CHAIN_ID: ${GETH_CHAIN_ID:-1212}
OPTIMISM_CHAIN_ID: ${OPTIMISM_CHAIN_ID:-42069}
NITRO_L1_CHAIN_URL: ${NITRO_L1_CHAIN_URL}
NITRO_L2_CHAIN_URL: ${NITRO_L2_CHAIN_URL}
NITRO_CHAIN_PK: ${NITRO_CHAIN_PK}
NITRO_SC_PK: ${NITRO_SC_PK}
NITRO_L1_MSG_PORT: ${NITRO_L1_MSG_PORT:-3005}
NITRO_L2_MSG_PORT: ${NITRO_L2_MSG_PORT:-3006}
NITRO_RPC_PORT: ${NITRO_RPC_PORT:-4006}
NITRO_PUBLIC_P2P_HOST: ${NITRO_PUBLIC_P2P_HOST:-127.0.0.1}
NITRO_PUBLIC_RPC_HOST: nitro-bridge
entrypoint: ["bash", "-c", "/app/run-bridge.sh"]
volumes:
- nitro_bridge_data:/app/data
@@ -3,19 +3,20 @@ name: nitro-contracts
services:
# Optionally deploys the Nitro contracts
nitro-contracts:
image: cerc/nitro-contracts:local
image: cerc/nitro-client:local
restart: on-failure
environment:
CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
CERC_GETH_URL: ${CERC_GETH_URL}
CERC_OPTIMISM_URL: ${CERC_OPTIMISM_URL}
CERC_GETH_CHAIN_ID: ${CERC_GETH_CHAIN_ID:-1212}
CERC_OPTIMISM_CHAIN_ID: ${CERC_OPTIMISM_CHAIN_ID:-42069}
CERC_GETH_DEPLOYER_PK: ${CERC_GETH_DEPLOYER_PK}
CERC_OPTIMISM_DEPLOYER_PK: ${CERC_GETH_DEPLOYER_PK}
CERC_TOKEN_NAME: ${CERC_TOKEN_NAME}
CERC_TOKEN_SYMBOL: ${CERC_TOKEN_SYMBOL}
CERC_INITIAL_TOKEN_SUPPLY: ${CERC_INITIAL_TOKEN_SUPPLY}
GETH_URL: ${GETH_URL}
OPTIMISM_URL: ${OPTIMISM_URL}
GETH_CHAIN_ID: ${GETH_CHAIN_ID:-1212}
OPTIMISM_CHAIN_ID: ${OPTIMISM_CHAIN_ID:-42069}
GETH_DEPLOYER_PK: ${GETH_DEPLOYER_PK}
OPTIMISM_DEPLOYER_PK: ${GETH_DEPLOYER_PK}
TOKEN_NAME: ${TOKEN_NAME}
TOKEN_SYMBOL: ${TOKEN_SYMBOL}
INITIAL_TOKEN_SUPPLY: ${INITIAL_TOKEN_SUPPLY}
DISABLE_DETERMINISTIC_DEPLOYMENT: ${DISABLE_DETERMINISTIC_DEPLOYMENT:-true}
volumes:
- nitro_deployment:/app/deployment
- ../config/nitro-contracts/deploy.sh:/app/deploy.sh
@@ -0,0 +1,45 @@
name: nitro-node
services:
nitro-node:
image: cerc/go-nitro:local
hostname: nitro-node
restart: on-failure
environment:
NITRO_USE_DURABLE_STORE: true
NITRO_MSG_PORT: ${NITRO_MSG_PORT:-3005}
NITRO_RPC_PORT: ${NITRO_RPC_PORT:-4005}
NITRO_SC_PK: ${NITRO_SC_PK}
NITRO_CHAIN_PK: ${NITRO_CHAIN_PK}
NITRO_CHAIN_URL: ${NITRO_CHAIN_URL}
NITRO_BOOTPEERS: ${NITRO_BOOTPEERS}
NITRO_PUBLIC_P2P_HOST: ${NITRO_PUBLIC_P2P_HOST:-127.0.0.1}
NITRO_L2: ${NITRO_L2:-false}
NA_ADDRESS: ${NA_ADDRESS}
CA_ADDRESS: ${CA_ADDRESS}
VPA_ADDRESS: ${VPA_ADDRESS}
BRIDGE_ADDRESS: ${BRIDGE_ADDRESS}
NITRO_PUBLIC_RPC_HOST: nitro-node
entrypoint: ["bash", "-c", "/app/run-nitro-node.sh"]
volumes:
- nitro_node_data:/app/data
- nitro_node_tls:/app/tls
- nitro_node_caroot:/app/mkcert-caroot
- ../config/go-nitro/run-nitro-node.sh:/app/run-nitro-node.sh
- ../config/go-nitro/create-certs.sh:/app/create-certs.sh
ports:
- 3005
- 4005
healthcheck:
test: ["CMD", "nc", "-vz", "localhost", "4005"]
interval: 30s
timeout: 5s
retries: 10
start_period: 10s
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
nitro_node_data:
nitro_node_tls:
nitro_node_caroot:
@@ -2,7 +2,7 @@ name: nitro-rpc-client
services:
nitro-rpc-client:
image: cerc/nitro-contracts:local
image: cerc/nitro-client:local
hostname: nitro-rpc-client
restart: on-failure
environment: