-
Notifications
You must be signed in to change notification settings - Fork 16
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
Deprecate available commands at root of cardano-cli #1015
Comments
@rdlrt Let me try to explain where we are heading:
In conclusion, top-level is era independent, anything else that depend on era goes under |
Thanks for your reply.
That does not fully make sense - when you're using query commands, you're already talking to node - you should not require an input from user regarding which era is to be queried (as a query from node should not return any different output).
Sure, but then perhaps address/stake-address could also move to A. I am still not getting a clear reason as to why top-level commands are desirable (especially B. Presence of query into era-specific commands does not make sense either -- could stay at root, as the query is to be made against node - which is era-aware, whether it returns response against a specific sub-command (eg: Splitting these in the way they currently are (especially under top-level |
The queries are defined in the Ledger and they depend depend on The CLI uses the Node-to-Client miniprotocol to communicate with the node, of course. The thing is, the CLI cannot make assumptions about the era on the node it is talking to. Sometimes, it may be communicating with a local cluster running in the Alonzo, or Babbage era, while other times, it might interact with a node on a network operating in the Conway era. It is the user who needs to be aware of this piece of information. That said, you have a valid point. Perhaps we could modify the CLI so that every
These already exist under If a new era introduces changes to the CDDL that affect any of these commands (e.g., if the upcoming era supports a new However, if the Placing
I agree that some of these commands are not necessary at the top level. Many of these will indeed be removed or reorganized. We are in the middle of this process—pre-Conway era commands are deprecated and will soon be removed. I'm open to discussing further reorganization. Some of them, however, are being preserved to provide backwards compatibility (i.e.
Top-level commands indicate that they are "era-independent" or behave the same way across all eras. That's why there is a We must also consider that queries and node responses require serialization and deserialization, which itself is That said, an alternative could be removing top-level queries entirely, placing them only under specific eras (i.e.
All of this to say, that YES, we recognize you have a valid point and we are trying to improve the UI/UX, we are in the process, we just need to balance things out and consider needs from different types of users. |
Description
The current state of cardano-cli top-level sub-commands is quite chaotic and a bit too unpredictable. While I appreciate deprecation of specific commands, what we have currently is far from desirable.
cardano-cli address
available at top level. We also havecardano-cli <era> address
which is deprecated, and then we havecardano-cli latest address
. It seems redundant to havecardano-cli address
as well ascardano-cli latest address
. To make it worse, if we go and check stake address - we do NOT havecardano-cli stake-address
, butcardano-cli latest stake-address
works. This requires us to check for each and every object individually rather than being able to count on some consistency.cardano-cli query
vscardano-cli latest query
. Latter gives us a lot more options (eg:treasury
,ref-script-size
, conway-specific queries).It sounds like the options presented at root should be atleast marked as deprecated, if not - have some consistency between root and latest.
Possible Solution
Retire all duplicates and only leave available commands under
latest
(or at root) and move anything from previous era tocompatible
The text was updated successfully, but these errors were encountered: