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

Check if unstable rpc api should be introduced #658

Closed
haerdib opened this issue Oct 30, 2023 · 6 comments
Closed

Check if unstable rpc api should be introduced #658

haerdib opened this issue Oct 30, 2023 · 6 comments
Assignees
Labels
F8-newfeature Introduces a new feature Q3-substantial

Comments

@haerdib
Copy link
Contributor

haerdib commented Oct 30, 2023

Parity has a new (currently unstable) Rpc Api: https://paritytech.github.io/json-rpc-interface-spec/api/chainHead_unstable_body.html

The following should be looked at:

  1. When will this be stabilized?
  2. Should we already introduce API wrapper functions for this Api, or wait until stabilization?
@haerdib haerdib added the F8-newfeature Introduces a new feature label Oct 30, 2023
@haerdib haerdib self-assigned this Feb 9, 2024
@haerdib
Copy link
Contributor Author

haerdib commented Feb 15, 2024

According to https://paritytech.github.io/json-rpc-interface-spec/grouping-functions-and-node-capabilities.html:

Unstable functions
No guarantee is offered as to the stability of functions with unstable as their version number. They can disappear, get renamed, change parameters, or change return value without any warning.
For obvious reasons, higher-level applications should not rely on unstable functions. Please open an issue in this repository if some critical feature is missing or is only covered by an unstable function.
The presence of unstable functions in the interface exposed by a JSON-RPC server is not a problem by itself. Not all functions are destined to be stabilized, and it is normal for some functions to remain unstable forever.
Unstable functions are especially useful for core/parachain developers to add debugging utilities to their client implementation. For example, if a developer wants to investigate the list of Grandpa votes, they could introduce a function named grandpa_unstable_votes.
It is expected that all new functions added to this interface go through a testing phase during which they're unstable.

So unstable functions are meant to be used by developers, which is the target group of the api-client. As they may never get stabilized, I believe we should definitely add unstable functions that are of interest already now.

With our CI we will find out when interfaces change and are sure our functions are up to date.

@haerdib
Copy link
Contributor Author

haerdib commented Feb 15, 2024

@haerdib
Copy link
Contributor Author

haerdib commented Feb 15, 2024

@masapr what do you think? Should we actually implement these functions?

@masapr
Copy link
Collaborator

masapr commented Feb 22, 2024

@haerdib I don't think we should add these. It's more important, that we have a nice example on how our users can make a call we don't provide for them. So that they have the possibility to make these calls, but they are not "encouraged" to do so. Also, let's keep in mind, that any function we add, we also have to maintain. It's not worth it for these type of functions, I think.

@haerdib
Copy link
Contributor Author

haerdib commented Feb 23, 2024

Okay, I totally agree with the idea with the example! Let's do that

@haerdib
Copy link
Contributor Author

haerdib commented Feb 23, 2024

Closing this issue in favor of #728. @masapr please reopen if you disagree.

@haerdib haerdib closed this as completed Feb 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
F8-newfeature Introduces a new feature Q3-substantial
Projects
None yet
Development

No branches or pull requests

2 participants