Skip to main content
These chains are all built with the same toolkit, the Cosmos SDK. On them a transaction is a bundle: it holds a list of messages, each one a typed request such as β€œsend these coins” or β€œvote on this proposal”. Running those messages makes the chain write events, its own notes on what happened, and the chain writes more of them at the start and end of each block, on its own account rather than for a transaction. So each chain gets five tables, blocks, transactions, transaction_messages, message_events and block_events, in one dataset per chain. The Tables section below says what each table holds and lists the columns once for the whole family.

Chains

Chainchain_idblockstransactionstransaction_messagesmessage_eventsblock_events
Celestiacelestiaβœ“βœ“βœ“βœ“βœ“
Cosmos Hubcosmoshubβœ“βœ“βœ“βœ“βœ“
dYdXdydxβœ“βœ“βœ“βœ“βœ“
Injectiveinjectiveβœ“βœ“βœ“βœ“βœ“

Tables

Cosmos chains are built from the same toolkit, so they all have the same five tables with the same columns. The schemas below are read from cosmoshub, and apply to every chain listed on the Cosmos overview. One thing to know before the tables. On these chains a transaction is a bundle: it holds a list of messages, each one a typed request such as β€œsend these coins” or β€œvote on this proposal”. Running those messages emits events, which are the chain’s own notes about what happened, so the sequence is transaction, then messages, then events. Every table except blocks is split by day on block_timestamp, and blocks on timestamp. Filter on that column in every query: with a filter the query reads only the days you asked for, without one it reads the whole table.
A block is a batch of transactions added to the chain, and the validator that put it forward is its proposer. blocks contains one row per block.
ColumnTypeDescription
timestampTIMESTAMPThe time the block was produced. Partition column.
block_heightINT64The block height.
transaction_countINT64The number of transactions in the block.
validators_hashSTRINGThe hash of the validator set.
proposer_addressSTRINGThe address of the block proposer.
Count blocks and total transactions per day over one week.

Exceptions

Injective runs two layers, and the catalog files them as two chains. injective is the Cosmos layer described here, and it is where the chain’s tokens and the tokenized assets issued on it sit. Its EVM layer is a dataset of its own, injectiveevm, documented under EVM; that is where the app activity sits, along with the value bridged in from other chains.