Rock Node is a high-performance, decentralized data-availability layer for the Hiero network. It provides a robust solution for data availability and verification, enabling efficient block storage and retrieval while maintaining decentralization.
Key features:
- High-performance block ingestion and verification
- Decentralized data availability
- Efficient block storage and retrieval
- Real-time block streaming
- Cryptographic proof generation
- Plugin-based architecture for extensibility
Before you begin, ensure you have the following installed:
- Rust 1.75.0 or later
- Cargo (Rust's package manager)
- Git
- Docker (optional, for containerized deployment)
-
Clone the repository:
git clone https://github.com/yourusername/rock-node.git cd rock-node
-
Build the project:
cargo build --release
-
Run the application:
cargo run --release
Rock-Node ships with a comprehensive default configuration at config/config.toml
. Every value can be overridden via environment variables – perfect for container or cloud deployments.
See the full Configuration Reference for a table-by-table mapping of TOML keys to their corresponding environment-variable names, default values and descriptions.
Quick override example:
# run with TRACE log level without touching the TOML file
ROCK_NODE__CORE__LOG_LEVEL=TRACE cargo run
To run using Docker:
docker build -t rock-node .
docker compose up -d
We welcome contributions to Rock Node! Please see our Contributing Guide for details on how to submit pull requests, report issues, and suggest improvements.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
Please read our Code of Conduct to keep our community approachable and respectable.
This project is licensed under:
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)