watcher-ts/packages
prathamesh0 bd73dae1b1
Implement consensus mechanism using mokka (#412)
* Add Consensus class with placeholders

* Implement Consensus constructor

* Move PubsubType to peer package

* Implement remaining methods in Consensus class

* Use existing consensus stream if it exists

* Setup send and receive pipes on consensus streams

* Refactor P2P and consensus setup in server command

* Add Nitro node initialization in server command

* Return objects from server initializations

* Use dynamic imports for ES modules in util package

* Fix util deps

* Change target to es6 to allow creating a Mokka instance

* Set moduleResolution to node16 in util for dynamic imports

* Upgrade @cerc-io/nitro-node package

* Implement retries while sending consensus messages

* Use bunyan for consensus logs and subscribe to state changes

* Use debug for logging state change events

* Handle empty watcher party file path

* Return object from initP2P

* Upgrade @cerc-io/nitro-node package

* Update package versions
2023-09-14 13:47:31 +05:30
..
cache Implement consensus mechanism using mokka (#412) 2023-09-14 13:47:31 +05:30
cli Implement consensus mechanism using mokka (#412) 2023-09-14 13:47:31 +05:30
codegen Implement consensus mechanism using mokka (#412) 2023-09-14 13:47:31 +05:30
graph-node Implement consensus mechanism using mokka (#412) 2023-09-14 13:47:31 +05:30
ipld-eth-client Implement consensus mechanism using mokka (#412) 2023-09-14 13:47:31 +05:30
peer Implement consensus mechanism using mokka (#412) 2023-09-14 13:47:31 +05:30
rpc-eth-client Implement consensus mechanism using mokka (#412) 2023-09-14 13:47:31 +05:30
solidity-mapper Implement consensus mechanism using mokka (#412) 2023-09-14 13:47:31 +05:30
test Implement consensus mechanism using mokka (#412) 2023-09-14 13:47:31 +05:30
tracing-client Implement consensus mechanism using mokka (#412) 2023-09-14 13:47:31 +05:30
util Implement consensus mechanism using mokka (#412) 2023-09-14 13:47:31 +05:30
README.md deduplicate the Customize section 2023-01-16 07:40:40 -05:00

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 directory.

Customizing Watchers

  • Indexing on an event:

    • Edit the custom hook function handleEvent (triggered on an event) in 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 to save an initial State using the Indexer object.

    • Edit the custom hook function createStateDiff (triggered on a block) in 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 to save the state in a checkpoint State using the Indexer object.