| BLOCK_HEIGHT | NUMBER | Block height is the unique, sequential integer assigned to each block as it is added to the Flow blockchain. It serves as the primary identifier for block ordering and is used to reference the position of a block within the chain. Data type: INTEGER. Block height is essential for joining block, transaction, and event tables, and for analyzing blockchain growth over time. For example, block height 100,000 refers to the 100,000th block produced on Flow. This field is critical for time-series analytics, chain reorganization analysis, and historical state reconstruction. |
| BLOCK_TIMESTAMP | TIMESTAMP_NTZ | The timestamp (in UTC) when the block or transaction was recorded on the Flow blockchain. Data type: TIMESTAMP_NTZ. This field is essential for time-series analysis, ordering events, and joining with other tables by time. For example, a block with block_height 100,000 may have a block_timestamp of ‘2023-01-01 12:00:00’. Used for analytics on network activity, transaction throughput, and historical state reconstruction. |
| NETWORK | TEXT | The name of the blockchain network where the block or transaction was recorded. Data type: STRING. For Flow, this typically indicates the environment (e.g., ‘mainnet’, ‘testnet’, ‘sandboxnet’). This field is important for distinguishing between production and test data, and for multi-network analytics. Example: ‘mainnet’. |
| NETWORK_VERSION | TEXT | The version identifier of the Flow blockchain network at the time the block was produced. Data type: STRING. This value changes when the network undergoes a protocol upgrade (“spork”). Useful for tracking changes in protocol behavior, analyzing the impact of upgrades, and debugging issues related to network versioning. Example: ‘spork-22’. For more information on Flow’s network upgrades (Sporks), see https://developers.flow.com/nodes/node-operation/spork |
| CHAIN_ID | TEXT | The unique identifier for the blockchain network (chain) where the block or transaction was recorded. Data type: STRING. On Flow, this value distinguishes between different network deployments (e.g., mainnet, testnet). Used for cross-network analytics and ensuring data integrity when working with multiple environments. Example: ‘flow-mainnet’ or ‘flow-testnet’. |
| TX_COUNT | NUMBER | The total number of transactions included in a given block on the Flow blockchain. Data type: INTEGER. This field is used to measure block utilization, analyze network throughput, and identify periods of high or low activity. For example, a block with tx_count = 100 contains 100 transactions. Useful for performance monitoring and capacity planning. |
| ID | TEXT | A unique identifier for the record. In the context of blocks, this is the block hash—a cryptographic string that uniquely identifies a block on the Flow blockchain. Data type: STRING. Used for verifying block integrity, referencing blocks in other tables, and supporting chain reorganization analysis. Example: ‘a1b2c3d4…’. For other models, ‘id’ may refer to a unique row identifier. |
| PARENT_ID | TEXT | The hash of the parent block for the current block on the Flow blockchain. Data type: STRING. This field establishes the chain structure by linking each block to its predecessor, enabling chain traversal and reorganization analysis. Example: ‘a1b2c3d4…’ (the block hash of the previous block). Used for lineage analysis, fork detection, and chain integrity verification. |
| FACT_BLOCKS_ID | TEXT | pk_id is a surrogate primary key, uniquely generated for each row in the table. Data type: STRING or INTEGER (implementation-specific). This field ensures every record is uniquely identifiable, even if the source data lacks a natural primary key. Used for efficient joins, deduplication, and as a reference in downstream models. Example: an auto-incremented integer or a UUID string. Essential for maintaining data integrity and supporting dbt tests for uniqueness. |
| _INSERTED_TIMESTAMP | TIMESTAMP_LTZ | |
| INSERTED_TIMESTAMP | TIMESTAMP_NTZ | The UTC timestamp when the record was first created and inserted into this table. Data type: TIMESTAMP_NTZ. Used for ETL auditing, tracking data freshness, and identifying when data was loaded or updated in the analytics pipeline. Example: ‘2023-01-01 12:00:00’. This field is critical for monitoring data latency, troubleshooting ETL issues, and supporting recency tests in dbt. |
| MODIFIED_TIMESTAMP | TIMESTAMP_NTZ | The UTC timestamp when this record was last updated or modified by an internal ETL or dbt process. Data type: TIMESTAMP_NTZ. Used for change tracking, ETL auditing, and identifying the most recent update to a record. Example: ‘2023-01-02 15:30:00’. This field is important for troubleshooting data issues, monitoring pipeline health, and supporting recency or freshness tests in dbt. |