Agave is a high-performance blockchain platform designed for scalability and speed. This repository contains the Agave validator implementation, a fork of the Solana blockchain.
Agave is built on the foundation of Solana's architecture, featuring:
- High throughput with thousands of transactions per second
- Low transaction fees (fractions of a penny)
- Fast block times (~400ms)
- Energy-efficient Proof of Stake consensus mechanism
- Smart contract support via the Solana Virtual Machine (SVM)
graph TD
A[Client] -->|Transactions| B[Validator]
B -->|Consensus| C[Ledger]
B -->|Execution| D[SVM - Solana Virtual Machine]
D -->|State Changes| C
B -->|Gossip Protocol| E[Other Validators]
F[RPC Client] -->|API Requests| B
The repository is organized into several key components:
- core: Main blockchain functionality including consensus, networking, and transaction processing
- validator: The node implementation that validates transactions and maintains the blockchain
- svm: The Solana Virtual Machine that executes smart contracts
- runtime: The execution environment for transactions
- programs: Built-in smart contracts that provide core functionality
- ledger: Storage and management of the blockchain data
- rpc: API for interacting with the blockchain
- cli: Command-line tools for interacting with the blockchain
- Rust and Cargo (latest stable version)
- System dependencies (Ubuntu example):
sudo apt-get update sudo apt-get install libssl-dev libudev-dev pkg-config zlib1g-dev llvm clang cmake make libprotobuf-dev protobuf-compiler libclang-dev
-
Clone the repository:
git clone https://github.com/anza-xyz/agave.git cd agave
-
Build the project:
./cargo build
For production use, build a release version:
./cargo build --release
To run a validator node, see the detailed instructions in the validator documentation.
- Run tests:
./cargo test
- Start a local testnet: See local testnet documentation
- Access the development cluster: Connect to
devnet.solana.com
Comprehensive documentation is available in the docs
directory and on the official documentation website.
Contributions are welcome! Please read our Contributing Guidelines before submitting a pull request.
Agave is licensed under the Apache License 2.0.