stack-orchestrator/app/data/stacks/mobymask/README.md

54 lines
2.3 KiB
Markdown
Raw Normal View History

2022-11-10 18:57:01 +00:00
# MobyMask
2022-11-04 20:02:27 +00:00
2022-11-10 19:12:14 +00:00
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](https://github.com/cerc-io/watcher-ts/tree/main/packages/mobymask-watcher) and a developer-oriented Docker Compose setup for the watcher can be found [here](https://github.com/cerc-io/mobymask-watcher). The watcher can be deployed automatically using the Laconic Stack Orchestrator tool as detailed below:
2022-11-10 18:57:01 +00:00
## Deploy the MobyMask Watcher
2022-11-15 18:14:56 +00:00
The instructions below show how to deploy a MobyMask watcher using laconic-stack-orchestrator (the installation of which is covered [here](https://github.com/cerc-io/stack-orchestrator#user-mode)).
2022-11-04 20:02:27 +00:00
2022-11-08 07:23:40 +00:00
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](../../config/watcher-mobymask/mobymask-watcher.toml).
2022-11-08 03:23:52 +00:00
## Clone required repositories
2022-11-08 03:23:52 +00:00
```
$ laconic-so setup-repositories --include cerc-io/watcher-ts
2022-11-08 03:23:52 +00:00
```
2022-11-08 03:23:52 +00:00
## Build the watcher container
2022-11-08 03:23:52 +00:00
```
$ laconic-so build-containers --include cerc/watcher-mobymask
2022-11-08 03:23:52 +00:00
```
2022-11-08 07:23:40 +00:00
This should create a container with tag `cerc/watcher-mobymask` in the local image registry.
2022-11-08 03:23:52 +00:00
## Deploy the stack
First the watcher database has to be initialized. Start only the mobymask-watcher-db service:
2022-11-08 03:23:52 +00:00
```
$ laconic-so deploy-system --include watcher-mobymask up mobymask-watcher-db
2022-11-08 07:23:40 +00:00
```
2022-11-08 07:23:40 +00:00
Next find the container's id using `docker ps` then run the following command to initialize the database:
2022-11-08 07:23:40 +00:00
```
$ docker exec -i <mobymask-watcher-db-container> psql -U vdbm mobymask-watcher < config/watcher-mobymask/mobymask-watcher-db.sql
2022-11-08 07:23:40 +00:00
```
2022-11-08 07:23:40 +00:00
Finally start the remaining containers:
2022-11-08 07:23:40 +00:00
```
$ laconic-so deploy-system --include watcher-mobymask up
2022-11-08 07:23:40 +00:00
```
2022-11-10 18:57:01 +00:00
Correct operation should be verified by following the instructions [here](https://github.com/cerc-io/mobymask-watcher/tree/main/mainnet-watcher-only#run), checking GraphQL queries return valid results in the watcher's [playground](http://127.0.0.1:3001/graphql).
## Clean up
Stop all the services running in background:
```bash
$ laconic-so deploy-system --include watcher-mobymask down
```