You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Initial L2 block number is currently set to 1. Industry-wide standard is that the genesis block starts from number 0. This could cause issues to devs when fetching blocks etc.
Update: Bellow is a chatgpt summary of my discussion with Lasse. Not sure if it's worth it to bother with this.
"Lasse explained that starting the block number from 1 made the logic for block number validation easier. Additionally, it allowed the genesis block to be integrated into the rollup code, effectively starting "after" it. However, Jan Benes pointed out that this choice could cause awkwardness with log filtering since the industry-wide standard is for the genesis block to have number 0. Lasse acknowledged this and mentioned that a special case for the "old state" would be needed in this scenario. The computation for the old state uses the block number - 1. Lasse also noted that handling both cases (starting from 0 and starting from 1) in the circuits could be a challenge. Lasse suggested an alternative approach of storing the block number in the contract's storage, which might simplify some aspects of the process."
The text was updated successfully, but these errors were encountered:
Initial L2 block number is currently set to 1. Industry-wide standard is that the genesis block starts from number 0. This could cause issues to devs when fetching blocks etc.
Update: Bellow is a chatgpt summary of my discussion with Lasse. Not sure if it's worth it to bother with this.
"Lasse explained that starting the block number from 1 made the logic for block number validation easier. Additionally, it allowed the genesis block to be integrated into the rollup code, effectively starting "after" it. However, Jan Benes pointed out that this choice could cause awkwardness with log filtering since the industry-wide standard is for the genesis block to have number 0. Lasse acknowledged this and mentioned that a special case for the "old state" would be needed in this scenario. The computation for the old state uses the block number - 1. Lasse also noted that handling both cases (starting from 0 and starting from 1) in the circuits could be a challenge. Lasse suggested an alternative approach of storing the block number in the contract's storage, which might simplify some aspects of the process."
The text was updated successfully, but these errors were encountered: