feat(core): add multi-provider RPC registry with health checking#86
Merged
ayomideadeniran merged 4 commits intoSoroLabs:mainfrom Feb 25, 2026
Merged
feat(core): add multi-provider RPC registry with health checking#86ayomideadeniran merged 4 commits intoSoroLabs:mainfrom
ayomideadeniran merged 4 commits intoSoroLabs:mainfrom
Conversation
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
Collaborator
|
Pr under review. |
Collaborator
|
@martinvibes Nice Implementations. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
rpc_providermodule withRpcProviderstruct andProviderRegistryfor managing multiple RPC endpointsgetLatestLedgerRPC methodRPC_PROVIDERSenvironment variable support for JSON-encoded provider configuration with optional authentication headershealth_check_interval_secsconfiguration option (default 30 seconds)SimulationEngineto acceptProviderRegistryinstead of single RPC URLcloses #67