Skip to content

[FEATURE] - query the node for the max protocol version supported. #773

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

Open
3 of 18 tasks
CarlosLopezDeLara opened this issue May 22, 2024 · 13 comments
Open
3 of 18 tasks
Assignees

Comments

@CarlosLopezDeLara
Copy link
Contributor

What

As an SPO or DREP or CC, after updating my node to the version that supports a specific hardfork, I want to query the node for the maximum protocol version it supports before casting my vote, so that I can confirm it supports the protocol version required by the hardfork.

Why

What if it doesn't? 😱 How do I know?

Acceptance Criteria

When I send a query to the node requesting the maximum protocol version it supports,
then:

  • The node returns the maximum protocol version it currently supports
  • The response should be received within a reasonable timeframe.
  • The response is clear about Major and Minor components of the protocol version.

Personas

  • [x ] SPOs
  • DReps
  • CC members
  • dApp Devs
  • Exchanges
  • Wallets
  • 3rd party tools
  • ADA holders

Definition of Done (DoD)

  • Acceptance Criteria + User Stories & DoD created and singed-off (by PO, dev & test owners)
  • Builds successfully on CI
  • Code & Test review (as per Acceptance Criteria)
  • There is documentation and/or examples for the new functionality (usage/response)
  • Log/record changes on Vnext (or similar depending on what we adopt)
  • Ticket number(s) included in PR description
  • All Acceptance Criteria met and covered by dev/unit/property/integration tests
  • System/E2E automated tests + System Test Engineer Owner Sign-off

NOTE: Ideally, we should merge only fully implemented and tested features into the master branch.
So all the above steps are required for the PR to be merged.
In order to avoid the PRs becoming stale and requiring to be rebased on master, these can be merged
after a reasonable time (current agreement is 3 days) if the System Test Engineer Owner's sign-off
was not provided (last step in the DoD).

IMPORTANT: Any deviation from the plan should be discussed and agreed as a comment in the Feature file.

Sign-off

  • Product Owner
  • Dev Owner
  • System Test Engineer Owner

Related PRs

  1. PR # here
@gitmachtl
Copy link
Contributor

The max. supported Protocol-Version is hardcoded into the cardano-cli and cardano-node right?
A function to expose that directly via cardano-cli would be super nice yes. Maybe there should be a general new function that shows cardano-cli internals, like this max supported version, minimal supported node-version, etc? Like the query-tip function, but for internals only, not live data. This should all also work offline.

@carbolymer
Copy link
Contributor

@gitmachtl afaik CLI uses ledger's whatever max version is in the code. It's the node which validates if protocol version used is ok. Relevant PR: IntersectMBO/cardano-node#5820

@gitmachtl
Copy link
Contributor

@gitmachtl afaik CLI uses ledger's whatever max version is in the code. It's the node which validates if protocol version used is ok. Relevant PR: IntersectMBO/cardano-node#5820

if you try to generate a hardforkcertificate with latest cli, and you try f.e. 12.1, it quits with the following error:

cardano-cli-latest: mkProtocolVersionOrErr: invalid protocol version (12,1)
CallStack (from HasCallStack):
  error, called at src/Cardano/CLI/EraBased/Options/Governance/Actions.hs:246:7 in cardano-cli-8.23.1.0-inplace:Cardano.CLI.EraBased.Options.Governance.Actions

calling it with protocol-version like 11.6 works.

so there is also some limitation (maxProtocol) in the cli itself

@carbolymer
Copy link
Contributor

It uses this value: https://github.com/IntersectMBO/cardano-ledger/blob/master/libs/cardano-ledger-binary/src/Cardano/Ledger/Binary/Version.hs#L54 . I guess we can return this as well.

This comment was marked as off-topic.

This comment was marked as off-topic.

This comment was marked as off-topic.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

@github-actions github-actions bot added the Stale label Mar 1, 2025
@carbolymer carbolymer removed the Stale label Mar 3, 2025

This comment has been minimized.

@newhoggy
Copy link
Contributor

newhoggy commented May 2, 2025

Depends on: IntersectMBO/ouroboros-consensus#1477

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

No branches or pull requests

4 participants