stack-orchestrator/app/data/stacks/fixturenet-payments
2023-10-18 12:23:57 -04:00
..
demo.md Setup ipld-eth-server communicating with a remote Nitro node (#587) 2023-10-18 13:51:55 +05:30
README.md updates to payments demo (#566) 2023-10-18 12:23:57 -04:00
stack.yml updates to payments demo (#566) 2023-10-18 12:23:57 -04:00

fixturenet-payments

Instructions to setup and deploy an end-to-end fixturenet-payments stack, on a local machine. Some tips are included for running on a remote cloud machine.

Setup

Clone required repositories:

laconic-so --stack fixturenet-payments setup-repositories --pull

Build the container images:

laconic-so --stack fixturenet-payments build-containers

Deploy

Deploy the stack:

laconic-so --stack fixturenet-payments deploy --cluster payments up
# Exposed on host ports:
# 32***: geth in statediffing mode and ipld-eth-server(s)
# 4005: in-process go-nitro node's RPC endpoint
# 3005: in-process go-nitro node's p2p TCP endpoint
# 5005: in-process go-nitro node's p2p WS endpoin
# 4006: out-of-process go-nitro node's RPC endpoint
# 3006: out-of-process go-nitro node's p2p TCP endpoint
# 5006: out-of-process go-nitro node's p2p WS endpoint
# 15432: MobyMask v3 watcher's db endpoint
# 3001: MobyMask v3 watcher endpoint
# 9090: MobyMask v3 watcher relay node endpoint
# 8080: MobyMask snap
# 3004: MobyMask v3 app
# 32***: geth with statediffing

If running in the cloud, ensure all the of the above ports are open. The geth port can be retrieved with:

docker port payments-fixturenet-eth-geth-1-1 8545

Then for every port above, run each line in a new terminal window (or use screen):

ssh -L 4005:localhost:4005 user@<your-ip>
ssh -L 5005:localhost:5005 user@<your-ip>
ssh -L 8081:localhost:8081 user@<your-ip>
# ... and so on for every port

This will allow you to access the entirety of the app as if it were running locally.

Demo

Follow the demo to try out end-to-end payments.

Clean up

Stop all the services running in background:

laconic-so --stack fixturenet-payments deploy --cluster payments down 30

Clear volumes created by this stack:

# List all relevant volumes
docker volume ls -q --filter "name=payments"

# Remove all the listed volumes
docker volume rm $(docker volume ls -q --filter "name=payments")