forked from cerc-io/stack-orchestrator
d51508b01d
* Add a stack for uniswap watcher with info app * Add deployment instructions * Use docker interactive option while loading the db dumps
84 lines
2.4 KiB
Markdown
84 lines
2.4 KiB
Markdown
# Uniswap v3
|
|
|
|
Instructions to deploy Uniswap v3 watcher stack (watcher + uniswap-v3-info frontend app) using [laconic-stack-orchestrator](../../README.md#setup)
|
|
|
|
## Prerequisites
|
|
|
|
* Access to [uniswap-watcher-ts](https://github.com/vulcanize/uniswap-watcher-ts).
|
|
|
|
* This deployment expects core services to be running; specifically, it requires `ipld-eth-server` RPC and GQL endpoints. Update the `upstream.ethServer` endpoints in the [watcher config files](../../config/watcher-uniswap-v3) accordingly:
|
|
|
|
```toml
|
|
[upstream]
|
|
[upstream.ethServer]
|
|
gqlApiEndpoint = "http://ipld-eth-server.example.com:8083/graphql"
|
|
rpcProviderEndpoint = "http://ipld-eth-server.example.com:8082"
|
|
```
|
|
|
|
* `uni-watcher` and `uni-info-watcher` database dumps (optional).
|
|
|
|
## Setup
|
|
|
|
* Clone / pull required repositories:
|
|
|
|
```bash
|
|
$ laconic-so setup-repositories --include vulcanize/uniswap-watcher-ts,vulcanize/uniswap-v3-info --git-ssh --pull
|
|
```
|
|
|
|
* Build watcher and info app container images:
|
|
|
|
```bash
|
|
$ laconic-so build-containers --include cerc/watcher-uniswap-v3,cerc/uniswap-v3-info
|
|
```
|
|
|
|
This should create the required docker images in the local image registry.
|
|
|
|
## Deploy
|
|
|
|
* (Optional) Initialize the watcher database with existing database dumps if available:
|
|
|
|
* Start the watcher database to be initialized:
|
|
|
|
```bash
|
|
$ laconic-so deploy-system --include watcher-uniswap-v3 up uniswap-watcher-db
|
|
```
|
|
|
|
* Find the watcher database container's id using `docker ps` and export it for further usage:
|
|
|
|
```bash
|
|
$ export CONTAINER_ID=<CONTAINER_ID>
|
|
```
|
|
|
|
* Load watcher database dumps:
|
|
|
|
```bash
|
|
# uni-watcher database
|
|
$ docker exec -i $CONTAINER_ID psql -U vdbm uni-watcher < UNI_WATCHER_DB_DUMP_FILE_PATH.sql
|
|
|
|
# uni-info-watcher database
|
|
$ docker exec -i $CONTAINER_ID psql -U vdbm uni-info-watcher < UNI_INFO_WATCHER_DB_DUMP_FILE_PATH.sql
|
|
```
|
|
|
|
* Start all the watcher and info app services:
|
|
|
|
```bash
|
|
$ laconic-so deploy-system --include watcher-uniswap-v3 up
|
|
```
|
|
|
|
* Check that all the services are up and healthy:
|
|
|
|
```bash
|
|
$ docker ps
|
|
```
|
|
|
|
* The `uni-info-watcher` GraphQL Playground can be accessed at `http://localhost:3004/graphql`
|
|
* The frontend app can be accessed at `http://localhost:3006`
|
|
|
|
## Clean up
|
|
|
|
* To stop all the services running in background:
|
|
|
|
```bash
|
|
$ laconic-so deploy-system --include watcher-uniswap-v3 down
|
|
```
|