Troubleshooting: chain operations
This page lists common troubleshooting scenarios and solutions for chain operators.EvmError in contract deployment
L1 smart contract deployment fails with the following error:Solution
The OP Stack uses deterministic smart contract deployments to guarantee that all contract addresses can be computed ahead of time based on a “salt” value that is provided at deployment time. Each OP Stack chain must have a unique salt value to ensure that the contract addresses do not collide with other OP Stack chains. You can avoid this error by changing the salt used when deploying the L1 smart contracts. The salt value is set by theIMPL_SALT
environment variable when deploying the contracts.
The IMPL_SALT
value must be a 32 byte hex string.
You can generate a random salt value using the following command:
Failed to find the L2 Heads to start from
op-node
fails to execute the derivation process with the following error:
Solution
This error can occur when the data directory forop-geth
becomes corrupted (for example, as a result of a computer crash).
You will need to reinitialize the data directory.
If you are following the tutorial for Creating Your Own L2 Rollup, make sure to rerun the commands within the Initialize op-geth
section.
If you are not following the tutorial, make sure to take the following steps:
- Stop
op-node
andop-geth
. - Delete the corresponding
op-geth
data directory. - If running a Sequencer node, import the Sequencer key into the
op-geth
keychain. - Reinitialize
op-geth
with thegenesis.json
file. - Restart
op-geth
andop-node
.
Batcher unable to publish transaction
op-batcher
fails to publish transactions with the following error:
Solution
You will observe this error if theop-batcher
runs out of ETH to publish transactions to L1.
This problem can be resolved by sending additional ETH to the op-batcher
address.