stack-orchestrator/stack_orchestrator/data/stacks/mobymask-v2
2023-11-07 00:06:55 -07:00
..
watcher-p2p-network Rename app -> stack_orchestrator (#625) 2023-11-07 00:06:55 -07:00
demo.md Rename app -> stack_orchestrator (#625) 2023-11-07 00:06:55 -07:00
mobymask-only.md Rename app -> stack_orchestrator (#625) 2023-11-07 00:06:55 -07:00
README.md Rename app -> stack_orchestrator (#625) 2023-11-07 00:06:55 -07:00
stack.yml Rename app -> stack_orchestrator (#625) 2023-11-07 00:06:55 -07:00
web-apps.md Rename app -> stack_orchestrator (#625) 2023-11-07 00:06:55 -07:00

MobyMask v2 watcher

Instructions to setup and deploy an end-to-end MobyMask v2 stack (L1 + L2 chains + watcher + web-app(s)) using laconic-stack-orchestrator

We support running just the watcher part of stack, given an external L2 Optimism endpoint. Follow mobymask-only for the same.

We also support running just the web-app(s), given external watcher GQL (for mobymask-app) and relay node endpoints. Follow web-apps.md for the same.

Setup

Clone required repositories:

laconic-so --stack mobymask-v2 setup-repositories

NOTE: If repositories already exist and are checked out to different versions, setup-repositories command will throw an error. For getting around this, the repositories mentioned below can be removed and then run the command.

Build the container images:

laconic-so --stack mobymask-v2 build-containers

This should create the required docker images in the local image registry.

Deploy the stack:

  • Deploy the containers:

    laconic-so --stack mobymask-v2 deploy --cluster mobymask_v2 up
    

    NOTE: The fixturenet-optimism-contracts service takes a while to run to completion and it may restart a few times after running into errors.

  • To list down and monitor the running containers:

    laconic-so --stack mobymask-v2 deploy --cluster mobymask_v2 ps
    
    # With status
    docker ps -a
    
    # Check logs for a container
    docker logs -f <CONTAINER_ID>
    

Tests

Find the watcher container's id and export it for later use:

export CONTAINER_ID=$(docker ps -q --filter "name=peer-tests")

Run the peer tests:

docker exec $CONTAINER_ID yarn test

Web Apps

Check that the web-app containers are healthy:

docker ps | grep -E 'mobymask-app|peer-test-app'

mobymask-app

peer-test-app

Details

Demo

Follow the demo to try out the MobyMask app with L2 chain

Clean up

Stop all the services running in background:

laconic-so --stack mobymask-v2 deploy --cluster mobymask_v2 down 30

Clear volumes created by this stack:

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

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