Testnet Canyon + protocol-version upgrade guide #42
Replies: 3 comments 2 replies
-
OP Labs blog post: https://blog.oplabs.co/canyon-hardfork/ |
Beta Was this translation helpful? Give feedback.
-
Not sure how to check the last upgrade step Verifying your configuration on Goerli & SepoliaCan this be done only after the hardfork? |
Beta Was this translation helpful? Give feedback.
-
@sbvegan hi, we have a Java rollup client https://github.com/optimism-java/hildr which support bedrock, now we consider upgrade to support Canyon. Are there a issue/PR list for tracking major changes about op-node(rollup node spec) which we can easily check? That's helpful for us to update our rollup client. |
Beta Was this translation helpful? Give feedback.
-
Testnet Canyon + Multi-chain upgrade guide
Hey y’all! The latest rollup node software includes two important changes. (1) The Canyon testnet hard fork is scheduled for November 14th at 17:00:00 UTC 2023. This means OP Testnet nodes will need the following required updates outlined in the attached document. (2) These releases also lay the foundation for future iterations of the Superchain. We suggest doing this by November 7th 2023. Please reach out if you have any questions.
About the multi-chain node upgrade
These releases enshrine a
protocol-version
within nodes as a constant in the software, with requirements and recommendations signaled through the L1ProtocolVersions
contract. Nodes periodically read the value from L1 and compare it against the locally hardcoded constant. This release also introduces a "Superchain target" (within the superchain-registry, a library the op-node uses) which groups chains together.Each chain operator is still in charge of upgrading their own sequencer nodes, but their nodes will now be aware of upgrades, and can be configured to halt or produce warnings when an upgrade is near and the node is behind the protocol-version. Because this behavior is optional, this is not a consensus-critical change for this release. However, we anticipate future releases to utilize this functionality more explicitly, and upgrade the Superchain in unison.
rollup.json
andgenesis.json
are deprecated for chains that follow a Superchain target, and will be imported into the op-node from the superchain-registry instead.Instructions on how to upgrade
This is the upgrade guide to the Canyon hard fork and synced multi-chain upgrades.
Releases
op-node
to version:v1.3.0
. Available as this GitHub release.op-geth
to versionv1.101304.0
. Available as this GitHub release.Feel free to upgrade verifier nodes first, before sequencer nodes, to test out this change.
Recommended configuration
Note: this configuration path uses the multi-chain functionalities described above. You can set these configurations on both testnets and mainnet now (and not enable Canyon until we coordinate the upgrade).
Setting the network flags:
op-geth
specify--op-network
with a pre-configured OP Stack network.op-node
specify--network
with a pre-configured OP Stack network.The following are the supported options:
Loading and reporting protocol versions from the Superchain:
op-node
set--rollup.load-protocol-versions
totrue
.Example node configuration values
For OP-Sepolia.
Note: can also be configured with ENV vars, on both op-node and op-geth!
op-node
new `op-node` config options
op-geth
new `op-geth` config options
Manual configuration
Not recommended, but supported. Only do this on Goerli & Sepolia and NOT MAINNET.
Using an existing datadir / geth init and rollup.json configuration.
op-geth
use the flag--override.canyon
.op-node
either addcanyon_time
to therollup.json
or use the--override.canyon
flag at timestamp1699981200
--network flag
. We recommend against long term us of the override.canyon flag because the node does not persist the canyon timestamp. If the flag is removed, without activating canyon another way, the node will diverge.Verifying your configuration on Goerli & Sepolia
You can verify your node is configured correctly with the following:
1699981200
in the op-node logs1699981200
in the op-geth logsLet us know if you have any questions!
Beta Was this translation helpful? Give feedback.
All reactions