stack-orchestrator/stacks/mobymask
2022-11-10 12:12:14 -07:00
..
README.md Update README.md 2022-11-10 12:12:14 -07:00
stack.yml Update doc 2022-11-08 00:23:40 -07:00

MobyMask

The MobyMask watcher is a Laconic Network component that provides efficient access to MobyMask contract data from Ethereum, along with evidence allowing users to verify the correctness of that data. The watcher source code is available in this repository and a developer-oriented Docker Compose setup for the watcher can be found here. The watcher can be deployed automatically using the Laconic Stack Orchestrator tool as detailed below:

Deploy the MobyMask Watcher

The instructions below show how to deploy a MobyMask watcher using laconic-stack-orchestrator (the installation of which is covered here).

This deployment expects that ipld-eth-server's endpoints are available on the local machine at http://ipld-eth-server.example.com:8083/graphql and http://ipld-eth-server.example.com:8082. More advanced configurations are supported by modifying the watcher's config file.

Clone required repositories

$ laconic-so setup-repositories

Checkout required branches for the current release:

$ cd ~/cerc/assemblyscript
$ git checkout ng-integrate-asyncify
$ cd ~/cerc/watcher-ts
$ git checkout v0.2.13

Build the watcher container

$ laconic-sh build-containers --include cerc/watcher-mobymask

This should create a container with tag cerc/watcher-mobymask in the local image registry.

Deploy the stack

First the watcher database has to be initialized. Start only the watcher-db service:

$ laconic-so deploy-system --include watcher-mobymask up watcher-db

Next find the container's id using docker ps then run the following command to initialize the database:

$ docker exec -i <watcher-db-container> psql -U vdbm mobymask-watcher < config/watcher-mobymask/mobymask-watcher-db.sql

Finally start the remaining containers:

$ laconic-so deploy-system --include watcher-mobymask

Correct operation should be verified by following the instructions here, checking GraphQL queries return valid results in the watcher's playground.