Skip to content

Observes and analyzes Wormhole VAAs for cross-chain activity.

Notifications You must be signed in to change notification settings

heshdotcc/wormhole-vaa-observer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wormhole VAA Observer

Rationale

A repository made of a challenge finding missing VAA sequences within Wormhole Scan API,

The ultimate idea is to:

  • Revamp wormhole-dashboard with newer technologies while exploring the wormhole-sdk and its APIs.
  • Understand the status-quo of Wormhole devnet while looking for improving documentation and its adoption.
  • Finding for ways to contribute to wormhole-sdk-rs crate maintenance and its potential integrations.
  • Integrate a defacto industry-grade workflow engine like Temporal.io to handle VAA ingestion and processing.

Root Structure

The project consists of three root folders:

  • documentation The place of Architectural Design Records (ADRs) and other documentation assets.
  • infrastructure Kubernetes manifests regarding Wormhole devnet, monitoring, and deployments.
  • microservices A backend as the core solution and a hybrid (CSR+SSR) frontend application.

Each folder contains its own README.md file for scoped documentation:

.
├── README.md
├── documentation
│   ├── ADR-01-TECHNOLOGY.md
│   └── ADR-02-DOMAINS.md
├── infrastructure
│   └── wormhole-spy.yaml
│   └── README.md
└── microservices
    ├── backend
    └── frontend

A root Nix Flake spawns a development shell by running the nix develop command.

It's encouraged to leverage Nix Flake tools for building, running, and live-formatting code.

Roadmap

Note that this project was made as a mere proof of concept. Still, ADRs will serve as a future-proof guide.

Microservices

BackEnd

  • A production-grade microservice template for a highly scalable backend.
  • An integration of Wormhole Scan API to fetch VAAs through a Rust HTTP Server/Client.
  • An integration of Wormhole Spy to fetch raw VAAs through a Rust gRPC Server/Client.
  • A metadata object from the analysis of duplicated VAAs returned by Wormhole Scan/Spy.
  • A base64-binary decoding algorithm for VAAs (based on official efforts).
  • A more robust Anomaly Detection domain use-cases to around VAAs sequences.
  • An event store that provides audibility and reproducibility of the domain storage.
  • A transactional database to command and query analytics, enabled with a time-series extension.

FrontEnd

  • A Deno-based WebSocket connection to ingest Spy backend data in its low-latency fashion.
  • A high-level interface for DataTables, Charts, and LocalStorage customizable Widgets (WIP).

Infrastructure

Kubernetes Deployment

  • Deployment of the Wormhole Spy service in a Kubernetes cluster with NodePort exposure.
  • Working manifests for deploying the backend services pulled by a local Registry.
  • Integration of a service mesh to secure gRPC and REST communication between the backend and frontend.

Monitoring and Observability

  • Integration of Prometheus and Grafana alongside OTEL for backend metrics and logs. (WIP in feature/observability branch).
  • Dashboards for Wormhole Spy and VAA analytics (e.g., gRPC latency, request volume, and anomaly detection statistics).

About

Observes and analyzes Wormhole VAAs for cross-chain activity.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published