nitro-stack/stack-orchestrator/stacks/nitro-node
Adwait Gharpure e3a8b25850 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>
2024-07-23 12:23:48 +05:30
..
README.md Update nitro-node stack setup (#5) 2024-07-23 12:23:48 +05:30
stack.yml Update nitro-node stack setup (#5) 2024-07-23 12:23:48 +05:30

nitro-node

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:
       - 3005:3005
       - 4005:4005
    
  • 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)
    NITRO_CHAIN_URL=
    
    # Private key of account to be used by Nitro node (derived address is used as Nitro address)
    NITRO_PK=
    
    # Private key of the account on chain that is used for funding channels in Nitro node
    NITRO_CHAIN_PK=
    
    # Port to be used by P2P message service (Example: 3009)
    NITRO_MSG_PORT=
    
    # Port to be used by RPC server (Example: 4009)
    NITRO_RPC_PORT=4009
    
    # Contract address of NitroAdjudicator
    NA_ADDRESS=
    
    # Contract address of VirtualPaymentApp
    VPA_ADDRESS=
    
    # Contract address of ConsensusApp
    CA_ADDRESS=
    
    # Address of the bridge node
    BRIDGE_ADDRESS=
    

Start the deployment

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