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

Launching manual #1087

Closed
AurevoirXavier opened this issue Mar 1, 2023 · 6 comments
Closed

Launching manual #1087

AurevoirXavier opened this issue Mar 1, 2023 · 6 comments
Assignees

Comments

@AurevoirXavier
Copy link
Member

AurevoirXavier commented Mar 1, 2023

  1. Perform a runtime upgrade on the solo chain to stop the chain
  2. Export the solo chain state
  3. Perform a runtime upgrade on the para chain to add the solo2para pallet and disable some pallet calls
  4. Export the para chain state on a specific block height
  5. Remove the assertions in parachain-system pallet and build the 2.0 node
  6. Merge the chain states (shell, solo, para)
  7. Send a solo2para call on para chain (the head data and code should be calculated from the merged state)
  8. Launching the new chain base on the merged state
  9. Correct the DMP/HRMP state Parachain system state check list #1083
  10. Add the removed assertions in 5. back and perform a runtime upgrade for the new chain
@AurevoirXavier AurevoirXavier self-assigned this Mar 1, 2023
@AurevoirXavier AurevoirXavier changed the title Launching steps Launching manual Mar 1, 2023
@hackfisher
Copy link
Contributor

hackfisher commented Mar 1, 2023

Proposed a new version:

  1. Perform a runtime upgrade on the para chain to add the solo2para pallet and disable some pallet calls, check there are sudo pallets and permissions
  2. Perform a runtime upgrade on the solo chain to stop the chain
  3. Export the solo chain state
  4. Export the para chain state on a specific block height(record the block height)
  5. Check/Remove the assertions in parachain-system pallet and build the 2.0 node(this should be included in the validation code?), Check/Set the DMP/HRMP data consistency in the meantime.
  6. Merge the chain states (shell, solo, para), checking that the para id in shell is equal to production para id(or make sure the para id storage in genesis storage will be overwritten)
  7. Upload to github release, and cross verify/review the 2.0 new header and validation codes by other devs
  8. Send a solo2para call on para chain (the head data and code should be calculated from the merged state)
  9. Launching the new chain base on the merged state
  10. Check/Set the DMP/HRMP data correctly
  11. Add the removed assertions in 7. back and perform a runtime upgrade for the new chain

@hackfisher
Copy link
Contributor

Crab parachain block height: 1723150

@hackfisher
Copy link
Contributor

Crab Solo block height: 14741053

image

@jiguantong
Copy link
Member

jiguantong commented Mar 8, 2023

@AurevoirXavier AurevoirXavier transferred this issue from darwinia-network/darwinia-2.0 Mar 30, 2023
@AurevoirXavier AurevoirXavier pinned this issue Mar 30, 2023
@AurevoirXavier
Copy link
Member Author

Darwinia block height
13,425,611

Darwinia Parachain block height
1,232,100

@jiguantong
Copy link
Member

Check DMQ&HRMP heads --log cumulus_pallet_parachain_system=debug

Darwinia

======== dmq_head: 0x9f4f278676d4a4b8bae88c8b8d45e7ddde0e82138d0d5edef101776cd770b389, expected_dmq_mqc_head: 0x9f4f278676d4a4b8bae88c8b8d45e7ddde0e82138d0d5edef101776cd770b389, check: true

2023-04-24 14:04:19.606 DEBUG tokio-runtime-worker cumulus_pallet_parachain_system: [Parachain]
======== cur_head: 0xcf834e51c8ec9df9fb56e294be4c07e25577cee8c379a5f89112a46ae9e77c26, expected_head: 0xcf834e51c8ec9df9fb56e294be4c07e25577cee8c379a5f89112a46ae9e77c26, check: true

2023-04-24 14:04:19.606 DEBUG tokio-runtime-worker cumulus_pallet_parachain_system: [Parachain]
======== cur_head: 0x0000000000000000000000000000000000000000000000000000000000000000, expected_head: 0x0000000000000000000000000000000000000000000000000000000000000000, check: true

2023-04-24 14:04:19.606 DEBUG tokio-runtime-worker cumulus_pallet_parachain_system: [Parachain]
======== cur_head: 0x0000000000000000000000000000000000000000000000000000000000000000, expected_head: 0x0000000000000000000000000000000000000000000000000000000000000000, check: true

2023-04-24 14:04:19.606 DEBUG tokio-runtime-worker cumulus_pallet_parachain_system: [Parachain]
======== cur_head: 0x0000000000000000000000000000000000000000000000000000000000000000, expected_head: 0x0000000000000000000000000000000000000000000000000000000000000000, check: true

2023-04-24 14:04:19.606 DEBUG tokio-runtime-worker cumulus_pallet_parachain_system: [Parachain]
############# encode last_hrmp_heads: 0x10d4070000cf834e51c8ec9df9fb56e294be4c07e25577cee8c379a5f89112a46ae9e77c26dc0700000000000000000000000000000000000000000000000000000000000000000000ee0700000000000000000000000000000000000000000000000000000000000000000000f30700000000000000000000000000000000000000000000000000000000000000000000

@AurevoirXavier AurevoirXavier unpinned this issue Apr 25, 2023
boundless-forest pushed a commit that referenced this issue Aug 1, 2023
Seems like import notifications is sending the block hash multiple times and everytime its called, even the same hash gets written to DB event though the DB has already seen it. This change should ensure we only write unique fork hashes
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

3 participants