Overview
Public Testnet on Solana Devnet for stress testing. Real computations; no economic value.As a testnet operator, you’ll set up your own ARX node to participate in the Arcium network. This guide walks you through each step of the process. First, you’ll prepare your environment by installing the necessary tools and generating security keys. Then, you’ll get your node registered onchain and configure it to run. Finally, you’ll connect to other nodes in a cluster and start doing computations. By the end, you will:
- Install the Arcium tooling
- Generate required keypairs
- Fund accounts with Devnet SOL
- Initialize onchain node accounts
- Configure for Devnet
- Join or create a testnet cluster
- Deploy your node with Docker
Prerequisites
Before starting, ensure you have the following installed:- Rust: Install from rustup.rs
- Solana CLI 2.3.0: Install from Solana’s documentation
- Docker & Docker Compose: Install from Docker’s documentation
- OpenSSL: Install from OpenSSL’s documentation (usually pre-installed on macOS/Linux)
- Git: For cloning repositories and version control
- A reliable internet connection
- Basic familiarity with command-line tools
Step 1: Set Up Your Workspace
Create a dedicated folder for your node setup to keep everything organized:Step 2: Install Arcium Tooling
The Arcium tooling suite includes the CLI and ARX node software. Install it using the automated installer:- Check for all required dependencies
- Install
arcup(Arcium’s version manager) - Install the latest Arcium CLI
- Install the ARX node software
Step 3: Generate Required Keypairs
Your ARX node needs four different keypairs for secure operation. Create these in yourarcium-node-setup directory:
3.1 Node Authority Keypair
This Solana keypair identifies your node and handles onchain operations:The
--no-bip39-passphrase flag creates a keypair without a passphrase for easier automation.3.2 Callback Authority Keypair
This Solana keypair signs callback computations and must be different from your node keypair for security separation:3.3 Identity Keypair
This keypair handles node-to-node communication and must be in PKCS#8 format:3.4 BLS Keypair
This keypair is used for BLS (Boneh-Lynn-Shacham) threshold signatures on MPC computation callbacks. Generate it using the Arcium CLI:Step 4: Fund Your Accounts
Your node and callback accounts need Devnet SOL for transaction fees.The Devnet faucet has rate limits. Request only 1-2 SOL at a time and wait between requests if needed.
Step 5: Initialize Node Accounts
Now we’ll register your node with the Arcium network by creating its onchain accounts. This step tells the blockchain about your node and its capabilities. Set your Solana CLI to Devnet once so you can avoid passing
--rpc-url <rpc-url> repeatedly:
solana config set --url https://api.devnet.solana.com init-arx-accs command to initialize all required onchain accounts for your node:
Required Parameters:
--keypair-path: Path to your node authority keypair--callback-keypair-path: Path to your callback authority keypair--peer-keypair-path: Path to your identity keypair (PEM format)--bls-keypair-path: Path to your BLS keypair (JSON array format)--node-offset: Your node’s unique ID number on the network. Choose any unique number. If you get an error during setup saying your number is already taken, just pick a different one and try again.--ip-address: Your node’s public IP address--rpc-url: Solana Devnet RPC endpoint
Step 6: Configure Your Node
The configuration file specifies which network to connect to, how to communicate with other nodes, and various operational settings. Create anode-config.toml file in your arcium-node-setup directory:
If your node is behind NAT or a cloud firewall, ensure ports 8001 and 8002 are forwarded and allowed inbound on your public IP. Use your public IP for
--ip-address during initialization; network.address controls the local bind address. Using "0.0.0.0" ensures the process binds to all local interfaces while peers connect to the public IP you registered during init-arx-accs.Step 7: Cluster Operations
Clusters are groups of nodes that collaborate on MPC computations. For background on cluster concepts, see Clusters Overview. Most testnet operators should join an existing cluster. Only create your own cluster if you’re coordinating a group of nodes.- Join Existing Cluster
- Create New Cluster
To join an existing cluster, you must first be proposed by the cluster authority. Once proposed, accept the invitation:Parameters:
true: Accept the join request (usefalseto reject)--node-offset: Your node’s offset--cluster-offset: The cluster’s offset you’re joining
You cannot join a cluster unless the cluster owner has first proposed you using
propose-join-cluster.Submit Aggregated BLS Key (Required After Cluster is Full)
The command will verify that all cluster slots are filled before submitting. If nodes are still pending, it will fail with an error.
--keypair-path: Your node authority keypair (must be a node in the cluster)--cluster-offset: The cluster’s offset--node-offset: Your node’s offset within the cluster
Only one node needs to run this command. The CLI will automatically fetch all node BLS public keys from the cluster and aggregate them.
Step 8: Deploy Your Node
Before running Docker, prepare your environment and verify you have all required files:Ensure ports 8001 and 8002 are open in your OS and cloud provider firewalls.
Step 9: Verify Node Operation
Check that your node is running correctly:Check Node Status
Check if Node is Active
Monitor Logs
If using Docker:Devnet RPC Provider Recommendations
For better reliability, consider using dedicated RPC providers instead of the default public endpoints. Free tiers are sufficient for testnet - paid plans are NOT required. Recommended providers:Troubleshooting
Node Not Starting
Node Not Starting
- Verify all keypair files exist and are readable
- Check that
node-config.tomlis valid TOML - Ensure your IP address is accessible from the internet
Account Initialization Failed
Account Initialization Failed
- Verify you have sufficient SOL for transaction fees (5-10 SOL for callback authority, 1-2 SOL for other accounts)
- Check that your RPC endpoint is working
- Ensure node offset is unique
Cannot Join Cluster
Cannot Join Cluster
- Verify you’ve been invited by the cluster authority
- Check that cluster has available slots
- Ensure your node is properly initialized
Docker Issues
Docker Issues
- Verify Docker is running
- Check file permissions on mounted volumes
- Ensure ports are not already in use
What’s Next
Once your Testnet node is running successfully:- Join the Community: Connect with other node operators on Discord
- Stay Updated: Keep your Arcium tooling updated with
arcup install - Learn More: Read the Arcium Network Overview or Installation Guide