AI-ID: CP-GAL-NODEPOOL-001
Documentation: https://docs.hybridconnect.cloud/galaxy-node-pool
Mainnet Status: https://status.hybridconnect.cloud
The Galaxy Node Pool is a highly modular, plugin-ready, Dockerized Go service for Galaxy Network node registration and discovery. Supports both public and private pools with secure node registration, heartbeat monitoring, and specialized node discovery. Built by Castle Palette Cloud A.I. following the Gelato Protocol standards with a complete separation between public and enterprise components.
The Galaxy Node Pool provides a robust infrastructure for managing and discovering nodes within the Galaxy Network. Key features include:
- Modular Architecture: Built with a plugin system for easy extension
- Enterprise-Grade Security: Complete separation between public and private components
- Mainnet Integration: Seamless connection to the Galaxy mainnet with staking requirements
- High Availability: Designed for 99.9% uptime with automatic failover
- Scalable: Horizontally scalable to support thousands of nodes
- Go 1.20+ (for development)
- Docker 20.10+ (for containerized deployment)
- Kubernetes 1.24+ (for production deployments)
- Nginx (for production-like deployments)
- HCCO tokens (for mainnet staking requirements)
To connect to the Galaxy Network mainnet, the following staking requirements must be met:
-
Pool Staking:
- Minimum 100,000 HCCO tokens staked per pool
- Staking duration: 90 days minimum
- Slashing conditions apply for malicious behavior
-
Organization Staking:
- 10,000 HCCO tokens per organization
- Required for accessing enterprise features
- Refundable after 30-day cooldown period
-
Node Staking:
- 1,000 HCCO tokens per node
- Ensures network security and commitment
- Staked tokens locked for minimum 30 days
For detailed staking instructions and smart contract addresses, visit our staking portal.
The Galaxy Node Pool is built with extreme modularity and security in mind:
- Service Container: Dependency injection container for services
- Event System: Event-based communication between components
- Module System: Loadable modules with dependency management
- Plugin System: Dynamic plugin loading for extensibility
- Configuration Provider: Flexible configuration from multiple sources
- Staking Verifier: Validates staking requirements for mainnet access
- Node Authenticator: Handles node identity and authentication
- Load Balancer: Distributes traffic across available nodes
- Health Monitor: Tracks node health and availability
- Testnet Manager: Manages testnet environments with production-like features
- Certificate Manager: Handles SSL certificate generation and management
graph TD
A[Node] -->|1. Authentication| B[Staking Verifier]
B -->|2. Check Stakes| C[Staking Contract]
C -->|3. Verify Balance| D[Mainnet]
D -->|4. Access Granted| E[Node Pool]
E -->|5. Service| F[Network]
The Galaxy Node Pool provides a comprehensive testnet environment for development and testing:
- Easy Setup: Simple commands to initialize and manage testnet environments
- Production-Like: Mimics production environment with similar configurations
- Wildcard Domains: Support for wildcard domain patterns
- SSL Certificates: Automated SSL certificate management
- Nginx Integration: Automated Nginx configuration generation
# Initialize a testnet environment
galaxy-pool testnet init mypool --org-id myorg
# Generate Nginx configuration and SSL certificate
galaxy-pool testnet init mypool --org-id myorg --nginx --ssl
# Start the testnet pool
galaxy-pool testnet start mypool
# Check testnet status
galaxy-pool testnet status mypool
# Generate SSL certificate for existing testnet
galaxy-pool testnet ssl generate --pool-name mypool --org-id myorgFor detailed instructions, see Testnet Setup Guide
- Staking Requirements: All nodes must stake HCCO tokens
- Slashing Conditions: Malicious behavior results in token slashing
- Rate Limiting: Protection against DDoS attacks
- TLS Encryption: All communications are encrypted
- Audit Logging: Comprehensive security logging
- SSL Certificate Management: Automated certificate generation and renewal
For security disclosures, please contact security@hybridconnect.cloud
The codebase is divided into three distinct parts:
-
Open Source Components: Core functionality available to everyone
- Registry service
- Plugin system
- Module framework
- Basic pool operations
-
Enterprise Components: Main net integration (in
.gitignore)- Stellar blockchain integration
- Federation protocol
- Staker rewards
- Cross-pool discovery
-
Main Pool Implementation: Specific implementation of the main Galaxy pool (in
.gitignore)- Actual implementation of the main Galaxy pool
- Specific configurations and scaling logic
- Deployment scripts and admin tools
- Monitoring and alerting
# Clone the repository
git clone https://github.com/castle-palette/galaxy-node-pool.git
cd galaxy-node-pool
# Copy example config
cp configs/example.yaml configs/local.yaml
# Build and run with Docker
docker-compose up --build
# Or run locally (requires Go 1.20+)
go run cmd/galaxy-pool/main.go -config configs/local.yaml- Ensure you have sufficient HCCO tokens in your wallet
- Approve the staking contract to spend your tokens
- Deploy the pool with the required staking parameters:
# configs/mainnet.yaml
stake:
enabled: true
contract: "0x1234..." # Mainnet staking contract
amount: 100000 # HCCO tokens (minimum)
duration: 7776000 # 90 days in seconds- Start your pool with the mainnet configuration:
docker run -d \
-v $(pwd)/configs/mainnet.yaml:/app/config.yaml \
-e ENV=production \
ghcr.io/castle-palette/galaxy-pool:latestFor detailed deployment guides, see our documentation.
docker-compose up -d
galaxy-cli pool start --config configs/my-pool.yaml
galaxy-cli pool register --mainnet mainnet.registry.galaxy.network:50051
## Key Concepts
### Modular Architecture
- **Services**: Self-contained components with clear interfaces
- **Modules**: Loadable packages of functionality
- **Plugins**: Dynamic extensions loaded at runtime
- **Events**: Communication between components via events
### Pools vs Nodes
- **Pool**: A registry service that nodes register with and clients discover nodes from
- **Node**: A service that registers with a pool and advertises its specialization
### Public vs Private Pools
- **Public Pool**: Open for any node to register
- **Private Pool**: Restricted to specific organizations or nodes
- **All pools** connect to the main net and contribute to protocol value
### Main Net Federation
- Every pool (public or private) connects to the main net
- Fees and activity contribute to staker/token holder rewards via Stellar
- Optional advanced services available from main net
## Documentation
All documentation follows the Gelato Protocol `.gal` standard for modular, discoverable documentation:
docs/ βββ .gal.group # Root group file (start here) βββ pool/ # Pool-specific documentation βββ node/ # Node-specific documentation βββ versioning/ # Versioning strategy βββ phases/ # Development phases βββ beta/ # Beta testing and launch βββ enterprise/ # Enterprise and main net integration
Start with the [.gal.group](./docs/.gal.group) file for navigation.
## Enterprise Features
Enterprise features are separated from the public codebase and documentation:
- **Stellar Integration**: Identity, payments, and rewards via Stellar blockchain
- **Federation Protocol**: Cross-pool discovery and communication
- **Staker Rewards**: Distribution of fees to network stakers
- **Main Net Services**: Compliance verification, insurance, analytics
See the [enterprise documentation](./docs/enterprise/.gal.group.enterprise) for details.
## Development Status
See [STATUS.md](./STATUS.md) for the current implementation status and next steps.
## License
MIT