Fork of watcher-ts repo that will act as a mirror.
Go to file
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
.github Use local lerna for publishing package in CI (#389) 2023-06-28 12:14:51 +05:30
.husky Add husky for setting lint in commit hook. (#248) 2021-09-20 16:25:54 +05:30
docs Update readme content and package versions (#366) 2023-04-14 18:11:15 +05:30
packages Implement consensus mechanism using mokka (#412) 2023-09-14 13:47:31 +05:30
.dockerignore docker image and Github Actions to build image 2021-07-23 15:42:50 +03:00
.gitignore Upgrade package versions (#360) 2023-04-13 17:07:09 +05:30
.npmrc Implement peer package to send messages between peers (#279) 2023-01-10 20:10:27 +05:30
Dockerfile Upgrade Typescript and ESLint (#337) (#342) 2023-03-24 10:31:33 +04:00
lerna.json Implement consensus mechanism using mokka (#412) 2023-09-14 13:47:31 +05:30
LICENSE Add APGL license and copyright notices (#212) 2021-08-12 15:28:13 +05:30
Makefile Change package name prefixes to cerc-io (#177) 2022-09-09 17:13:01 +05:30
package.json Add a payments plugin to GQL server (#391) 2023-07-20 17:22:48 +05:30
README.md Update readme content and package versions (#366) 2023-04-14 18:11:15 +05:30
yarn.lock Implement consensus mechanism using mokka (#412) 2023-09-14 13:47:31 +05:30

watcher-ts

Cute Panopticon

Watchers make managing data in Dapp development as frictionless as possible. They do this by querying, transforming, and caching Ethereum state data cheaper and faster compared to existing solutions. This data also comes with evidence for generating cryptographic proofs to provide verification that the data is authentic.

Go here for a quick start demo of setting up the stack and deploying/using the erc20 watcher via the Laconic Stack Orchestrator.

Prerequisites

User Mode

The Laconic Stack Orchestrator provides all the tools to quickly get started with watchers.

Developer Mode

You'll need the above if you plan on digging into this repo, writing your own watchers, or experimenting with watchers not currently supported by Stack Orchestrator. See CONTRIBUTING.md for more information.

Services

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

These services are dockerized by the Laconic Stack Orchestrator (laconic-so). Use it unless you plan on digging into those codebases. For more information on setting up these services up by hand, see here

Setup

From the root of this repository, run:

yarn && yarn build

to download dependencies.

Orient yourself with the available CLI commands here and in some cases, watchers have in-depth demos (e.g. mobymask)

Tests

Further Reading