mirror of
https://github.com/hl-archive-node/nanoreth.git
synced 2025-12-06 10:59:55 +00:00
feat: Add random lookup for discv4 (#5975)
This commit is contained in:
@ -23,7 +23,6 @@ discv5.workspace = true
|
||||
secp256k1 = { workspace = true, features = ["global-context", "rand-std", "recovery", "serde"] }
|
||||
enr = { workspace = true, default-features = false, features = ["rust-secp256k1"] }
|
||||
rlp = "0.5" # needed for enr
|
||||
|
||||
# async/futures
|
||||
tokio = { workspace = true, features = ["io-util", "net", "time"] }
|
||||
tokio-stream.workspace = true
|
||||
|
||||
@ -283,6 +283,12 @@ impl Discv4 {
|
||||
self.lookup_node(Some(node_id)).await
|
||||
}
|
||||
|
||||
/// Performs a random lookup for node records.
|
||||
pub async fn lookup_random(&self) -> Result<Vec<NodeRecord>, Discv4Error> {
|
||||
let target = PeerId::random();
|
||||
self.lookup_node(Some(target)).await
|
||||
}
|
||||
|
||||
/// Sends a message to the service to lookup the closest nodes
|
||||
pub fn send_lookup(&self, node_id: PeerId) {
|
||||
let cmd = Discv4Command::Lookup { node_id: Some(node_id), tx: None };
|
||||
|
||||
Reference in New Issue
Block a user