Start Here: Project Variables Old - FlipsideCrypto/fsc-evm GitHub Wiki

dbt_project Variables

This page documents all available variables for use in dbt_project.yml.

For an implementation, see check out the dbt_project.yml in core-models.

Table of Contents

  1. Global Variables
  2. Streamline Parameters
  3. Core Package Parameters

Global Variables

These variables apply across all objects in the project.

Variable Required Default Description
GLOBAL_PROD_DB_NAME Yes - Name of the chain or prod database
GLOBAL_NODE_SECRET_PATH Yes - Secret path for the node
GLOBAL_BLOCKS_PER_HOUR Yes - Number of blocks produced per hour
GLOBAL_NODE_URL No '{Service}/{Authentication}' URL for posting requests
GLOBAL_PROD_NETWORK No 'mainnet' Network version
GLOBAL_USES_RECEIPTS_BY_HASH No False Use receipts method by hash with LQ instead of by block default
GLOBAL_USES_BASE_FEE No True Include columns for base gas fee in fact_blocks
GLOBAL_AVG_TXS_PER_BLOCK No - Only used if GLOBAL_USES_RECEIPTS_BY_HASH is True
GLOBAL_BLOCKS_TOTAL_TO_BACKFILL No - Used for backfills
GLOBAL_START_UP_BLOCK No 0 Override to start up a chain at a specific block
GLOBAL_MAX_SEQUENCE_NUMBER No 100000000 Used to trim the sequence spine for streamline__blocks model
GLOBAL_USES_PARTITION_KEY No True If false, uses _partition_by_block_id

Streamline Parameters

These optional variables are intended for use with streamline models. The naming format is: <model>_<type>_<variable_name>, where <type> is either realtime or history.

Example for BLOCKS_TRANSACTIONS:

Variable Default Description
BLOCKS_TRANSACTIONS_REALTIME_NEW_BUILD False Ignore logic for retry and lookbacks when true
BLOCKS_TRANSACTIONS_REALTIME_SQL_LIMIT 2 x GLOBAL_BLOCKS_PER_HOUR SQL query limit
BLOCKS_TRANSACTIONS_REALTIME_PRODUCER_BATCH_SIZE 2 x GLOBAL_BLOCKS_PER_HOUR Producer batch size
BLOCKS_TRANSACTIONS_REALTIME_WORKER_BATCH_SIZE Varies Worker batch size
BLOCKS_TRANSACTIONS_REALTIME_ORDER_BY_CLAUSE 'order by partition_key desc' Default order by clause
BLOCKS_TRANSACTIONS_REALTIME_TESTING_LIMIT - For testing purposes only
BLOCKS_TRANSACTIONS_REALTIME_QUANTUM_STATE 'streamline' Override quantum state of LQ model

Note: Similar parameters exist for other models and for history type.

Core Package Parameters

Traces

Variable Default Description
TRACES_FULL_RELOAD_START_BLOCK 0 Start block for loading silver and gold traces tables
TRACES_FULL_RELOAD_BLOCKS 1000000 Number of blocks to reload incrementally
SILVER_TRACE_FULL_RELOAD_MODE False Use block-based incremental logic when True
TRACES_ARB_MODE False Relevant to Arbitrum traces only
TRACES_SEI_MODE False Relevant to SEI EVM traces only
TRACES_KAIA_MODE False Relevant to Kaia traces only
TRACES_SCHEMA_NAME 'bronze' Schema name for traces
TRACES_USES_TX_STATUS False Use tx_status in silver when True
TRACES_USES_OVERFLOW_STEPS False Include logic to handle overflows when True

Silver Models

Variable Default Description
SILVER_FULL_REFRESH False Allow full refreshes on applicable models when True

Gold Models

Variable Default Description
GOLD_FULL_REFRESH False Allow full refreshes on applicable models when True

Prices

Variable Required Default Description
PRICES_SYMBOLS Yes - Symbols for prices
PRICES_PLATFORMS Yes - Platforms for prices
PRICES_BLOCKCHAINS No GLOBAL_PROD_DB_NAME Blockchains for prices
PRICES_TOKEN_ADDRESSES No - Token addresses for prices

Labels

Variable Required Default Description
LABELS_BLOCKCHAINS No GLOBAL_PROD_DB_NAME Blockchains for labels
⚠️ **GitHub.com Fallback** ⚠️