Skip to content

feat(core): add multi-provider RPC registry with health checking#86

Merged
ayomideadeniran merged 4 commits intoSoroLabs:mainfrom
martinvibes:multi-node-rpc
Feb 25, 2026
Merged

feat(core): add multi-provider RPC registry with health checking#86
ayomideadeniran merged 4 commits intoSoroLabs:mainfrom
martinvibes:multi-node-rpc

Conversation

@martinvibes
Copy link
Copy Markdown
Contributor

  • Add new rpc_provider module with RpcProvider struct and ProviderRegistry for managing multiple RPC endpoints
  • Implement circuit breaker pattern with configurable failure threshold and cooldown period
  • Add background health checker that periodically probes providers using getLatestLedger RPC method
  • Add RPC_PROVIDERS environment variable support for JSON-encoded provider configuration with optional authentication headers
  • Add health_check_interval_secs configuration option (default 30 seconds)
  • Update SimulationEngine to accept ProviderRegistry instead of single RPC URL
  • Integrate provider registry initialization and health checker spawning in main application startup
  • Add comprehensive provider selection logic with failover and priority-based routing
  • Enables resilient multi-node RPC failover for improved reliability and availability

closes #67

martinvibes added 2 commits February 25, 2026 19:36
- Add new `rpc_provider` module with `RpcProvider` struct and `ProviderRegistry` for managing multiple RPC endpoints
- Implement circuit breaker pattern with configurable failure threshold and cooldown period
- Add background health checker that periodically probes providers using `getLatestLedger` RPC method
- Add `RPC_PROVIDERS` environment variable support for JSON-encoded provider configuration with optional authentication headers
- Add `health_check_interval_secs` configuration option (default 30 seconds)
- Update `SimulationEngine` to accept `ProviderRegistry` instead of single RPC URL
- Integrate provider registry initialization and health checker spawning in main application startup
- Add comprehensive provider selection logic with failover and priority-based routing
- Enables resilient multi-node RPC failover for improved reliability and availability
@ayomideadeniran
Copy link
Copy Markdown
Collaborator

Pr under review.

@ayomideadeniran
Copy link
Copy Markdown
Collaborator

@martinvibes Nice Implementations.

@ayomideadeniran ayomideadeniran merged commit 5e5a4d0 into SoroLabs:main Feb 25, 2026
1 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Backend] Multi-Node RPC Failover and High-Availability System

2 participants