A Rust library that provides automatic proxy rotation for Alloy providers. Distributes requests across multiple proxies in a round-robin fashion to avoid rate limits.
Add this to your Cargo.toml:
[dependencies] alloy-multiproxy-provider = "0.1.0"use alloy_multiproxy_provider::MultiProxyProvider; use alloy::providers::Provider; use reqwest::Url; #[tokio::main] async fn main() -> Result<(), Box<dyn std::error::Error>> { let proxies = vec![ "http://proxy1.example.com:8080".to_string(), "http://username:password@proxy2.example.com:8080".to_string(), "http://proxy3.example.com:8080".to_string(), ]; let rpc_url = Url::parse("https://eth-mainnet.alchemyapi.io/v2/your-api-key")?; let provider = MultiProxyProvider::new(proxies, rpc_url).await?; // Use like any other Alloy provider let block_number = provider.get_block_number().await?; println!("Latest block: {}", block_number); Ok(()) }MIT