Quickstart
This quickstart guide walks you through using the Lumos CLI to build and deploy an SSN (Shared Security Network) on Catalysis Network. We'll use the official Docker image to simplify setup and ensure consistency across environments.
To use the Lumos CLI and Catalysis Core, you need to contact the Catalysis team for access. The Lumos CLI Docker image is currently private and requires proper authentication to pull and use.
📧 Contact: yanshu@catalysis.network or reach out via telegram to request access.
Prerequisites​
Before starting, ensure you have:
- Docker installed and running
- Access to an Ethereum testnet (Sepolia, Holesky, Hoodi) with testnet ETH
- RPC endpoint for your chosen network
- Basic understanding of blockchain concepts
Docker Setup​
We'll use the official Lumos CLI Docker image:
The volume mounts ensure:
-v $(pwd):/workspace
: Current directory is accessible for config files-v $HOME/.catalyst:/root/.catalyst
: Key storage persists between commands
Phase 1: Setup & Key Management​
Step 1: Generate Cryptographic Keys​
Your SSN needs three types of keys for different operations:
Key Types:
- P2P Key: For peer-to-peer communication between nodes
- Submitter Key: For signing and submitting transactions on-chain
- Task Signing Key: For signing task results and attestations
Key Generation Options:
--type
:ecdsa
orbls
(ECDSA recommended for most use cases)--passphrase-file
: Path to file containing passphrase (more secure than interactive input)--key-dir
: Custom directory for key storage (default:~/.catalyst
)
Step 2: List and Verify Keys​
Phase 2: Network Deployment​
Step 3: Register Your Network​
Deploy the core smart contracts for your SSN:
Required Parameters:
--name
: Human-readable name for your network--metadata
: URL to metadata JSON describing your SSN--rpc-url
: Ethereum RPC endpoint for contract deployment--private-key-name
: Name of key for transaction signing--output-file
: Path to save network configuration (contains contract addresses)
What This Does:
- Deploys
NetworkManager
,StakeManager
, andTaskManager
contracts - Registers your SSN on-chain
- Outputs contract addresses and configuration to JSON file
Step 4: Configure Network Assets (Vaults)​
Add vaults that provide economic security to your network:
Vault Configuration:
- Vault Address: Address of the restaking vault (from Symbiotic, EigenLayer, etc.)
- Committee ID: Numeric identifier for the committee (start with 0)
- Amount: Maximum stake limit in wei (18 decimal places for ETH)
Step 5: Configure Task Types​
Define the types of tasks your SSN will handle:
Task Configuration:
- Task Type: Numeric identifier for different task categories
- Task Majority: Percentage threshold for task validation (in basis points: 6700 = 67%)
Phase 3: Operator Management​
Step 6: Register Operators​
Operators can register themselves to participate in your network:
Step 7: Add Operators to Committees​
Phase 4: Development & Deployment​
Step 8: Scaffold Your SSN Project​
Generate boilerplate code for your custom SSN logic:
Scaffold Output:
- Creates a new project directory with template code
- Generates
execute()
andverify()
function templates - Includes Docker configuration and build scripts
- Sets up basic project structure with dependencies
Step 9: Start Relay Node (Optional)​
For local testing and development, start a relay node to facilitate P2P communication:
Relay Configuration:
--key-id
: P2P key for relay identity--http-address
: HTTP endpoint for relay communication--p2p-tcp-address
: TCP address for P2P networking--p2p-advertise-private-addresses
: Enable for local development--p2p-relay-loglevel
: Logging level for debugging
Management Commands​
Removing Assets and Operators​
Security Best Practices​
- Passphrase Management: Always use
--passphrase-file
instead of interactive input for automated scripts - Key Storage: Keep the
~/.catalyst
directory secure and backed up - Private Keys: Never share private keys or include them in version control
- RPC URLs: Use secure, authenticated RPC endpoints for production deployments
- Network Configuration: Keep your
network_config.json
file secure - it contains critical contract addresses
Next Steps​
After completing this quickstart:
- Implement Custom Logic: Edit the scaffolded code to implement your SSN-specific task execution and verification logic
- Testing: Test your SSN on testnet before mainnet deployment
- Monitoring: Set up observability and monitoring for your deployed network
- Documentation: Create operator guides and user documentation for your specific SSN
For more detailed information, check out the Integration Guide and Catalyst SDK Documentation.
Troubleshooting​
Common Issues​
Docker Volume Permissions:
Key Not Found:
RPC Connection Issues:
- Verify RPC URL is accessible
- Check network connectivity
- Ensure sufficient ETH for gas fees
Transaction Failures:
- Verify private key has sufficient ETH
- Check gas price and limits
- Confirm contract addresses in network config
For additional help, consult the FAQ section or reach out to the Catalysis community.