Product Introduction
- Definition: The Amadeus Protocol Node is an open-source, Erlang-based software client designed to operate as a validating or full node on the Amadeus Protocol blockchain. It is the core infrastructure software for participating in this decentralized network.
- Core Value Proposition: It exists to enable developers, validators, and organizations to directly participate in the Amadeus Protocol's consensus mechanism, secure the blockchain network, process transactions, and deploy smart contracts, thereby contributing to the ecosystem's decentralization and operational resilience.
Main Features
- Network Consensus Participation: The node software allows users to run a node that participates in the Amadeus Protocol's consensus algorithm. It validates transactions and blocks, ensuring network integrity and security. It works by connecting to peer nodes, syncing the blockchain state, and executing the protocol's specific consensus rules.
- Smart Contract Execution Environment: The node provides a runtime environment for WebAssembly (WASM) smart contracts, as evidenced by the included
contract_samples. It handles the deployment, state management, and execution of decentralized applications (dApps) built for the Amadeus blockchain. - Local Testnet Deployment: A key feature for developers is the built-in capability to launch a local testnet. This allows for rapid development and testing of smart contracts and transactions in an isolated environment before deploying to the main network. The process involves setting environment variables (
TESTNET=true) and configuring local DNS and browser settings for RPC API access. - Automated Operation & System Integration: The software is designed for production deployment, with explicit instructions for running as a
systemdservice. It supports auto-updates via an environment variable (AUTOUPDATE=true) and includes detailed system tuning recommendations for optimizing UDP stack performance and file descriptor limits on Linux systems for high-throughput network operation.
Problems Solved
- Pain Point: The complexity and resource intensity of bootstrapping and maintaining a secure, high-performance blockchain node. The Amadeus node software provides a pre-configured, containerized (Docker/Podman) build process and production-ready service configuration to lower the barrier to entry.
- Target Audience: Blockchain Validators/Stakers seeking to earn rewards by securing the network; Smart Contract Developers needing a robust local test environment and mainnet deployment target; Organizations & Enterprises requiring a reliable full node for reading blockchain data or submitting transactions without relying on third-party services.
- Use Cases: Development and Testing: Using the local testnet to debug AssemblyScript or other WASM-based smart contracts. Network Validation: Running a "computor" node (with
COMPUTOR=trueenvironment variable) to participate in block production and consensus. Running an RPC Endpoint: Operating a full node to provide private or public RPC API access for wallets and dApps.
Unique Advantages
- Differentiation: Compared to many node clients that are monolithic or written in C++/Go, the Amadeus node is built on the Erlang/OTP platform, which is renowned for building fault-tolerant, distributed, and highly concurrent systems with hot code swapping capabilities. This architectural choice suggests a focus on resilience and uptime.
- Key Innovation: The integrated, one-command local testnet setup is a significant developer experience innovation. It abstracts away the complexity of multi-node orchestration for testing, allowing a single developer to simulate a functioning network with RPC on standard ports (80/443) locally, drastically accelerating the development feedback loop.
Frequently Asked Questions (FAQ)
- What are the system requirements to run an Amadeus Protocol node? The node is tested on Linux Kernel 6.8 and Ubuntu 24.04. It requires a stable internet connection and sufficient disk space for the blockchain ledger. For optimal performance as a validator, the provided system tuning for UDP buffers and file descriptors is recommended.
- How do I deploy a smart contract on the Amadeus Protocol testnet? After starting the local testnet, you can use the Elixir REPL to deploy a compiled WebAssembly (.wasm) smart contract file using the
Testnet.deployfunction, followed by calls to the contract's functions usingTestnet.call. - Can I run the Amadeus node as a validator to earn staking rewards? Yes, by setting the environment variable
COMPUTOR=trainerand running the node software, you configure it to participate as a validating node in the network's consensus, potentially earning rewards for securing the chain. - Is the Amadeus Protocol node software open source and free to use? Yes, the software is publicly available on GitHub under an open-source license. However, it is provided "as is" for educational and research purposes, and users must comply with all applicable laws, including U.S. export restrictions.
- What is the purpose of the provided
build.Dockerfileandbuild.shscript? These files create a reproducible, containerized build environment for compiling the Erlang-based node software from source, ensuring consistency and simplifying the build process across different operating systems.