mirror of
https://github.com/datahaven-xyz/datahaven
synced 2026-05-24 09:50:01 +00:00
Add comprehensive documentation for the 4 Snowbridge relays: - Beacon Relay: Syncs Ethereum beacon chain finality to DataHaven - BEEFY Relay: Submits DataHaven BEEFY proofs to Ethereum - Execution Relay: Delivers Ethereum messages to DataHaven - Solochain Relay: Sends DataHaven messages to Ethereum Each document includes: - CLI flags and configuration file structure - Key requirements (Ethereum/Substrate private keys) - Docker and Kubernetes deployment examples - Multi-instance deployment for high availability - Monitoring and troubleshooting guides Also updates README.md with Snowbridge section and relay overview table. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
4.4 KiB
4.4 KiB
DataHaven Node Operations Documentation
This directory contains comprehensive documentation for setting up and operating DataHaven and StorageHub nodes.
Documentation Structure
DataHaven Nodes
- Bootnode Setup - Bootnode configuration and operations
- Validator Setup - Validator node configuration and operations
- Full Node Setup - Full node (RPC) configuration and operations
StorageHub Nodes
- MSP Setup - Main Storage Provider configuration and operations
- BSP Setup - Backup Storage Provider configuration and operations
- Indexer Setup - Indexer node configuration and operations
- Fisherman Setup - Fisherman node configuration and operations
Snowbridge Relays
- Beacon Relay - Ethereum beacon chain → DataHaven
- BEEFY Relay - DataHaven BEEFY finality → Ethereum
- Execution Relay - Ethereum messages → DataHaven
- Solochain Relay - DataHaven messages → Ethereum
Quick Reference
Node Types Overview
| Node Type | Purpose | Keys Required | On-Chain Registration | Database Required |
|---|---|---|---|---|
| Bootnode | Network peer discovery | None | No | No |
| Validator | Block production & consensus | 4 (BABE, GRANDPA, ImOnline, BEEFY) | Yes (session.setKeys) | No |
| Full Node | RPC endpoint, sync only | None | No | No |
| MSP | Main storage provider | 1 (BCSV ECDSA) | Yes (2-step: request + confirm) | Optional |
| BSP | Backup storage provider | 1 (BCSV ECDSA) | Yes (2-step: request + confirm) | No |
| Indexer | Blockchain data indexer | None | No | Yes (PostgreSQL) |
| Fisherman | Storage provider monitor | 1 (BCSV ECDSA) | No | Yes (PostgreSQL) |
Snowbridge Relays Overview
| Relay | Direction | Keys Required | Persistent Storage |
|---|---|---|---|
| Beacon Relay | Ethereum → DataHaven | Substrate | Yes (datastore) |
| BEEFY Relay | DataHaven → Ethereum | Ethereum | No |
| Execution Relay | Ethereum → DataHaven | Substrate | Yes (datastore) |
| Solochain Relay | DataHaven → Ethereum | Ethereum + Substrate | Yes (datastore) |
Common CLI Flags
All node types support standard Substrate flags:
--chain <CHAIN_SPEC>- Chain specification (dev, local, stagenet-local, testnet-local, mainnet-local)--base-path <PATH>- Base directory for chain data--name <NAME>- Human-readable node name--port <PORT>- P2P network port (default: 30333)--rpc-port <PORT>- WebSocket RPC port (default: 9944)--rpc-external- Listen on all network interfaces--rpc-cors <ORIGINS>- CORS origins for RPC (default: localhost)--bootnodes <MULTIADDR>- Bootstrap nodes for peer discovery
Key Types Reference
| Key Type | Scheme | Purpose | Required For |
|---|---|---|---|
gran |
ed25519 | GRANDPA finality | Validators |
babe |
sr25519 | BABE block authoring | Validators |
imon |
sr25519 | ImOnline heartbeat | Validators |
beef |
ecdsa | BEEFY bridge consensus | Validators |
bcsv |
ecdsa | Storage provider identity | MSP, BSP, Fisherman |
Prerequisites
- Docker - Container runtime
- Bun v1.2+ - For testing and tooling
- Foundry - For smart contract operations
- PostgreSQL - For Indexer and Fisherman nodes
Getting Started
- Choose your node type from the list above
- Follow the specific setup guide for that node type
- Generate or import keys as required
- Configure CLI flags and environment
- Start the node
- Complete on-chain registration (if required)