### Aura Node Configuration File Example Source: https://github.com/faddat/aura/blob/main/README.md An example TOML configuration file for an Aura node, defining essential parameters such as moniker, home directory, genesis and node key file paths, P2P network settings, and consensus timeouts for the Malachite engine. ```toml moniker = "solo-validator" home = "." genesis_file = "genesis.json" # see next step priv_validator_key_file = "node_key.json" # we just created it node_key_file = "node_key.json" # same file is fine [p2p] listen_addr = "/ip4/0.0.0.0/tcp/26656" external_addr = "" seeds = [] [consensus] # → all values are the defaults Malachite expects timeout_propose_ms = 3000 timeout_prevote_ms = 1000 timeout_precommit_ms = 1000 timeout_commit_ms = 1000 ``` -------------------------------- ### Run Aura Multi-Node Testnet Source: https://github.com/faddat/aura/blob/main/README.md Starts a local development testnet with a specified number of validator nodes. This allows for testing the consensus mechanism and network behavior with multiple participants. ```bash cargo run --bin aura -- multi-node-testnet --nodes 100 ``` -------------------------------- ### Run Aura Single Node Testnet Source: https://github.com/faddat/aura/blob/main/README.md Executes the Aura application to start a local development testnet with a single validator node. This command is useful for quick local testing and development. ```bash cargo run -p aura -- single-node-testnet ``` -------------------------------- ### Build Rust Project Source: https://github.com/faddat/aura/blob/main/AGENTS.md Compiles the entire Rust workspace to confirm that the code builds successfully without compilation errors. ```Shell cargo build ``` -------------------------------- ### Format Rust Code with Cargo Fmt Source: https://github.com/faddat/aura/blob/main/AGENTS.md Ensures all Rust code in the workspace adheres to the standard formatting rules using `cargo fmt`. Verification can be done with the `--check` flag. ```Shell cargo fmt --all ``` ```Shell cargo fmt --all -- --check ``` -------------------------------- ### Aura Project Directory Structure Source: https://github.com/faddat/aura/blob/main/README.md Illustrates the approximate file and directory layout of the Aura project, detailing the workspace definition, main application, core libraries for ZKP circuits, node logic, wallet management, and external dependencies like Malachite. ```txt ├── Cargo.toml (workspace definition) ├── aura │ ├── Cargo.toml │ └── src/ │ ├── main.rs (Parses subcommands, dispatches to modules) │ ├── node_cmd.rs (Logic for `aura node ...`) │ ├── wallet_cmd.rs (Logic for `aura wallet ...`) │ ├── utils_cmd.rs (Logic for `aura utils ...`) │ └── config.rs (Handles config file loading/saving) ├── aura-core/ │ ├── Cargo.toml │ └── src/ (ZKP circuits, note logic, tx structures, genesis parsing) ├── aura-node-lib/ (Name it something like this to avoid conflict with `node_cmd.rs`) │ ├── Cargo.toml │ └── src/ (Aura application logic that implements Malachite App trait, │ sled state management, RPC server logic, mempool) ├── aura-wallet-lib/ │ ├── Cargo.toml │ └── src/ (Wallet key management, transaction construction (ZKP gen), │ blockchain scanning client logic, sled for local wallet DB) └── malachite-core/ (As a dependency) ``` -------------------------------- ### Run Rust Clippy for Linting and Automated Fixes Source: https://github.com/faddat/aura/blob/main/AGENTS.md Applies the Clippy linter to the Rust codebase to identify common mistakes and idiomatic issues, automatically fixing them where possible. The `--offline` flag ensures it runs without network access. ```Shell cargo clippy --fix --offline ``` -------------------------------- ### Run Workspace Tests for Rust Project Source: https://github.com/faddat/aura/blob/main/AGENTS.md Executes all tests across the Rust workspace to ensure code functionality and prevent regressions. Any test failures due to external factors should be noted in the pull request. ```Shell cargo test --workspace ``` -------------------------------- ### Malachite Consensus Engine Channel Messages Source: https://github.com/faddat/aura/blob/main/README.md Defines the specific message types that the Aura application currently handles when interacting with the Malachite consensus engine via the `malachitebft_app_channel` crate. These messages represent the interface for consensus-related operations. ```APIDOC ConsensusReady StartedRound GetValue ExtendVote VerifyVoteExtension RestreamProposal GetHistoryMinHeight ReceivedProposalPart GetValidatorSet Decided GetDecidedValue ProcessSyncedValue ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.