@@ -78,46 +78,50 @@ It does not accept a --block flag, so to capture a specific migration height you
7878⸻
7979
8080Option 1 — Stop at the target height before dumping
81+
8182- Sync your Evolve/reth node to the agreed migration height.
8283- Disable block production or stop the sequencer so no new blocks are added.
8384- Run dump-genesis while the DB is exactly at the migration height.
8485
85- #### Stop node at migration height
86+ ``` bash
87+ # Stop node at migration height
8688
8789systemctl stop evolve-node
8890
89- #### Export state at current head (must be migration height)
91+ # Export state at current head (must be migration height)
9092
9193ev-reth dump-genesis \
9294 --datadir /path/to/reth/datadir \
9395 --output genesis-export.json
94-
96+ ```
9597
9698⸻
9799
98100Option 2 — Rewind DB to migration height
99101
100102If your node has already synced past the migration block:
101103
104+ ``` bash
102105reth db revert-to-block < MIGRATION_BLOCK_HEIGHT> --datadir /path/to/reth/datadir
103106
104- #### Then dump the state
105-
107+ # Then dump the state
106108reth dump-genesis \
107109 --datadir /path/to/reth/datadir \
108110 --output genesis-export.json
111+ ```
109112
110113⸻
111114
112115Verification after export:
113116
114- #### Number of accounts in alloc
117+ ``` bash
118+ # Number of accounts in alloc
115119
116120jq ' .alloc | length' genesis-export.json
117121
118- #### Review chain configuration
119-
122+ # Review chain configuration
120123jq ' .config' genesis-export.json
124+ ```
121125
122126The exported genesis will contain:
123127
@@ -155,7 +159,6 @@ jq '.config.chainId = <NEW_CHAIN_ID> |
155159 genesis-export.json > genesis-new.json
156160```
157161
158-
159162### 6. Initialize New Chain with reth init
160163
161164Initialize the new chain using the modified genesis:
@@ -189,6 +192,7 @@ rm -rf $HOME_DIR/data
189192```
190193
191194** Important Notes** :
195+
192196- The ` $HOME_DIR/config ` directory contains critical sequencer node identity and private keys
193197- ** Never delete the config directory** - this would result in loss of node identity
194198- Only the ` data ` directory should be purged to start fresh with the new chain
@@ -224,6 +228,7 @@ Bridge operators must be notified well in advance to:
224228- ** Map balances** : Ensure locked tokens match bridged tokens on new chain
225229
226230Coordination checklist:
231+
227232``` markdown
228233- [ ] Notify bridge operators 2 weeks before migration
229234- [ ] Pause bridge operations at block height - 100
@@ -243,6 +248,7 @@ Explorer operators need to:
243248- ** Redirect users** : Implement proper redirects and notifications
244249
245250Explorer coordination:
251+
246252``` bash
247253# Provide explorer operators with:
248254- New genesis file
@@ -264,6 +270,7 @@ Exchange integration requires careful coordination:
264270- ** Resume operations** : Gradual reopening after validation
265271
266272Exchange checklist:
273+
267274``` markdown
268275- [ ] 30-day advance notice to exchanges
269276- [ ] Provide technical migration guide
@@ -380,26 +387,31 @@ Here's a recommended timeline for chain migration:
380387
381388``` markdown
382389### T-30 days
390+
383391- [ ] Initial migration announcement
384392- [ ] Technical documentation published
385393- [ ] Begin coordination with service providers
386394
387395### T-14 days
396+
388397- [ ] Finalize migration block height
389398- [ ] Confirm participation from all validators
390399- [ ] Service providers confirm readiness
391400
392401### T-7 days
402+
393403- [ ] Final migration parameters locked
394404- [ ] Test migration on testnet
395405- [ ] Public reminder announcements
396406
397407### T-24 hours
408+
398409- [ ] Final coordination call
399410- [ ] Service suspension notifications
400411- [ ] Last-chance backups
401412
402413### T-0 (Migration)
414+
403415- [ ] Stop nodes at target height
404416- [ ] Export state
405417- [ ] Generate new genesis
@@ -408,11 +420,13 @@ Here's a recommended timeline for chain migration:
408420- [ ] Initial validation
409421
410422### T+6 hours
423+
411424- [ ] Service providers begin reconnection
412425- [ ] Initial functionality tests
413426- [ ] Public progress updates
414427
415428### T+24 hours
429+
416430- [ ] Full service restoration
417431- [ ] Post-migration report
418432- [ ] Address any issues
@@ -423,13 +437,15 @@ Here's a recommended timeline for chain migration:
423437### Common Issues and Solutions
424438
425439** State Export Failures** :
440+
426441``` bash
427442# If export fails due to memory, increase heap size
428443export RETH_HEAP_SIZE=8g
429444reth dump-genesis --datadir /path/to/datadir
430445```
431446
432447** Genesis Initialization Errors** :
448+
433449``` bash
434450# Verify genesis file format
435451jq empty genesis-new.json # Should return nothing if valid
@@ -439,6 +455,7 @@ jq '.config.chainId, .alloc, .timestamp' genesis-new.json
439455```
440456
441457** Node Sync Issues** :
458+
442459``` bash
443460# Clear peer database and reconnect
444461rm -rf /path/to/datadir/nodes
0 commit comments