Ethereum Data Model
Last updated
Was this helpful?
Last updated
Was this helpful?
The Protobuf is shared across EVM-compatible blockchains (Ethereum, Polygon, Arbitrum...). While the Protobuf definition (.proto
file) is largely self-documented, it is important to be aware of the version of the Protobuf you are working with.
Most changes in EVM chains are backward-compatible, meaning there is no need to introduce an entirely new Protobuf namespace (e.g., sf.ethereum.type.v3.Block). Instead, sf.ethereum.type.v2.Block
is used consistently to avoid breaking changes.
To manage internal updates, Firehose uses a versioning system defined by the ver
in the Block
Protobuf.
This version refers to the Block
emitted by the Firehose trace.
This version is current in place for all EVM chains, with the exception of Optimism from block 0 to the last pre-Prague (blockchains currently in Prague version are listed in a section later in this document) hard fork block.
This version contains several known issues, which are described in the Protobuf definition itself (next to the corresponding field affected). You can also check out .
This version is currently in place for the following chains:
Optimism
Ethereum Hoodi
Sei EVM
This version fixes the known issue of version 3.
The following chains have already upgraded to Ethereum's Prague version:
Ethereum Sepolia
Ethereum Holesky
BSC Mainnet
BSC Testnet