Closed fbozic closed 2 weeks ago
Initial estimation: ~1 week
We decided to go with simple delayed tokio::time::interval_at
as the initial implementation. The delay value will be generated randomly during configuration creation.
cc @MatejVukosav @miraclx
Currently, the node performs catch-up in case of missing
prior_hash
upon receivingTransaction
, or in case ofTransactionRejection
from the coordinator. The catch-up process is a blocking process by design on both sides (client and server).Our first attempt to perform an initial catch-up upon receiving the
Subscribed
event led to a bunch of timeouts because when multiple nodes are started at the same time they try to perform catch-up at the same time, reference: https://github.com/calimero-network/core/blob/dd01008cd8a7352b1c417d5b56289f1e3f079250/crates/node/src/lib.rs#L578-L596Initial ideas to tackle this issue:
ContextManager
,Store
,NetworkClient
(due to config), andTxPool
(this one might require extra care) from the catch-up reply task.