Skip to content
This repository has been archived by the owner on Feb 28, 2021. It is now read-only.

client: Enforce runtime version #26

Closed
geigerzaehler opened this issue Oct 28, 2019 · 11 comments
Closed

client: Enforce runtime version #26

geigerzaehler opened this issue Oct 28, 2019 · 11 comments

Comments

@geigerzaehler
Copy link

geigerzaehler commented Oct 28, 2019

The client library should check the runtime version of the chain when it connects to a node. If the runtime version is newer than the runtime version the client was compiled with then the client should return an error. This would prevent users from forgetting to run an updated client.

@rockbmb

This comment has been minimized.

@geigerzaehler

This comment has been minimized.

@NunoAlexandre

This comment has been minimized.

@geigerzaehler

This comment has been minimized.

@NunoAlexandre

This comment has been minimized.

@NunoAlexandre NunoAlexandre added this to the Ledger-upgrades milestone Apr 29, 2020
@NunoAlexandre NunoAlexandre changed the title Enforce runtime version in client client: Enforce runtime version May 8, 2020
@NunoAlexandre NunoAlexandre mentioned this issue May 8, 2020
3 tasks
@NunoAlexandre
Copy link
Contributor

@geigerzaehler, @kim threw a good point about this one: https://radicle.community/t/rambles-on-updating-the-radicle-registry/210/6

In short, it should be the runtime enforcing a minimum client version, not the client enforcing a max runtime version.

@geigerzaehler
Copy link
Author

In short, it should be the runtime enforcing a minimum client version, not the client enforcing a max runtime version.

I don’t think it’s a good idea to couple the runtime to the CLI. This would require us to define this logic in the runtime code and provide APIs so that the CLI can access it.

@NunoAlexandre
Copy link
Contributor

shoot, that is right. On the other hand, having the runtime or the node define that is simpler than having the client figure it out, as the only way I see the client being able to know whether it supports some new version of the runtime it didn't know about at the time of its release is by querying some third-party, alike the idea described in #417. Do you have an idea in mind on how to go about this otherwise?

@geigerzaehler
Copy link
Author

The simplest approach would be to only support the runtime spec versoin that the CLI was build and tested with. This might require users to update the CLI more often than necessary but updating is a very easy thing to do especially since the CLI is a tool for devs and those experimenting with the ffnet. I don’t think coming up with anything more complex is worth the effort.

@NunoAlexandre
Copy link
Contributor

Yes, that sounds good to me for a first version and for the foreseeable future 👍

@NunoAlexandre
Copy link
Contributor

Superseded by #471

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants