bd73dae1b1
* 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 |
||
---|---|---|
.github | ||
.husky | ||
docs | ||
packages | ||
.dockerignore | ||
.gitignore | ||
.npmrc | ||
Dockerfile | ||
lerna.json | ||
LICENSE | ||
Makefile | ||
package.json | ||
README.md | ||
yarn.lock |
watcher-ts
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
laconic-so
Install
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:
- cerc-io/go-ethereum on port 8545
- cerc-io/ipld-eth-server with native GQL API enabled, on port 8082
- cerc-io/ipld-eth-db to populate the postgres database for
ipld-eth-server
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)