it works, but this refactor ended up a lot slower
This commit is contained in:
parent
24cdc0e7c1
commit
3b1ed9474c
|
@ -1,4 +1,5 @@
|
||||||
/target
|
/data/config/*.toml
|
||||||
|
/flamegraph.svg
|
||||||
/perf.data
|
/perf.data
|
||||||
/perf.data.old
|
/perf.data.old
|
||||||
/flamegraph.svg
|
/target
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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())?;
|
||||||
|
|
Loading…
Reference in New Issue