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
Component | Minimum | Recommended |
---|---|---|
CPU | 4+ cores | 8+ cores |
RAM | 16GB | 32GB |
Storage | 100GB SSD | 500GB+ SSD |
Network | 100Mbps | 1Gbps+ |
Software Requirements
Requirement | Minimum Version | Description |
---|---|---|
Operating System | Ubuntu 20.04+ / macOS 12.0+ | Latest LTS recommended |
Git | Latest | Version control |
Rust | Latest stable | Core development language |
Solana CLI | v2.0+ | Program compilation tools |
Arch Network CLI | Latest | Development 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 CLI
sh -c "$(curl -sSfL https://release.solana.com/stable/install)"
# Verify installation (should show 2.x.x or later)
solana --version
4. Install Arch Network CLI
macOS - Apple Silicon
Installation instructions for Apple Silicon Macs
macOS - Intel
Installation instructions for Intel Macs
Linux - x86_64
Installation instructions for Linux x86_64
Linux - ARM64
Installation instructions for Linux ARM64
macOS - Apple Silicon
curl -L -o cli https://github.com/Arch-Network/arch-node/releases/latest/download/cli-aarch64-apple-darwin
chmod +x cli
sudo mv cli /usr/local/bin/
macOS - Intel
curl -L -o cli https://github.com/Arch-Network/arch-node/releases/latest/download/cli-x86_64-apple-darwin
chmod +x cli
sudo mv cli /usr/local/bin/
Linux - x86_64
curl -L -o cli https://github.com/Arch-Network/arch-node/releases/latest/download/cli-x86_64-unknown-linux-gnu
chmod +x cli
sudo mv cli /usr/local/bin/
Linux - ARM64
curl -L -o cli https://github.com/Arch-Network/arch-node/releases/latest/download/cli-aarch64-unknown-linux-gnu
chmod +x cli
sudo mv cli /usr/local/bin/
Verify installation:
cli --version
Docker Requirements
For running the complete Arch Network stack locally, you'll need Docker:
Install Docker
macOS
- Recommended: OrbStack - Lightweight and fast
- Alternative: Docker Desktop
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
VS Code (Recommended)
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:
Service | Port | Description |
---|---|---|
Bitcoin Core RPC | 18443 (regtest) / 18332 (testnet) | Bitcoin RPC interface |
Titan HTTP API | 8080 | Titan HTTP API |
Titan TCP API | 3030 | Titan TCP interface |
Arch Validator RPC | 9002 | Validator RPC interface |
Arch Validator P2P | 9003 | 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 9003
sudo ufw allow 8080
sudo ufw allow 3030
Troubleshooting
Solana Installation Issues
If you installed Rust through Homebrew and encounter cargo-build-sbf
issues:
- Remove existing Rust installation:
rustup self uninstall
- Perform clean Rust installation:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
- 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 http://localhost:9002/health
# Check service logs
arch-cli orchestrate logs
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 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
Quick Start Guide
Get your first program running in 15 minutes
Validator Setup
Set up a complete validator node
Writing Your First Program
Learn to build Arch programs