Aqua CLI
Install a binary for notarization and verification
The Aqua CLI is a command-line tool for creating, signing, witnessing, and verifying Aqua Protocol chains. Built with Rust, it provides a simple interface for working with Aqua chains without writing code.
Features
- Chain Validation: Verify Aqua chain integrity and signatures
- Signing: Add cryptographic signatures to revisions
- Witnessing: Anchor chains to Ethereum networks (mainnet, Sepolia, Holesky)
- Batch Operations: Process multiple chains efficiently
- Environment Configuration: Flexible configuration via environment variables
Installation
From Source
1git clone https://github.com/inblockio/aqua-cli-rs2cd aqua-cli-rs3cargo build --releaseThe binary will be available at target/release/aqua-cli
Local Development
1cargo build2cd target/debug3./aqua-cli --helpConfiguration
Configure the CLI using environment variables:
1# Optional: Domain identifier (auto-generated if not specified)2export aqua_domain="your_domain"3 4# Network for witnessing (default: sepolia)5export aqua_network="sepolia" # or "holesky" or "mainnet"6 7# Verification platform (default: none)8export verification_platform="alchemy" # or "infura" or "self"9 10# Blockchain for witnessing (default: none)11export chain="sepolia" # or "mainnet" or "holesky"12 13# API key for Alchemy or Infura14export api_key="your_api_key"15 16# Path to keys file for signing17export keys_file="path/to/keys.json"Basic Usage
Get started with the CLI:
1# Display help2./aqua-cli --help3 4# Verify an Aqua chain5./aqua-cli verify --file chain.aqua.json6 7# Sign a chain8./aqua-cli sign --file chain.aqua.json --keys keys.json9 10# Witness a chain on Sepolia testnet11./aqua-cli witness --file chain.aqua.json --network sepoliaKeys File Format
Create a keys.json file for signing operations:
1{2 "private_key": "your_private_key_hex",3 "wallet_address": "0xYourEthereumAddress"4}Security Note: Use a wallet without MetaMask for CLI operations. Keep your keys file secure and never commit it to version control.
Versioning
Ensure the CLI version matches your Aqua Protocol version:
- Use CLI version
4.0.xfor Aqua Protocol v4 chains - Use CLI version
3.x.xfor Aqua Protocol v3 chains
Testing
The repository includes a test script for verifying functionality:
1# Grant execution permissions2chmod +x test_aqua_cli.sh3 4# Run tests5./test_aqua_cli.shUse Cases
- Quick Verification: Validate chain integrity without building applications
- CI/CD Integration: Automate verification in deployment pipelines
- Batch Processing: Process multiple chains in scripts
- Development Testing: Quickly test chain creation and verification
- System Administration: Manage Aqua chains from the command line
Repository
GitHub: github.com/inblockio/aqua-cli-rs
Documentation
For more information about Aqua Protocol v4:
Version
Current Version: 4.0.0
Built using the Aqua Rust SDK for Aqua Protocol v4 support.
