nitro-stack/stack-orchestrator/stacks/nitro-node
prathamesh0 ce2258db07
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
2024-07-19 10:57:46 +05:30
..
README.md Update nitro-node stack to use public IP from config (#3) 2024-07-18 17:18:24 +05:30
stack.yml Add a stack for Nitro bridge (#4) 2024-07-19 10:57:46 +05:30

Go-nitro

Setup

  • Clone the stack repo

    laconic-so fetch-stack git.vdb.to/cerc-io/nitro-stack
    
  • Clone required repositories

    laconic-so --stack ~/cerc/nitro-stack/stack-orchestrator/stacks/nitro-node setup-repositories
    

    Note: Replace path to nitro stack with actual path

  • Build the container image

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

Create a deployment

  • Create a spec file

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

    network:
    ports:
      go-nitro:
       - 3006:3006
       - 4006:4006
       - 5006:5006
    
  • Create deployment

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

Configuration

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

    # URL endpoint of the chain (Example: ws://host.docker.internal:8545)
    CERC_NITRO_CHAIN_URL=
    
    # Private key of account to be used by Nitro node (derived address is used as Nitro address)
    CERC_NITRO_PK=
    
    # Private key of the account on chain that is used for funding channels in Nitro node
    CERC_NITRO_CHAIN_PK=
    
    # Port to be used by P2P message service (Example: 3009)
    CERC_NITRO_MSG_PORT=
    
    # Port to be used by RPC server (Example: 4009)
    CERC_NITRO_RPC_PORT=4009
    
    # Optional
    # Contract addresses of NitroAdjudicator, VirtualPaymentApp and ConsensusApp
    # TODO: Contracts are deployed if addresses are not set
    CERC_NA_ADDRESS=
    CERC_VPA_ADDRESS=
    CERC_CA_ADDRESS=
    

Start the deployment

laconic-so deployment --dir nitro-node-deployment start