Arch Network Logo
Quick Start

System Requirements

Hardware and software requirements for Arch Network development

Welcome to the Arch Network development guide. This page contains all the requirements and setup instructions needed to start developing with Arch Network.

System Requirements

Hardware Requirements

ComponentMinimumRecommended
CPU4+ cores8+ cores
RAM16GB32GB
Storage100GB SSD500GB+ SSD
Network100Mbps1Gbps+

Software Requirements

RequirementMinimum VersionDescription
Operating SystemUbuntu 20.04+ / macOS 12.0+Latest LTS recommended
GitLatestVersion control
Rust1.94.0Host development toolchain
Solana/Agave CLI3.1.9+Provides cargo-build-sbf for program compilation
Arch Network CLILatestDevelopment toolkit

Installation Guide

1. Install Rust

# Install Rust using rustup
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env  # Add Rust to your current shell session

# Verify installation
rustc --version
cargo --version

2. Install Build Tools

macOS

xcode-select --install  # Install Command Line Tools

Linux (Debian/Ubuntu)

sudo apt-get update
sudo apt-get install -y build-essential gcc-multilib jq

3. Install Solana/Agave CLI

sh -c "$(curl -sSfL https://release.solana.com/stable/install)"

# Verify installation (use 3.1.9 or later)
solana --version

4. Install Arch Network CLI

The CLI README lists a cross-platform installer and Homebrew options:

# One-line installer
curl -sSL https://raw.githubusercontent.com/Arch-Network/arch-node/main/install.sh | bash

# Or install directly with Homebrew
brew install https://raw.githubusercontent.com/Arch-Network/homebrew-tap/main/arch-cli.rb

Verify installation:

arch-cli --version

Docker Requirements

For running the complete Arch Network stack locally, you'll need Docker:

Install Docker

macOS

Linux

# Ubuntu/Debian
sudo apt-get update
sudo apt-get install -y docker.io docker-compose
sudo systemctl start docker
sudo systemctl enable docker

# Add your user to docker group
sudo usermod -aG docker $USER
# Log out and back in for changes to take effect

Windows

Verify Docker Installation

docker --version
docker-compose --version
docker run hello-world

Development Environment Setup

Install the following extensions:

  • Rust Analyzer - Rust language support
  • Solana - Solana program development
  • GitLens - Enhanced Git capabilities
  • Thunder Client - API testing
  • Markdown All in One - Markdown support

Terminal Setup

macOS (iTerm2 + Oh My Zsh)

# Install iTerm2
brew install --cask iterm2

# Install Oh My Zsh
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

# Install useful plugins
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

Linux (Terminator + Oh My Bash)

# Install Terminator
sudo apt-get install terminator

# Install Oh My Bash
bash -c "$(curl -fsSL https://raw.githubusercontent.com/ohmybash/oh-my-bash/master/tools/install.sh)"

Network Requirements

Port Configuration

The following ports need to be available:

ServicePortDescription
Bitcoin Core RPC18443 (regtest) / 18332 (testnet)Bitcoin RPC interface
Titan HTTP API8080Titan HTTP API
Titan TCP API3030Titan TCP/subscription interface
Arch Validator RPC9002Validator RPC interface
Arch Validator P2P19001 (local validator) / 29001 (validator binary)Peer-to-peer networking

Firewall Configuration

macOS

# Allow incoming connections (if needed)
sudo pfctl -f /etc/pf.conf

Linux (UFW)

# Allow specific ports
sudo ufw allow 9002
sudo ufw allow 3030
sudo ufw allow 8080
sudo ufw allow 19001
sudo ufw allow 29001

Troubleshooting

Solana Installation Issues

If you installed Rust through Homebrew and encounter cargo-build-sbf issues:

  1. Remove existing Rust installation:
rustup self uninstall
  1. Perform clean Rust installation:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  1. Reinstall Solana:
sh -c "$(curl -sSfL https://release.solana.com/stable/install)"

Docker Issues

Docker daemon not running:

# macOS (Docker Desktop)
open -a Docker

# Linux
sudo systemctl start docker

Permission denied:

# Add user to docker group
sudo usermod -aG docker $USER
# Log out and back in

Network Issues

Port already in use:

# Find process using port
lsof -i :9002

# Kill process
kill -9 <PID>

Connection refused:

# Check if service is running
curl -X POST http://localhost:9002 \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "is_node_ready", "params": []}'

# Check the local validator service status
arch-cli orchestrate validator-status

Performance Optimization

System Tuning

Linux

# Increase file descriptor limits
echo "* soft nofile 65536" | sudo tee -a /etc/security/limits.conf
echo "* hard nofile 65536" | sudo tee -a /etc/security/limits.conf

# Optimize network settings
echo "net.core.rmem_max = 134217728" | sudo tee -a /etc/sysctl.conf
echo "net.core.wmem_max = 134217728" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

macOS

# Increase file descriptor limits
sudo launchctl limit maxfiles 65536 200000

Docker Optimization

# Increase Docker memory limit
# In Docker Desktop: Settings > Resources > Memory > 8GB+

# Enable experimental features for better performance
echo '{"experimental": true}' | sudo tee /etc/docker/daemon.json
sudo systemctl restart docker

Verification Checklist

Before proceeding with development, verify:

  • Rust is installed and working (rustc --version)
  • Solana/Agave CLI is installed (solana --version)
  • Arch CLI is installed (arch-cli --version)
  • Docker is running (docker --version)
  • All required ports are available
  • Development environment is configured
  • Network connectivity is working

Next Steps

Need Help?