Thanks to visit codestin.com
Credit goes to lib.rs

#blockchain #amadeus #blockchain-node

amadeus-node

The core library for the Amadeus blockchain node, containing consensus, networking and runtime

6 stable releases

Uses new Rust 2024

1.3.5 Dec 30, 2025
1.3.4 Dec 23, 2025
1.3.2 Dec 19, 2025
1.3.1 Dec 16, 2025
1.1.9 Oct 14, 2025

#6 in #blockchain-node


Used in amadeus-cli

Apache-2.0

745KB
16K SLoC

amadeus-node

Crates.io Documentation

Core library for the Amadeus blockchain node with networking, consensus, and storage.

Installation

[dependencies]
amadeus-node = "1.3"

Features

  • Networking - UDP P2P protocol with encryption and compression
  • Consensus - BFT consensus with dual chains (rooted and temporal)
  • Storage - RocksDB-backed persistent chain storage
  • Transaction Pool - Mempool and nonce tracking
  • Peer Management - ANR (Amadeus Network Records) and handshakes

Quick Example

use amadeus_node::{Config, Context};

// Load configuration
let config = Config::from_fs(None, None).await?;

// Create network context
let ctx = Context::with_config_and_socket(config, socket).await?;

// Handle incoming message
let protocol_msg = ctx.parse_udp(&buf, src_ip).await;
let instructions = ctx.handle(protocol_msg?, src_ip).await?;

for instruction in instructions {
    ctx.execute(instruction).await?;
}
use amadeus_node::consensus::doms::tx;

// Build transaction
let tx_packed = tx::build(
    &config,
    b"Coin",
    "transfer",
    &[recipient, amount, symbol],
    None,
    None,
    None,
);

Module Structure

  • config - Node configuration and identity
  • context - Runtime state container
  • consensus::fabric - Chain storage (RocksDB)
  • consensus::doms - Domain types (Entry, Tx, Attestation)
  • node::protocol - Network message handling
  • node::peers - Peer connection management
  • node::txpool - Transaction pool
  • metrics - Performance telemetry

Feature Flags

  • system-metrics - Enable CPU/memory monitoring (default)

Documentation

For detailed API documentation, see docs.rs/amadeus-node.

License

Apache-2.0

Dependencies

~57MB
~1M SLoC