feat: Add random lookup for discv4 (#5975)

This commit is contained in:
Supernovahs.eth
2024-01-08 23:22:24 +05:30
committed by GitHub
parent 5353ac3c05
commit 2287392405
2 changed files with 6 additions and 1 deletions

View File

@ -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

View File

@ -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 };