From 67dd22e761a02340097bd1f840f9bbfcfd1e0c9c Mon Sep 17 00:00:00 2001 From: zramsay Date: Tue, 10 Jan 2023 09:09:25 -0500 Subject: [PATCH] deduplicate the Customize section --- packages/README.md | 20 ++++ packages/eden-watcher/README.md | 155 +------------------------- packages/erc721-watcher/README.md | 123 +------------------- packages/graph-test-watcher/README.md | 17 --- packages/mobymask-watcher/README.md | 17 --- 5 files changed, 26 insertions(+), 306 deletions(-) create mode 100644 packages/README.md diff --git a/packages/README.md b/packages/README.md new file mode 100644 index 00000000..2a50edc7 --- /dev/null +++ b/packages/README.md @@ -0,0 +1,20 @@ +# Watchers Directory + +Here contains all the publicly available watchers for your experimenting purposes. For general information on setting up the stack and the CLI commands used to interact with watchers, see the [docs](/docs) directory. + +## Customizing Watchers + +* Indexing on an event: + + * Edit the custom hook function `handleEvent` (triggered on an event) in [hooks.ts](./src/hooks.ts) to perform corresponding indexing using the `Indexer` object. + + * While using the indexer storage methods for indexing, pass `diff` as true if default state is desired to be generated using the state variables being indexed. + +* Generating state: + + * Edit the custom hook function `createInitialState` (triggered if the watcher passes the start block, checkpoint: `true`) in [hooks.ts](./src/hooks.ts) to save an initial `State` using the `Indexer` object. + + * Edit the custom hook function `createStateDiff` (triggered on a block) in [hooks.ts](./src/hooks.ts) to save the state in a `diff` `State` using the `Indexer` object. The default state (if exists) is updated. + + * Edit the custom hook function `createStateCheckpoint` (triggered just before default and CLI checkpoint) in [hooks.ts](./src/hooks.ts) to save the state in a `checkpoint` `State` using the `Indexer` object. + diff --git a/packages/eden-watcher/README.md b/packages/eden-watcher/README.md index 65de4781..30ef1628 100644 --- a/packages/eden-watcher/README.md +++ b/packages/eden-watcher/README.md @@ -4,158 +4,13 @@ First try the [stack orchestrator](https://github.com/cerc-io/stack-orchestrator) to quickly get started. Advanced users can see [here](/docs/README.md) for instructions on setting up a local environment by hand. -## Customize - -* Indexing on an event: - - * Edit the custom hook function `handleEvent` (triggered on an event) in [hooks.ts](./src/hooks.ts) to perform corresponding indexing using the `Indexer` object. - - * While using the indexer storage methods for indexing, pass `diff` as true if default state is desired to be generated using the state variables being indexed. - -* Generating state: - - * Edit the custom hook function `createInitialState` (triggered if the watcher passes the start block, checkpoint: `true`) in [hooks.ts](./src/hooks.ts) to save an initial `State` using the `Indexer` object. - - * Edit the custom hook function `createStateDiff` (triggered on a block) in [hooks.ts](./src/hooks.ts) to save the state in a `diff` `State` using the `Indexer` object. The default state (if exists) is updated. - - * Edit the custom hook function `createStateCheckpoint` (triggered just before default and CLI checkpoint) in [hooks.ts](./src/hooks.ts) to save the state in a `checkpoint` `State` using the `Indexer` object. ## Run -* If the watcher is a `lazy` watcher: +Setup with: - * Run the server: +```bash +yarn && yarn build +``` - ```bash - yarn server - ``` - - GQL console: http://localhost:3012/graphql - -* If the watcher is an `active` watcher: - - * Run the job-runner: - - ```bash - yarn job-runner - ``` - - * Run the server: - - ```bash - yarn server - ``` - - GQL console: http://localhost:3012/graphql - - * To watch a contract: - - ```bash - yarn watch:contract --address --kind --checkpoint --starting-block [block-number] - ``` - - * `address`: Address or identifier of the contract to be watched. - * `kind`: Kind of the contract. - * `checkpoint`: Turn checkpointing on (`true` | `false`). - * `starting-block`: Starting block for the contract (default: `1`). - - Examples: - - Watch a contract with its address and checkpointing on: - - ```bash - yarn watch:contract --address 0x1F78641644feB8b64642e833cE4AFE93DD6e7833 --kind ERC20 --checkpoint true - ``` - - Watch a contract with its identifier and checkpointing on: - - ```bash - yarn watch:contract --address MyProtocol --kind protocol --checkpoint true - ``` - - * To fill a block range: - - ```bash - yarn fill --start-block --end-block - ``` - - * `start-block`: Block number to start filling from. - * `end-block`: Block number till which to fill. - - * To create a checkpoint for a contract: - - ```bash - yarn checkpoint create --address --block-hash [block-hash] - ``` - - * `address`: Address or identifier of the contract for which to create a checkpoint. - * `block-hash`: Hash of a block (in the pruned region) at which to create the checkpoint (default: latest canonical block hash). - - * To verify a checkpoint: - - ```bash - yarn checkpoint verify --cid - ``` - - `cid`: CID of the checkpoint for which to verify. - - * To reset the watcher to a previous block number: - - * Reset watcher: - - ```bash - yarn reset watcher --block-number - ``` - - * Reset job-queue: - - ```bash - yarn reset job-queue - ``` - - * Reset state: - - ```bash - yarn reset state --block-number - ``` - - * `block-number`: Block number to which to reset the watcher. - - * To export and import the watcher state: - - * In source watcher, export watcher state: - - ```bash - yarn export-state --export-file [export-file-path] --block-number [snapshot-block-height] - ``` - - * `export-file`: Path of file to which to export the watcher data. - * `block-number`: Block height at which to take snapshot for export. - - * In target watcher, run job-runner: - - ```bash - yarn job-runner - ``` - - * Import watcher state: - - ```bash - yarn import-state --import-file - ``` - - * `import-file`: Path of file from which to import the watcher data. - - * Run server: - - ```bash - yarn server - ``` - - * To inspect a CID: - - ```bash - yarn inspect-cid --cid - ``` - - * `cid`: CID to be inspected. +then checkout the [CLI guide](/docs/cli.md) for examples of commands that can be run on this watcher. diff --git a/packages/erc721-watcher/README.md b/packages/erc721-watcher/README.md index 7dfaac82..5cec9dc1 100644 --- a/packages/erc721-watcher/README.md +++ b/packages/erc721-watcher/README.md @@ -302,125 +302,4 @@ yarn checkpoint create --address $NFT_ADDRESS - The state should have auto indexed data and also custom property `transferCount` according to code in [hooks](./src/hooks.ts) file `handleEvent` method. -## Watch - -To watch a contract: - -```bash -yarn watch:contract --address --kind --checkpoint --starting-block [block-number] -``` - - * `address`: Address or identifier of the contract to be watched. - * `kind`: Kind of the contract. - * `checkpoint`: Turn checkpointing on (`true` | `false`). - * `starting-block`: Starting block for the contract (default: `1`). - - Examples: - - Watch a contract with its address and checkpointing on: - - ```bash - yarn watch:contract --address 0x1F78641644feB8b64642e833cE4AFE93DD6e7833 --kind ERC721 --checkpoint true - ``` - - Watch a contract with its identifier and checkpointing on: - - ```bash - yarn watch:contract --address MyProtocol --kind protocol --checkpoint true - ``` - - * To fill a block range: - - ```bash - yarn fill --start-block --end-block - ``` - - * `start-block`: Block number to start filling from. - * `end-block`: Block number till which to fill. - - * To create a checkpoint for a contract: - - ```bash - yarn checkpoint create --address --block-hash [block-hash] - ``` - - * `address`: Address or identifier of the contract for which to create a checkpoint. - * `block-hash`: Hash of a block (in the pruned region) at which to create the checkpoint (default: latest canonical block hash). - - * To reset the watcher to a previous block number: - - * Reset watcher: - - ```bash - yarn reset watcher --block-number - ``` - - * Reset job-queue: - - ```bash - yarn reset job-queue - ``` - - * Reset state: - - ```bash - yarn reset state --block-number - ``` - - * `block-number`: Block number to which to reset the watcher. - - * To export and import the watcher state: - - * In source watcher, export watcher state: - - ```bash - yarn export-state --export-file [export-file-path] --block-number [snapshot-block-height] - ``` - - * `export-file`: Path of file to which to export the watcher data. - * `block-number`: Block height at which to take snapshot for export. - - * In target watcher, run job-runner: - - ```bash - yarn job-runner - ``` - - * Import watcher state: - - ```bash - yarn import-state --import-file - ``` - - * `import-file`: Path of file from which to import the watcher data. - - * Run server: - - ```bash - yarn server - ``` - - * To inspect a CID: - - ```bash - yarn inspect-cid --cid - ``` - - * `cid`: CID to be inspected. - - -## Customize - -* Indexing on an event: - - * Edit the custom hook function `handleEvent` (triggered on an event) in [hooks.ts](./src/hooks.ts) to perform corresponding indexing using the `Indexer` object. - - * While using the indexer storage methods for indexing, pass `diff` as true if default state is desired to be generated using the state variables being indexed. - -* Generating state: - - * Edit the custom hook function `createInitialState` (triggered if the watcher passes the start block, checkpoint: `true`) in [hooks.ts](./src/hooks.ts) to save an initial `State` using the `Indexer` object. - - * Edit the custom hook function `createStateDiff` (triggered on a block) in [hooks.ts](./src/hooks.ts) to save the state in a `diff` `State` using the `Indexer` object. The default state (if exists) is updated. - - * Edit the custom hook function `createStateCheckpoint` (triggered just before default and CLI checkpoint) in [hooks.ts](./src/hooks.ts) to save the state in a `checkpoint` `State` using the `Indexer` object. +For more `yarn` sub-commands available, see the [CLI guide](/docs/cli.md) diff --git a/packages/graph-test-watcher/README.md b/packages/graph-test-watcher/README.md index fbf4aa3d..39debfe7 100644 --- a/packages/graph-test-watcher/README.md +++ b/packages/graph-test-watcher/README.md @@ -138,21 +138,4 @@ yarn * All the `State` entries can be seen in `pg-admin` in table `state`. - -## Customize - -* Indexing on an event: - - * Edit the custom hook function `handleEvent` (triggered on an event) in [hooks.ts](./src/hooks.ts) to perform corresponding indexing using the `Indexer` object. - - * While using the indexer storage methods for indexing, pass `diff` as true if default state is desired to be generated using the state variables being indexed. - -* Generating state: - - * Edit the custom hook function `createInitialState` (triggered if the watcher passes the start block, checkpoint: `true`) in [hooks.ts](./src/hooks.ts) to save an initial `State` using the `Indexer` object. - - * Edit the custom hook function `createStateDiff` (triggered on a block) in [hooks.ts](./src/hooks.ts) to save the state in a `diff` `State` using the `Indexer` object. The default state (if exists) is updated. - - * Edit the custom hook function `createStateCheckpoint` (triggered just before default and CLI checkpoint) in [hooks.ts](./src/hooks.ts) to save the state in a `checkpoint` `State` using the `Indexer` object. - * The existing example hooks in [hooks.ts](./src/hooks.ts) are for an `ERC20` contract. diff --git a/packages/mobymask-watcher/README.md b/packages/mobymask-watcher/README.md index b6e166dd..dd8eb752 100644 --- a/packages/mobymask-watcher/README.md +++ b/packages/mobymask-watcher/README.md @@ -279,20 +279,3 @@ yarn inspect-cid --cid ``` * `cid`: CID to be inspected. - -## Customize - -* Indexing on an event: - - * Edit the custom hook function `handleEvent` (triggered on an event) in [hooks.ts](./src/hooks.ts) to perform corresponding indexing using the `Indexer` object. - - * While using the indexer storage methods for indexing, pass `diff` as true if default state is desired to be generated using the state variables being indexed. - -* Generating state: - - * Edit the custom hook function `createInitialState` (triggered if the watcher passes the start block, checkpoint: `true`) in [hooks.ts](./src/hooks.ts) to save an initial `State` using the `Indexer` object. - - * Edit the custom hook function `createStateDiff` (triggered on a block) in [hooks.ts](./src/hooks.ts) to save the state in a `diff` `State` using the `Indexer` object. The default state (if exists) is updated. - - * Edit the custom hook function `createStateCheckpoint` (triggered just before default and CLI checkpoint) in [hooks.ts](./src/hooks.ts) to save the state in a `checkpoint` `State` using the `Indexer` object. -