nitro-stack/stack-orchestrator/stacks/nitro-node/README.md

88 lines
1.9 KiB
Markdown
Raw Normal View History

# nitro-node
## Setup
- Clone the stack repo
```bash
laconic-so fetch-stack git.vdb.to/cerc-io/nitro-stack
```
- Clone required repositories
```bash
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
```bash
laconic-so --stack ~/cerc/nitro-stack/stack-orchestrator/stacks/nitro-node build-containers
```
## Create a deployment
- Create a spec file
```bash
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:
```bash
network:
ports:
go-nitro:
- 3005:3005
- 4005:4005
```
- Create deployment
```bash
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:
```bash
# 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
```bash
laconic-so deployment --dir nitro-node-deployment start
```
<!-- TODO: Implement -->