3

Is it possible to determine all of the IP addresses of validators on the network? I imagine it is necessary to be able to, but is there a direct call that can be made to a running validator node?

Edit: I've tried calling authority-discovery a few ways, but it seems there are issues accessing it due to private fields. I haven't found any examples of it being called directly except for tests, which have their own pseudo instantiations (not sure the proper Rust terminology). The supposed "polkadot-sdk" is starting to feel a little "black box".

let (worker, service) = sc_authority_discovery::new_worker_and_service(
    client.clone(),
    network.clone(),
    Box::pin(dht_event_stream),
    authority_discovery_role,
    prometheus_registry.clone(),
);

This is from a test, but I haven't seen a clean example of the client and network objects being created in the docs or any other project.

1 Answer 1

2

You can use authority-discovery to get the current and next set of authorities but I'm not aware of any direct calls that you can make to fetch the IP addresses of validators.

The look-up yields a Vec<Multiaddr> which contains the addresses the authority can be reached at.

1
  • I'm pretty new to Rust and working code examples in the Substrate docs seem to be sparse, is it possible to show a simple example of getting data back from this function? Sep 8, 2023 at 0:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.