Alexandre Bourget, CTO @ dfuse, explains how the dfuse APIs provide more in-depth access to data than the APIs provided directly by the Ethereum nodes.


dfuse does this by indexing and serving up all the Ethereum base layer data: blocks, transactions, state changes, balance changes, etc. It is not an interpretation of existing node data, but rather a deep dive into the chain for information that is otherwise inaccessible. It allows developers to search the history of the chain and listen for the latest blocks and transactions that match your specific search query.

The dfuse platform provides deeper levels of data than nodes themselves. Whereas Ethereum nodes expose APIs that are meaningful for achieving consensus, dfuse delivers more granular data such as through indexing internal transactions.

A quick primer: when you send a transaction on Ethereum, you have the first top level transaction which can execute a smart contract. This smart contract can then invoke functions on other smart contracts. These subsequent calls are `Internal Transactions`.

Internal transactions can contain useful information such as millions of tokens being transferred. These may not be reflected in the top level transactions. dfuse indexes these to make our powerful search API available throughout the transaction call stack. Through feedback from our users, we were also able to identify particularly useful terms to index, such as storage changes, balance changes, and their corresponding reasons.