Build Log

Building ChainForge in public.

#0052026-06-11

Building the First Canonical Dataset

What I builtA written convention for canonical tables: domain namespace, protocol column, (tx_hash, log_index) uniqueness, rebuild-from-raw.
Why it mattersWithout the convention, every decoder invents a slightly different trade table and nothing unions cleanly.
Architecturedbt models over decoded tables, incremental on block_number, tested for uniqueness and not-null lineage keys.
Implementationtoken.transfers was rewritten against the convention so it would not be a special case.
Problems encounteredThe first draft had both token_address and contract_address. Two names for one thing is how silos start.
What I learnedName the thing once. Put protocol-specific extras on the protocol table.
What's nextUniswap protocol decoding (#006).
Permalink →