Testnet fork9 upgrade guideline

Upgrade time window

Upgrade time window: 2024-11-04 05:00-11:00 UTC time.

Release notes

Latest block confirmation

fork8 last block halt number is "12928759", you will need to ensure that your local node has synchronized to this height.

curl http://127.0.0.1:8123/ -X POST -H "Content-Type: application/json" --data '{"method":"eth_blockNumber","params":[],"id":1,"jsonrpc":"2.0"}'

Version upgrade

  • After you confirm that your local node has synchronized to the halt number, stop and remove cdk-validium-sync / cdk-validium-json-rpc / cdk-validium-prover.

docker compose down cdk-validium-sync cdk-validium-json-rpc cdk-validium-prover
  • Add addtional index for db migration

CREATE INDEX IF NOT EXISTS idx_virtual_batch_block_num ON state.virtual_batch(block_num); 
CREATE INDEX IF NOT EXISTS idx_verified_batch_block_num ON state.verified_batch(block_num); 
CREATE INDEX IF NOT EXISTS idx_forced_batch_block_num ON state.forced_batch(block_num); 
CREATE INDEX IF NOT EXISTS idx_exit_root_block_num ON state.exit_root(block_num); 
CREATE INDEX IF NOT EXISTS idx_monitored_txs_block_num ON state.monitored_txs(block_num); 
CREATE INDEX IF NOT EXISTS idx_fork_id_block_num ON state.fork_id(block_num);
  • Change "SyncOnlyTrusted" to "true" in node.config.toml

SyncOnlyTrusted = true
  • Upgrade the image version in your docker-compose.yml:

    • cdk-validium-sync: image: merlinadmin/zkevm-node:v2.1.1 change to image: merlinadmin/zkevm-node:v3.1.0

    • cdk-validium-json-rpc: image: merlinadmin/zkevm-node:v2.1.1 change to image: merlinadmin/zkevm-node:v3.1.0

    • cdk-validium-prover: image: merlinadmin/zkprover:v5.0.9 change to image: hermeznetwork/zkevm-prover:v6.0.2

  • Launch the new version of services by below steps

    • Launch prover first:

    docker compose up -d cdk-validium-prover
    • Launch synchronizer and then wait migrations completed:

    docker compose up -d cdk-validium-sync
    • Launch json-rpc:

    docker compose up -d cdk-validium-json-rpc
  • Update forkId and then restart cdk-validium-sync / json-rpc

UPDATE state.fork_id SET from_batch_num = 743692,to_batch_num = 753587,version = '', block_num = 1981992 WHERE fork_id = 8;
INSERT INTO state.fork_id (fork_id, from_batch_num, to_batch_num, version, block_num) VALUES (9, 753588, 18446744073709551615, '', 5294359);

Upgrade result verification

Make sure the new synchronizer can get the new fork9 block data.

Last updated