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.
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.
Note that this project was made as a mere proof of concept. Still, ADRs will serve as a future-proof guide.
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).
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).