Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Schemas

The tiders-evm-schema and tiders-svm-schema crates define the canonical Arrow schemas for blockchain data tables.

EVM Schemas

Tables produced by EVM data sources:

TableKey Columns
blocksnumber, hash, parent_hash, timestamp, miner, gas_limit, gas_used, base_fee_per_gas, size, withdrawals
transactionshash, from, to, value, gas_used, effective_gas_price, cumulative_gas_used, contract_address
logsblock_number, transaction_hash, log_index, address, topic0..topic3, data
tracesblock_number, transaction_hash, trace_address, type, from, to, value, input, output

All binary fields (hashes, addresses) are stored as Arrow Binary type by default. Use the HEX_ENCODE step to convert them to readable strings.

SVM Schemas

Tables produced by SVM (Solana) data sources:

TableKey Columns
blocksslot, hash, timestamp, parent_slot
transactionsblock_slot, transaction_index, signature
instructionsblock_slot, transaction_index, instruction_address, program_id, data, a0..a9

Field Selection

You don’t fetch all columns by default. Use the Fields types in your query to select only the columns you need:

fields = ingest.evm.Fields(
    block=ingest.evm.BlockFields(number=True, timestamp=True),
    log=ingest.evm.LogFields(block_number=True, address=True, data=True),
)

This reduces network transfer, memory usage, and processing time.

Rust API