wormhole-explorer/blockchain-watcher
Matías Martínez 2d9d0533f6
[Blockchain Watcher] Initial version (#806)
- Ethereum support for LogMessagePublished extraction
2023-11-28 16:00:45 -03:00
..
config [Blockchain Watcher] Initial version (#806) 2023-11-28 16:00:45 -03:00
docs [Blockchain Watcher] Initial version (#806) 2023-11-28 16:00:45 -03:00
src [Blockchain Watcher] Initial version (#806) 2023-11-28 16:00:45 -03:00
test [Blockchain Watcher] Initial version (#806) 2023-11-28 16:00:45 -03:00
.dockerignore [Blockchain Watcher] Initial version (#806) 2023-11-28 16:00:45 -03:00
.gitignore [Blockchain Watcher] Initial version (#806) 2023-11-28 16:00:45 -03:00
.prettierrc.json [Blockchain Watcher] Initial version (#806) 2023-11-28 16:00:45 -03:00
Dockerfile [Blockchain Watcher] Initial version (#806) 2023-11-28 16:00:45 -03:00
README.md [Blockchain Watcher] Initial version (#806) 2023-11-28 16:00:45 -03:00
TODO.md [Blockchain Watcher] Initial version (#806) 2023-11-28 16:00:45 -03:00
jest.config.js [Blockchain Watcher] Initial version (#806) 2023-11-28 16:00:45 -03:00
package-lock.json [Blockchain Watcher] Initial version (#806) 2023-11-28 16:00:45 -03:00
package.json [Blockchain Watcher] Initial version (#806) 2023-11-28 16:00:45 -03:00
tsconfig.json [Blockchain Watcher] Initial version (#806) 2023-11-28 16:00:45 -03:00

README.md

Explorer Event Watcher

The purpose of this process is to watch all Wormhole connected blockchains for events in Wormhole ecosystem contracts, and then produce database records for these events, and other important associated data.

For now, only EVM chains are supported, but this should be readily extensible in the future.

Installation

run npm ci in the root of the project run npm dev in the root of the project

Deployment

This process is meant to be deployed as a docker container. The dockerfile is located in the root of the project.

Configuration

Configuration is loaded from files in config directory. There is a default file, and then a file for each environment. The environment is set by the NODE_ENV environment variable. If NODE_ENV is not set, the default file is used.

Some values may be overriden by using environment variables. See config/custom-environment-variables.json for a list of these variables.

$ NODE_ENV=staging LOG_LEVEL=debug npm run dev

Usage & Modification

A Handler should be created and registered in the handlers directory for each event type that needs to be handled. Handlers are registered inside the src/index.ts file. These handlers are treated as listeners, and thus require 100% uptime to to ensure no events are missed.