nitro-stack/stack-orchestrator/stacks/bridge
Prathamesh Musale ceae9fe8d4 Remove go-nitro repo dependency from nitro-node and bridge stacks (#12)
Part of [Create bridge channel in go-nitro](https://www.notion.so/Create-bridge-channel-in-go-nitro-22ce80a0d8ae4edb80020a8f250ea270)
- Remove `go-nitro` repo from `bridge` and `nitro-node` stacks
- Add a separate image for Nitro contracts deployment
- Update `go-nitro` Dockerfile to:
	- Fetch `nitro` and `bridge` binaries from <https://git.vdb.to/cerc-io/nitro>  instead of building from source
	- Use `ubuntu:latest` as base image instead of `deban:bullsye-slim`
- Update `nitro-client` Dockerfile to:
	- Install `nitro-rpc-client` package from `git.vdb.to/cerc-io` instead of building from source

Co-authored-by: Adw8 <adwaitgharpure@gmail.com>
Co-authored-by: Shreerang Kale <shreerangkale@gmail.com>
Reviewed-on: #12
Co-authored-by: Prathamesh Musale <prathamesh@noreply.git.vdb.to>
Co-committed-by: Prathamesh Musale <prathamesh@noreply.git.vdb.to>
2024-10-17 07:46:14 +00:00
..
README.md Remove go-nitro repo dependency from nitro-node and bridge stacks (#12) 2024-10-17 07:46:14 +00:00
stack.yml Remove go-nitro repo dependency from nitro-node and bridge stacks (#12) 2024-10-17 07:46:14 +00:00

bridge

Setup

  • Clone the stack repo:

    laconic-so fetch-stack git.vdb.to/cerc-io/nitro-stack
    
  • Build container images:

    laconic-so --stack ~/cerc/nitro-stack/stack-orchestrator/stacks/bridge build-containers
    

Create a deployment

  • Create a spec file

    laconic-so --stack ~/cerc/nitro-stack/stack-orchestrator/stacks/bridge deploy init --output bridge-spec.yml
    
  • TODO: Edit network in the spec file to map container ports to host ports as required:

    network:
    ports:
      go-nitro:
       - 3005:3005
       - 3006:3006
       - 4005:4005
    
  • Create deployment

    laconic-so --stack ~/cerc/nitro-stack/stack-orchestrator/stacks/bridge deploy create --spec-file bridge-spec.yml --deployment-dir bridge-deployment
    

Configuration

  • Inside the bridge-deployment deployment directory, open config.env file and set following env variables:

    GETH_CHAIN_ID=1212
    
    # URL endpoint of the chain (Example: ws://host.docker.internal:8545)
    NITRO_CHAIN_URL=
    
    # Private key of the account on chain that is used for funding channels
    NITRO_CHAIN_PK: ${NITRO_CHAIN_PK}
    
    NITRO_SC_PK: ${NITRO_SC_PK}
    
    # Port to be used by P2P message service for L1
    NITRO_L1_MSG_PORT=3005
    
    # Port to be used by P2P message service for L2
    NITRO_L2_MSG_PORT=3006
    
    # Port to be used by RPC server
    NITRO_RPC_PORT=4005
    
    NITRO_PUBLIC_P2P_HOST=127.0.0.1
    
    NITRO_PUBLIC_RPC_HOST=nitro-bridge
    

Start the deployment

laconic-so deployment --dir bridge-deployment start