Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions config/consensus.go
Original file line number Diff line number Diff line change
Expand Up @@ -1558,6 +1558,11 @@ func initConsensusProtocols() {
vAlpha5.ApprovedUpgrades = map[protocol.ConsensusVersion]uint64{}
Consensus[protocol.ConsensusVAlpha5] = vAlpha5
vAlpha4.ApprovedUpgrades[protocol.ConsensusVAlpha5] = 10000

// vFNetX are like vAlphaX but for AF's FNet
// vFnet1
vFnet1 := vFuture

@cce cce Aug 28, 2024

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

vFuture can receive changes as part of the development process until the next consensus release, so defining vFnet1 here as a copy of vFuture does not pin it down as firmly as if you started from a copy of the last consensus release (v39).

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I'm aware re: future, the idea here was to update the code to fix fnet1 to the current values for now, and when we need fnet2 to shadow the next future, fnet1 would be defined explicitly from v39 as you say.
The FNet nodes will track from this dev branch, so updates to future on main will not affect them until we update the branch

@cce cce Aug 28, 2024

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

oh I was confused because this PR is set to merge to master — so you are going to cut a dev branch of master after this?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I think you want to pin down fnet1 to last consensus version + the items you want to include, because you won't automatically include new vFuture items when the software gets upgraded. We're not upgrading it wily nily here, but if you rebase on master you'll have to tear down and rebuild the network. (This may be fine for your purposes.)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Oh, this should not target master, good catch @cce

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

yep - sorry about that, changed the base to dev/experimental-incentives

Consensus[protocol.ConsensusVFnet1] = vFnet1
}

// Global defines global Algorand protocol parameters which should not be overridden.
Expand Down
3 changes: 3 additions & 0 deletions protocol/consensus.go
Original file line number Diff line number Diff line change
Expand Up @@ -246,6 +246,9 @@ const ConsensusVAlpha4 = ConsensusVersion("alpha4")
// ConsensusVAlpha5 uses the same parameters as ConsensusV36.
const ConsensusVAlpha5 = ConsensusVersion("alpha5")

// ConsensusVFnet1 uses the same parameters as Future/incentives
const ConsensusVFnet1 = ConsensusVersion("fnet1")

// !!! ********************* !!!
// !!! *** Please update ConsensusCurrentVersion when adding new protocol versions *** !!!
// !!! ********************* !!!
Expand Down