watcher-ts/README.md
prathamesh0 847837c2fb
Add a demo for erc20-watcher (#268)
* Fix event subscription in erc20-watcher

* Add demo for erc20-watcher

* Update README
2022-11-28 18:54:09 +05:30

2.4 KiB

watcher-ts

Setup

There are packages used from github so we need to follow the following steps to install them:

  1. Create a github PAT (personal access token) if it does not already exist.

    https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token#creating-a-token

  2. Configure the PAT with scopes mentioned in https://docs.github.com/en/packages/learn-github-packages/about-permissions-for-github-packages#about-scopes-and-permissions-for-package-registries. This is required to install or publish github packages.

  3. Follow the steps in https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-npm-registry#authenticating-with-a-personal-access-token to authenticate to github packages. We can also run the follwing to authenticate by logging in to npm.

    $ npm login --scope=@cerc-io --registry=https://npm.pkg.github.com
    
    > Username: USERNAME
    > Password: TOKEN
    > Email: PUBLIC-EMAIL-ADDRESS
    

    Replace with the following:

    • USERNAME: GitHub username
    • TOKEN: Personal access token (configured above)
    • PUBLIC-EMAIL-ADDRESS: Email address
  4. When authenticating to github packages for the first time, yarn install may throw Unauthorized error. To overcome this we need to run yarn install in packages/graph-node directory. After this yarn install for watcher-ts works properly even from root of the repo.

This project uses yarn workspaces.

Install packages (Node.JS v16.13.1):

yarn

Build packages:

yarn build

Tests

Services

The default config files used by the watchers assume the following services are setup and running on localhost:

  • vulcanize/go-ethereum on port 8545
  • vulcanize/ipld-eth-server with native GQL API enabled, on port 8082

Note

  • In vulcanize/ipld-eth-server, add the following statement to [ethereum] section in environments/config.toml:

    chainConfig = "./chain.json" # ETH_CHAIN_CONFIG

Watchers