Homebrew
This guide explains how to install, configure, and manage the Colibri Server using Homebrew on macOS.
Prerequisites
macOS 10.15 (Catalina) or later
Homebrew installed
Installation
Step 1: Add the Colibri Tap
brew tap corpus-core/colibriStep 2: Install Colibri Server
brew install colibri-serverThis will install:
colibri-server- The main server executablecolibri-prover- CLI tool for generating proofscolibri-verifier- CLI tool for verifying proofscolibri-ssz- CLI tool for SSZ encoding/decoding
Step 3: Configure the Server
The configuration file is located at:
/opt/homebrew/etc/colibri/server.confEdit the configuration file to customize your setup:
nano /opt/homebrew/etc/colibri/server.confImportant Configuration Options:
Network Binding (Security):
# For local use only (secure, recommended for Metamask):
HOST=127.0.0.1
# For remote access (use with caution):
HOST=0.0.0.0Port:
PORT=8090Chain Configuration:
CHAIN_ID=1 # 1=Ethereum Mainnet, 11155111=Sepolia, 17000=HoleskyRPC Endpoints:
RPC=https://eth.llamarpc.com,https://rpc.payload.de
BEACON=https://lodestar-mainnet.chainsafe.io/Service Management
Colibri Server can run as a background service (daemon) using Homebrew's built-in service management.
Start the Service
brew services start colibri-serverThe server will:
Start automatically on system boot
Restart automatically if it crashes
Run in the background
Stop the Service
brew services stop colibri-serverRestart the Service
brew services restart colibri-serverCheck Service Status
brew services list | grep colibrior
brew services info colibri-serverViewing Logs
Logs are stored in:
/opt/homebrew/var/log/colibri-server.log # Standard output
/opt/homebrew/var/log/colibri-server.error.log # Error outputTail the logs in real-time:
tail -f /opt/homebrew/var/log/colibri-server.logor
tail -f /opt/homebrew/var/log/colibri-server.error.logView last 100 lines:
tail -100 /opt/homebrew/var/log/colibri-server.logRunning Manually (Without Service)
If you prefer to run the server manually (e.g., for testing):
colibri-server -f /opt/homebrew/etc/colibri/server.confPress Ctrl+C to stop the server.
CLI Tools Usage
Generating Proofs
colibri-prover eth_getBalance '["0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb"]' > proof.sszVerifying Proofs
colibri-verifier eth_getBalance proof.sszSSZ Operations
colibri-ssz -t BeaconBlock -h block.sszFor detailed usage, run:
colibri-prover --help
colibri-verifier --help
colibri-ssz --helpUpdating Colibri Server
brew update
brew upgrade colibri-serverAfter upgrading, restart the service:
brew services restart colibri-serverUninstallation
Stop and Remove the Service
brew services stop colibri-serverUninstall the Package
brew uninstall colibri-serverRemove Configuration (Optional)
rm -rf /opt/homebrew/etc/colibri
rm -f /opt/homebrew/var/log/colibri-server*.logRemove the Tap (Optional)
brew untap corpus-core/colibriTroubleshooting
Server Won't Start
Check the logs:
tail -f /opt/homebrew/var/log/colibri-server.error.logVerify configuration:
colibri-server --helpCheck if port is already in use:
lsof -i :8090
Permission Issues
Homebrew services run as your user, so no sudo is required. If you encounter permission issues:
chmod 644 /opt/homebrew/etc/colibri/server.confService Not Starting on Boot
brew services restart colibri-serverThis will re-register the service with the system.
Using Colibri as Metamask RPC Provider
Start the service:
brew services start colibri-serverIn Metamask, go to Settings → Networks → Add Network
Configure:
Network Name: Colibri Local
RPC URL:
http://127.0.0.1:8090Chain ID: 1 (or your configured chain)
Currency Symbol: ETH
Metamask will now use your local Colibri server for all RPC requests, providing verified and trustless data.
Advanced Configuration
Performance Tuning with Memcached
For better performance, install and enable Memcached:
brew install memcached
brew services start memcachedThen edit your config:
MEMCACHED_HOST=localhost
MEMCACHED_PORT=11211Restart the service:
brew services restart colibri-serverWeb Configuration UI
⚠️ Security Warning: Only enable on trusted networks!
Edit your config:
WEB_UI_ENABLED=1Access at: http://127.0.0.1:8090/config.html
Support
Documentation: https://corpus-core.gitbook.io/specification-colibri-stateless
GitHub: https://github.com/corpus-core/colibri-stateless
Issues: https://github.com/corpus-core/colibri-stateless/issues
Email: jork@corpus.io
License
Core Library: MIT License
Server Component: PolyForm Noncommercial License 1.0.0 (Commercial licenses available)
For commercial licensing, contact: jork@corpus.io
Last updated