Architecture

Wind Network's architecture is designed for scalability, reliability, and performance

Wind Network's architecture is designed for scalability, reliability, and performance. The system is composed of several interconnected components that work together to provide a comprehensive indexing solution.

Components

Wind Network consists of several modular components:

🔌Geyser Plugin

Connects directly to Solana validators to stream real-time data. This plugin captures blockchain events as they happen, ensuring minimal latency between on-chain activity and indexed data.

🌐Node Network

P2P network for data propagation and redundancy. Built on libp2p gossipsub protocol, nodes communicate and share indexed data to ensure high availability and fault tolerance.

🗄️Indexers

Specialized nodes that index and serve data via API. These nodes process raw blockchain data, apply transformations, and make it queryable through REST and WebSocket interfaces.

📦Client SDK

Libraries for interacting with Wind Network services. Available in TypeScript, Rust, and Python, providing idiomatic interfaces for each language ecosystem.

Data Flow

1

Data Ingestion

Raw blockchain data is captured through the Geyser plugin interface from Solana validators. This includes accounts, transactions, blocks, and program events.

2

Processing

Data is processed, filtered, and transformed according to indexing rules. This includes deserializing program data, computing derived values, and organizing data for efficient queries.

3

Storage

Processed data is stored in the selected storage backend. Different storage engines are optimized for different access patterns and use cases.

4

Query

Users access indexed data through the HTTP/WebSocket API or SDK. Queries are routed to the appropriate storage backend and results are returned in a standardized format.

Storage Options

Wind Network supports multiple storage backends to suit different use cases:

RocksDB (Default)

The default storage option, optimized for high-throughput write operations.

✓ Pros
  • • Fast writes
  • • Low latency reads
  • • Good for hot storage
  • • Minimal resource usage
✗ Cons
  • • Limited query capabilities
  • • No complex analytics
  • • Key-value access only

Best for: Real-time data ingestion, recent data access, simple key-based lookups

Apache Parquet

Columnar storage format optimal for analytics workloads.

✓ Pros
  • • Excellent compression (3-4x better than JSON)
  • • High query performance
  • • Efficient for analytics
  • • Great for time-series data
✗ Cons
  • • Append-only
  • • Not suited for frequent updates
  • • Higher write latency

Best for: Analytics, cold storage, historical data, data warehouse workloads

PostgreSQL

Relational database with rich query capabilities.

✓ Pros
  • • SQL queries
  • • Complex analytics
  • • ACID compliance
  • • Point-in-time recovery
✗ Cons
  • • Higher resource usage
  • • Slower writes than specialized options
  • • Requires maintenance

Best for: Complex queries, local development, transaction analysis, regulatory compliance

Hot/Cold Storage Architecture

Wind Network supports a hot/cold storage architecture for optimal performance and cost efficiency:

🔥 Hot Storage

Recent data stored in RocksDB for fast access. Typically contains the last 7-30 days of data for immediate queries.

❄️ Cold Storage

Historical data archived in Parquet or PostgreSQL. Optimized for analytics and long-term retention.

This approach provides the best of both worlds: fast write performance during data ingestion and excellent query performance for analytics on historical data.

Network Topology

Wind Network operates as a decentralized peer-to-peer network with different node types serving specific functions:

Validator Nodes: Run Geyser plugin, stream raw blockchain data

Indexer Nodes: Process and store data, serve API endpoints

Relay Nodes: Facilitate data propagation, improve network connectivity

Archive Nodes: Long-term storage, historical data queries