# Address Watcher ## Setup Create a postgres12 database for the job queue: ``` sudo su - postgres createdb address-watcher-job-queue ``` Enable the `pgcrypto` extension on the job queue database (https://github.com/timgit/pg-boss/blob/master/docs/usage.md#intro). Example: ``` postgres@tesla:~$ psql -U postgres -h localhost address-watcher-job-queue Password for user postgres: psql (12.7 (Ubuntu 12.7-1.pgdg18.04+1)) SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off) Type "help" for help. address-watcher-job-queue=# CREATE EXTENSION pgcrypto; CREATE EXTENSION address-watcher-job-queue=# exit ``` Create a postgres12 database for the address watcher: ``` sudo su - postgres createdb address-watcher ``` Update `environments/local.toml` with database connection settings for both the databases. Update the `upstream` config in `environments/local.toml` and provide the `ipld-eth-server` GQL API and the tracing API (`debug_traceTransaction` RPC provider) endpoints. ## Run Run the following scripts in different terminals. Build files: ``` yarn build ``` GQL server: ``` yarn server # For development. yarn server:dev # For specifying config file. yarn server -f environments/local.toml ``` Job runner for processing the tracing requests queue: ``` yarn job-runner # For development. yarn job-runner:dev # For specifying config file. yarn job-runner -f environments/local.toml ``` To fill a block range: ``` yarn fill --start-block 1 --end-block 1000 # For specifying config file. yarn fill -f environments/local.toml --start-block 1 --end-block 1000 ```