(The following note are copied from blog post ‣ )
The new version of l2geth node is v5.3.0 (release note). This upgrade is a hard fork as it introduces the new blob data type and the SHA2-256 precompiled contract. Operators running an l2geth
node are required to upgrade before the hard fork block.
TBD
This upgrade changes the format that Scroll uses to publish data to Ethereum. Indexers that rely on this data should carefully review the new BatchHeader
format:
Field | Bytes | Type | Index | Comments |
---|---|---|---|---|
version |
1 | uint8 |
0 | The version of BatchHeader ’s codex |
batchIndex |
8 | uint64 |
1 | The index of the batch |
l1MessagePopped |
8 | uint64 |
9 | Number of L1 messages popped in the batch |
totalL1MessagePopped |
8 | uint64 |
17 | Number of total L1 messages popped after the batch |
dataHash |
32 | bytes32 |
25 | The data hash of the batch |
blobVersionedHash |
32 | bytes32 |
57 | The versioned hash of the blob with this batch’s data |
parentBatchHash |
32 | bytes32 |
89 | The parent batch hash |
skippedL1MessageBitmap |
dynamic | uint256[] |
121 | A bitmap to indicate which L1 messages are skipped in the batch |
Note the format is different from the existing data format. Indexers will need to check whether their decoders need to be adjusted. A summary of the new format:
BlockContext
will not change. linkChunks
will no longer include the L2 transaction data. This will instead be stored in a blob attached to the commitBatch
transaction. linkBatchHeader
now contains one new field BlobVersionedHash
. linksee this doc how to run a prover