Add a stack for Nitro bridge (#4)
* Add a bridge stack * Implement Nitro contracts deployment to L1 and L2 * Deploy custom tokens to L1 and L2 * Add a service for Nitro bridge * Setup a service for nitro-rpc-client with required certs
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
name: bridge
|
||||
|
||||
services:
|
||||
nitro-bridge:
|
||||
image: cerc/go-nitro:local
|
||||
hostname: nitro-bridge
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
# Wait for Nitro contracts to be deployed
|
||||
nitro-contracts:
|
||||
condition: service_completed_successfully
|
||||
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
|
||||
entrypoint: ["bash", "-c", "/app/run-bridge.sh"]
|
||||
volumes:
|
||||
- nitro_bridge_data:/app/data
|
||||
- nitro_bridge_tls:/app/tls
|
||||
- nitro_node_caroot:/app/mkcert-caroot
|
||||
- nitro_deployment:/app/deployment
|
||||
- ../config/go-nitro/run-bridge.sh:/app/run-bridge.sh
|
||||
- ../config/go-nitro/create-certs.sh:/app/create-certs.sh
|
||||
ports:
|
||||
- 3005
|
||||
- 3006
|
||||
- 4006
|
||||
healthcheck:
|
||||
test: ["CMD", "nc", "-vz", "localhost", "4006"]
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
retries: 10
|
||||
start_period: 10s
|
||||
extra_hosts:
|
||||
- "host.docker.internal:host-gateway"
|
||||
|
||||
volumes:
|
||||
nitro_bridge_data:
|
||||
nitro_bridge_tls:
|
||||
nitro_node_caroot:
|
||||
nitro_deployment:
|
||||
@@ -4,18 +4,24 @@ services:
|
||||
# Optionally deploys the Nitro contracts
|
||||
nitro-contracts:
|
||||
image: cerc/nitro-contracts:local
|
||||
# restart: on-failure
|
||||
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}
|
||||
CERC_OPTIMISM_CHAIN_ID: ${CERC_OPTIMISM_CHAIN_ID}
|
||||
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_DISABLE_DETERMINISTIC_DEPLOYMENT: true
|
||||
CERC_TOKEN_NAME: ${CERC_TOKEN_NAME}
|
||||
CERC_TOKEN_SYMBOL: ${CERC_TOKEN_SYMBOL}
|
||||
CERC_INITIAL_TOKEN_SUPPLY: ${CERC_INITIAL_TOKEN_SUPPLY}
|
||||
volumes:
|
||||
- nitro_deployment:/app/deployment
|
||||
- ../config/nitro-contracts/deploy.sh:/app/deploy.sh
|
||||
command: ["bash", "-c", "/app/deploy.sh"]
|
||||
extra_hosts:
|
||||
- "host.docker.internal:host-gateway"
|
||||
|
||||
volumes:
|
||||
nitro_deployment:
|
||||
|
||||
@@ -2,7 +2,14 @@ name: nitro-rpc-client
|
||||
|
||||
services:
|
||||
nitro-rpc-client:
|
||||
image: cerc/nitro-rpc-client:local
|
||||
image: cerc/nitro-contracts:local
|
||||
hostname: nitro-rpc-client
|
||||
restart: on-failure
|
||||
environment:
|
||||
NODE_EXTRA_CA_CERTS: "/app/mkcert-caroot/rootCA.pem"
|
||||
command: ["bash", "-c", "tail -f /dev/null"]
|
||||
volumes:
|
||||
- nitro_node_caroot:/app/mkcert-caroot
|
||||
|
||||
volumes:
|
||||
nitro_node_caroot:
|
||||
|
||||
Reference in New Issue
Block a user