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"] }
|
secp256k1 = { workspace = true, features = ["global-context", "rand-std", "recovery", "serde"] }
|
||||||
enr = { workspace = true, default-features = false, features = ["rust-secp256k1"] }
|
enr = { workspace = true, default-features = false, features = ["rust-secp256k1"] }
|
||||||
rlp = "0.5" # needed for enr
|
rlp = "0.5" # needed for enr
|
||||||
|
|
||||||
# async/futures
|
# async/futures
|
||||||
tokio = { workspace = true, features = ["io-util", "net", "time"] }
|
tokio = { workspace = true, features = ["io-util", "net", "time"] }
|
||||||
tokio-stream.workspace = true
|
tokio-stream.workspace = true
|
||||||
|
|||||||
@ -283,6 +283,12 @@ impl Discv4 {
|
|||||||
self.lookup_node(Some(node_id)).await
|
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
|
/// Sends a message to the service to lookup the closest nodes
|
||||||
pub fn send_lookup(&self, node_id: PeerId) {
|
pub fn send_lookup(&self, node_id: PeerId) {
|
||||||
let cmd = Discv4Command::Lookup { node_id: Some(node_id), tx: None };
|
let cmd = Discv4Command::Lookup { node_id: Some(node_id), tx: None };
|
||||||
|
|||||||
Reference in New Issue
Block a user