it works, but this refactor ended up a lot slower

This commit is contained in:
Bryan Stitt 2022-05-04 05:49:12 +00:00
parent 24cdc0e7c1
commit 3b1ed9474c
3 changed files with 21 additions and 7 deletions

5
.gitignore vendored
View File

@ -1,4 +1,5 @@
/target /data/config/*.toml
/flamegraph.svg
/perf.data /perf.data
/perf.data.old /perf.data.old
/flamegraph.svg /target

View File

@ -5,12 +5,25 @@ listen_port = 8445
[balanced_rpc_tiers.0] [balanced_rpc_tiers.0]
[balanced_rpc_tiers.0.local_erigon] [balanced_rpc_tiers.0.geth]
url = "ws://127.0.0.1:8545" url = "ws://127.0.0.1:8546"
soft_limit = 68_000 soft_limit = 50_000
[private_rpcs] [private_rpcs]
[private_rpcs.eden]
url = "https://api.edennetwork.io/v1/"
soft_limit = 1_805
[private_rpcs.eden_beta] [private_rpcs.eden_beta]
url = "https://api.edennetwork.io/v1/beta" url = "https://api.edennetwork.io/v1/beta"
soft_limit = 5_861 soft_limit = 5_861
[private_rpcs.ethermine]
url = "https://rpc.ethermine.org"
soft_limit = 5_861
[private_rpcs.flashbots]
url = "https://rpc.flashbots.net"
soft_limit = 7074

View File

@ -135,13 +135,13 @@ impl Web3Connection {
match &self.provider { match &self.provider {
Web3Provider::Http(provider) => { Web3Provider::Http(provider) => {
// TODO: there is a "watch_blocks" function, but a lot of public nodes do not support the necessary rpc endpoints // there is a "watch_blocks" function, but a lot of public nodes do not support the necessary rpc endpoints
// TODO: what should this interval be? probably some fraction of block time // TODO: what should this interval be? probably some fraction of block time
// TODO: maybe it would be better to have one interval for all of the http providers, but this works for now // TODO: maybe it would be better to have one interval for all of the http providers, but this works for now
let mut interval = interval(Duration::from_secs(2)); let mut interval = interval(Duration::from_secs(2));
loop { loop {
// wait for 2 seconds // wait for the interval
interval.tick().await; interval.tick().await;
let block_number = provider.get_block_number().await.map(|x| x.as_u64())?; let block_number = provider.get_block_number().await.map(|x| x.as_u64())?;