Installation
This guide covers the installation and setup process for Wind Network
Prerequisites
Before installing Wind Network, ensure you have the following prerequisites:
✓Rust 1.70+ and Cargo
✓Node.js 16+ and npm/yarn (for TypeScript examples)
✓Solana CLI tools
✓Git
Quick Start
Clone the Repository
git clone https://github.com/wind-network/windexer.git
cd windexer
Build the Project
cargo build --workspace
Running wIndexer
1. Start a Local Validator with Geyser Plugin
make run-validator-with-geyser
2. Start a Node
In a new terminal window:
make run-node-1
3. Start an Indexer
In another terminal window:
make run-indexer-1
Configuration
Example configuration with multiple storage options:
{
"storage": {
"storage_type": "rocksdb", // Primary storage type (rocksdb, parquet, postgres)
"rocksdb_path": "/path/to/rocksdb",
"hot_cold_separation": true, // Enable hot/cold storage separation
"parquet": {
"directory": "/path/to/parquet",
"max_file_size_mb": 256,
"compression_enabled": true,
"partition_by_slot": true // Create separate files by slot ranges
},
"postgres": {
"connection_string": "postgres://user:password@localhost:5432/windexer",
"create_tables": true,
"batch_size": 1000,
"max_connections": 10
}
}
}
Storage Configuration
storage_type
- Primary storage backend (rocksdb, parquet, postgres)hot_cold_separation
- Enable tiered storage for optimal performanceNetwork Configuration
p2p_port
- Port for P2P communication (default: 8000)api_port
- Port for HTTP API (default: 3000)Testing the Installation
Generate Test Data
cd examples/typescript
npm install
npm run generate-data
Query the Indexed Data
npm run query-windexer
Verify Installation
Check that all components are running correctly:
curl http://localhost:3000/api/health
Expected response:
{
"status": "ok",
"version": "1.0.0",
"timestamp": "2024-03-21T12:00:00Z"
}
Next Steps
Now that you have Wind Network installed, explore these resources: