Overview
The RGB Lightning Node (RLN) is a specialized Lightning Network node that supports RGB assets on the Lightning Network. It allows you to:- Create payment channels containing RGB assets
- Route RGB asset-denominated payments across multiple channels
- Transfer RGB assets with the same user experience and security as regular Bitcoin Lightning payments
Hosting Methods Comparison
There are several ways to host an RGB Lightning Node, each with their own advantages and requirements:| Hosting Method | Advantages | Considerations | Technical Expertise |
|---|---|---|---|
| Docker | Easy setup, isolated environment, simple updates | Requires Docker knowledge | Medium |
| Direct Installation | Full control, no containerization overhead | Manual setup of dependencies, firewall, etc. | High |
| Hosted Provider | No technical setup, professional support | Less control, subscription cost | Low |
- Docker-based installation: Best for most users - provides an easy setup with the option to run full infrastructure or just the node.
- Direct installation on a VPS: Best for advanced users who need complete control over the system configuration.
- Hosted solution (ThunderStack): Best for users who want a professionally managed solution with minimal technical overhead.
Network Options
Regardless of your hosting method, you can run your node on different Bitcoin networks:| Network | Description | Use Case |
|---|---|---|
| Signet (Mutinynet) | Custom signet with 30-second blocks | Ideal for testing and development |
| Testnet | Bitcoin’s global testnet | Testing in a broader network |
| Regtest | Local testing network | Development and isolated testing |
| Mainnet | Bitcoin production network | Production use (coming soon) |
Trust Considerations
The infrastructure components you choose to run yourself vs. connect to externally impacts the level of trust required:- Zero-Trust Setup: Run your own Bitcoin Core, Electrs, RGB Proxy, and RGB Lightning Node
- Minimal Trust Setup: Run only the RGB Lightning Node and connect to hosted instances for other services
Option 1: Docker-Based Installation
Our Docker solution provides the easiest way to run an RGB Lightning Node. You can run the complete stack or just the node component.Prerequisites
- Docker and Docker Compose installed
- At least 4GB RAM and 50GB storage
- Basic knowledge of terminal commands
Quick Start with Makefile
The easiest way to get started is using the included Makefile:- Clone the repository:
- Choose how you want to run the stack:
Option 2: Direct Installation on a VPS
For advanced users who prefer complete control over their server environment, you can install the RGB Lightning Node directly on a VPS or bare-metal server.Prerequisites
- A VPS or server running Linux (Ubuntu/Debian recommended)
- Rust development environment
- Properly configured firewall (opening ports 3001 for API and 9735 for Lightning)
- Sufficient storage for blockchain data
Installation
- Clone the repository:
- Install the binary:
- Start the node:
<data-dir>with your chosen data directory<network>withregtest,testnet, orsignet(for Mutinynet)
- When unlocking the node, you’ll need to provide:
- Bitcoin RPC connection details
- Indexer URL
- RGB proxy endpoint
VPS Firewall Configuration
When running on a VPS, you’ll need to configure the firewall to allow necessary connectionsRunning as a System Service
For a production setup, create a systemd service:Option 3: Hosted Provider (ThunderStack)
If you prefer a professionally managed solution without the technical overhead of self-hosting, ThunderStack offers cloud-based RGB Lightning Node hosting.What is ThunderStack?
ThunderStack is a cloud-based solution designed to provide seamless node management for RGB and Lightning applications. It ensures high availability, enhanced security, and ease of management without the technical overhead of self-hosting.Key Features
- 24/7 Availability: Always-on infrastructure ensures uninterrupted operations
- No Maintenance: Leave the operational complexities of node management to ThunderStack
- Scalability: Add or remove nodes on demand as your needs evolve
- Security: Advanced security protocols like mTLS and Cognito for access control
- Integration Ready: Supports APIs, webhooks, and SDKs for easy integration
ThunderStack vs. Self-Hosting
| Aspect | ThunderStack | Self-Hosting |
|---|---|---|
| Technical Expertise | Minimal | Moderate to High |
| Setup Time | Minutes | Hours to Days |
| Maintenance | Handled by ThunderStack | User Responsibility |
| Control | Limited to API | Full Control |
| Cost | Subscription-based | Infrastructure Costs |
| Uptime | Professional SLAs | Depends on Your Setup |
Network Environments
Connection Details for Different Networks
Regtest Environment
For regtest testing, you can use these connection details:Testnet Environment
For testnet3 testing, you can use:Signet (Mutinynet) Environment
For signet testing, you can use:Mutinynet: A Custom Bitcoin Signet for Testing
Mutinynet is a custom Bitcoin Signet network designed specifically for testing Lightning Network applications. It offers:- Extremely fast block times (30 seconds per block vs. 10 minutes on mainnet)
- Stable testnet environment without competition for block space
- Pre-configured for compatibility with RGB Lightning Nodes
- Ideal for testing RGB assets on Lightning
- Mutinynet Explorer & Mempool - View blocks, transactions, and mempool
- Mutinynet Faucet - Get free test coins for development
- Mutinynet GitHub Repository - Technical documentation and source code
Node Operation
Once your node is running, it can be operated via REST APIs.API Overview
The node exposes a comprehensive API for managing your node:- Channel management: open/close channels, connect/disconnect peers
- Asset operations: issue, send, and manage RGB assets
- Payment handling: create/pay invoices, keysend, etc.
- Node information and control
Basic Operations
Here are some common operations:Get a Bitcoin Address
Get Node Information
Check Bitcoin Balance
Hardware Requirements
For optimal performance:| Environment | CPU | RAM | Storage | Network |
|---|---|---|---|---|
| Testing (Mutinynet) | 2 cores | 4GB | 25GB | 10Mbps |
| Testnet | 2 cores | 4GB | 50GB | 10Mbps |
| Production | 4+ cores | 8GB+ | 500GB+ SSD | 100Mbps+ |
Security Considerations
When hosting your own node:- Firewall Configuration: Only expose necessary ports (3001 for API, 9735 for LN peers)
- Authentication: Use strong passwords and consider adding API authentication
- Backups: Regularly backup your node’s data directory
- Updates: Keep all components updated to patch security vulnerabilities
Troubleshooting
Common Issues
Node won’t start- Check if Bitcoin Core is running and accessible
- Verify the indexer connection is working
- Ensure the RGB proxy server is running
- Check firewall settings
- Verify the node URL is correct
- Ensure the node is running and unencrypted
- Bitcoin Core might still be syncing
- The indexer might be behind the blockchain
- For Mutinynet, make sure you’re using the correct signet seed nodes
- Ensure you’re using the custom Bitcoin build with Mutinynet support
- Check that your electrs instance is configured for Signet
- Verify the
NETWORK=signetenvironment variable is set - For connection issues, verify Mutinynet seeds are correctly configured
- If transactions aren’t confirming, check the Mutinynet Explorer for network status
Getting Help
If you encounter issues:- Check the GitHub repository for known issues
- Visit the KaleidoSwap Telegram for community support
- Open an issue on the GitHub repository with detailed information about your problem