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

Disable development eras configuration flag #4030

Conversation

Jimbo4350
Copy link
Contributor

This lets us advertise that we know about the Babbage era and we no longer require the "TestEnableDevelopmentHardForkEras" config flag

@Jimbo4350 Jimbo4350 marked this pull request as ready for review June 9, 2022 19:09
Babbage and advertise that we know about the Babbage era
@Jimbo4350 Jimbo4350 force-pushed the jordan/remove-test-enable-development-hardfork-eras-requirement branch from 2ed89f7 to 6d33fa3 Compare June 9, 2022 19:21
@@ -198,7 +198,7 @@ mkSomeConsensusProtocolCardano NodeByronProtocolConfiguration {
-- version that this node will declare that it understands, when it
-- is in the Alonzo era. That is, it is the version of protocol
-- /after/ Alonzo, i.e. Babbage.
alonzoProtVer = ProtVer 6 0,
alonzoProtVer = ProtVer 7 0,
Copy link

@rdlrt rdlrt Jun 25, 2022

Choose a reason for hiding this comment

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

why is alonzo protocol version that node sees changed here (yes, there were 2 forks in alonzo era, but changing them abruptly all of a sudden without mapping it against fork is very hacky)?? This breaks existing explorers on public testnet that do check on protocol major version in block header...(now we have blocks with different protocol_major adopted on testnet without a fork submission - randomly based on node's presumption of protocol version, if this is the aim to go on mainnet too - best to add some CIP/docs beforehand - there is already efforts done by @JaredCorduan to reduce the confusion) , this is a deviation that further confuses what's mentioned in CIP 274 from historical view

Choose a reason for hiding this comment

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

Yes, this indeed is creating a mess checking block version for specific era

Copy link
Contributor

Choose a reason for hiding this comment

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

This change looks correct to me. We want we the nodes in the Alonzo era that are prepared for the upgrade to signal that they are ready by putting major protocol number 7 in the block header (since 7 corresponds to the next ledger era, Babbage).

Copy link

@rdlrt rdlrt Jun 25, 2022

Choose a reason for hiding this comment

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

The change looks correct for future (looking at version from babbage back to alonzo), but it seems to be at the expense of current (future past) - using vague version in block header that is kinda unrelated to actual protocol_major version , in case of which all the components using block header representation
of protocol_major now need to rename it to node version.

Copy link
Contributor

Choose a reason for hiding this comment

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

This is actually how it was designed to work from the very beginning, going back to the Shelley ledger spec. See section 13 of https://hydra.iohk.io/job/Cardano/cardano-ledger/shelleyLedgerSpec/latest/download-by-type/doc-pdf/ledger-spec.

The version listed in the block header indicates the latest version of the protocol that the block producer is prepared to upgrade to.

Copy link

@rdlrt rdlrt Jun 25, 2022

Choose a reason for hiding this comment

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

Thanks for the link, looks like some of us have been understanding the value of this block header wrong the whole time 😢 Can we add a reference to this (if not a short description) to the CIP 274?

Copy link
Contributor

Choose a reason for hiding this comment

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

Can we add a reference to this (if not a short description) to the CIP 274?

That is a most excellent idea!

Copy link
Contributor

@dcoutts dcoutts left a comment

Choose a reason for hiding this comment

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

LGTM, including the retrospective fix for there being an intra-era HF within the Alonzo era (6).

@disassembler
Copy link
Contributor

bors r+

@iohk-bors
Copy link
Contributor

iohk-bors bot commented Jun 25, 2022

Build succeeded:

@iohk-bors iohk-bors bot merged commit 6eb466a into master Jun 25, 2022
@iohk-bors iohk-bors bot deleted the jordan/remove-test-enable-development-hardfork-eras-requirement branch June 25, 2022 13:08
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

Successfully merging this pull request may close these issues.

6 participants