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

doc: ETCM-8682 Migration strategy for generic versioned Plutus data #198

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

AmbientTea
Copy link
Contributor

@AmbientTea AmbientTea commented Oct 30, 2024

Description

Initial draft of the migration strategy.

Checklist

  • Commit sequence broadly makes sense and commits have useful messages.
  • New tests are added if needed and existing tests are updated.
  • Relevant logging and metrics added
  • CI passes. See note on CI.
  • Any changes are noted in the changelog.md for affected crate
  • Self-reviewed the diff

Note on CI

If your PR is from a fork, the necessary CI jobs won't trigger automatically for security reasons.
You will need to get someone with write privileges. Please contact IOG Partner Chains developers to do this
for you.

Signed-off-by: Nikolaos Dymitriadis <[email protected]>
Signed-off-by: Nikolaos Dymitriadis <[email protected]>
Signed-off-by: Nikolaos Dymitriadis <[email protected]>
@AmbientTea AmbientTea marked this pull request as ready for review October 30, 2024 11:45
data:
- D-Parameter
- Permissioned candidates list
- Cardano SPO registrations
Copy link
Contributor

Choose a reason for hiding this comment

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

This guide will be for v1.4, when in v1.3 we introduce observability of token release from reserve to illiquid supply. Will this script be changed as well?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

No, native tokens is a completely new mechanism so no migration needed. There will be no legacy version, but the initial implementation can support versioning from the start.


Introducing versioned Plutus data is a breaking change in the smart contracts, which means
new versions of the smart contracts will need to be used. The governance authority should use the
new version of Partner Chains Smart Contracts to set up a new D-Parameter and permissioned
Copy link
Contributor

Choose a reason for hiding this comment

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

This operations should happen when SPOs register with the new smart contracts.

operate using the old smart contract data. During this period:

- all SPOs wishing to continue participating in the chain will need to register themselves
again using the new smart contracts.
Copy link
Contributor

@LGLO LGLO Oct 31, 2024

Choose a reason for hiding this comment

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

How do SPOs observe their new registrations when their nodes are still configured for the old addresses?

@LGLO
Copy link
Contributor

LGLO commented Oct 31, 2024

In my opinion it is not detailed enough to pass this to users.

For me there should be detailed steps like:

  • "governance authority" runs "prepare-configuration" wizards using the v1.4 binaries obtaining new chain-config file (make remark that chains-spec is or is-not needed?)
  • "governance authority" publishes this file SPOs
  • each SPO has to run "register1", "register2", "register3" wizards using the v1.4 binaries and the new config file (Will they be able to see the registration status? Perhaps depends on base-directory, chain-spec, and others)

I think the only sensible way is to prepare locally at least two directories (one for governance auth, one for SPO) and record each step required to perform the procedure.

@LGLO LGLO requested a review from Lupowilk October 31, 2024 07:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants