Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a discovery mechanism for nodes based on their capabilities #59

Merged
merged 5 commits into from
Feb 14, 2024

Conversation

tomaka
Copy link
Contributor

@tomaka tomaka commented Dec 18, 2023

Copy link
Contributor

@xlc xlc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice. This will solve the problem of how to have tools like Chopsticks to access the network without depending on a hardcoded archive node RPC url.

text/0059-nodes-capabilities-discovery.md Outdated Show resolved Hide resolved
Co-authored-by: Xiliang Chen <xlchen1291@gmail.com>
@tomaka tomaka mentioned this pull request Jan 18, 2024
@eskimor
Copy link

eskimor commented Jan 22, 2024

Seems sensible.


### DHT provider registration

This RFC heavily relies on the functionalities of the Kademlia DHT already in use by Polkadot. You can find a link to the specification [here](https://github.com/libp2p/specs/tree/master/kad-dht).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A permalink would be more, well, permanent


## Unresolved Questions

While it fundamentally doesn't change much to this RFC, using `BabeApi_currentEpoch` and `BabeApi_nextEpoch` might be inappropriate. I'm not familiar enough with good practices within the runtime to have an opinion here. Should it be an entirely new pallet?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

elaborate?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we could introduce two runtime functions named for example NetworkDht_currentRandomness and NetworkDht_nextRandomness that return just the randomness used in the DHT.

From a purely technical point of view, this would be exactly the same as using BabeApi_currentEpoch and BabeApi_nextEpoch, but it would be more flexible. For example, once we switch to Sassafras, the upgrade would be more seamless than if the usage of Babe is hardcoded.

As the text says, I don't have an opinion here.

@tomaka
Copy link
Contributor Author

tomaka commented Feb 1, 2024

/rfc propose

@paritytech-rfc-bot
Copy link
Contributor

Hey @tomaka, here is a link you can use to create the referendum aiming to approve this RFC number 0059.

Instructions
  1. Open the link.

  2. Switch to the Submission tab.

  1. Adjust the transaction if needed (for example, the proposal Origin).

  2. Submit the Transaction


It is based on commit hash 6dcc7f4133d6d03eb24b15a625dd0ee074eb35d3.

The proposed remark text is: RFC_APPROVE(0059,3b9db9ec85fd6bdb60d793bfc16fa4eee6ffcad560abbfdde7b90777f0d56352).

@tomaka
Copy link
Contributor Author

tomaka commented Feb 1, 2024

Copy link

github-actions bot commented Feb 2, 2024

Voting for this referenda is ongoing.

Vote for it [here]https://collectives.polkassembly.io/referenda/71

@tomaka
Copy link
Contributor Author

tomaka commented Feb 14, 2024

/rfc process 0xa4420c9530f483792c449f0749491ee76cc86e859bb592d59bd6c4f216e7ded0

@paritytech-rfc-bot paritytech-rfc-bot bot merged commit 7bfe4be into polkadot-fellows:main Feb 14, 2024
@paritytech-rfc-bot
Copy link
Contributor

The on-chain referendum has approved the RFC.

@tomaka tomaka deleted the rfc57 branch February 14, 2024 08:22
@anaelleltd anaelleltd added the Approved Has passed on-chain voting. label Sep 10, 2024
@anaelleltd
Copy link
Contributor

@tomaka, do you have an update on the status of this RFC?
Thanks.

@tomaka
Copy link
Contributor Author

tomaka commented Sep 16, 2024

This RFC is an extension of RFC 8, and these two can be implemented together
paritytech/polkadot-sdk#1825 more or less also covers this RFC

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Approved Has passed on-chain voting.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants