Zoe Marais
September 22, 2022

Intro to the Ethereum Data Stack

When most tech workers hear the words “data stack”, they think of how information has been stored — sometimes simply and easily accessible and other times as messy and chaotic as a teenager’s bedroom. Ethereum data leans towards the latter.

Given the crypto industry is dependent on readily available data, the chaotic nature of Ethereum data presents issues. From dApp developers to blockchain auditors, messy data leads to angry degens. Today, the work to decipher a single transaction is not intuitive. 

Presented with complex strings of abstract numbers and letters, this data is not exactly human-readable. Trying to aggregate data from a bulk number of transactions given need-based constraints? Even more difficult. To understand why this is the case, it’s helpful to understand the fundamental layers of abstraction of the Ethereum Data Stack.

The settlement layer

The figure above depicts the split between how data is stored and used on the Ethereum blockchain. The settlement layer is where all smart contracts on the Ethereum blockchain are executed with transactions in blocks. The settlement layer establishes the objective finality of a transaction — that it can’t be rolled back.  

“A settlement means that it is a payment that is final and delivered,” As CoinMarketCap’s Library of Alexandria states. “In the world of cryptocurrencies, a transaction is a settlement after it is stored within the blockchain.”  Unlike a MasterCard or Visa which has a settlement a few weeks or months after a transaction, a final settlement in Ethereum happens immediately after the transaction is storen on the blockchain.

The settlement layer is where the data is stored. That data is then consumed at the asset or protocol level (tokens and exchanges) and is also relevant for viewing individual account data (wallet activity and ownership). This creates a level of abstraction between the executing contracts and the methods of consumption. Because this data exists in both levels but is only stored on the settlement layer, access to data on all accounts is not easily obtained.

So let’s say you’re a founder of an NFT project looking to extract a string of wallet addresses that collected the token for a certain price. This data is not accessible just by glancing at the collection on an NFT marketplace. Because of this, block explorers like Etherscan exist to browse transaction details. But, exploration in this fashion produces only obscure groupings of hashes for individual transactions. Hence, there are questions left on the table like what type of asset was this, when was the transaction completed, and where did this exchange take place? Data is simply unrefined and hard to aggregate. These are the growing pains of web3.

The problem with blockchain data

This points to the fragmented nature of blockchain data in general. Data is present in a large number of dissimilar locations. While scanning transactions on Etherscan or directly connecting to a node does allow you to read this data, it does so in a manner that isn’t simple or scalable — unless you enjoy going line-by-line through code for 8 hours straight. 

The tedious work of examining a node’s full event history is unsustainable. These methods leave developers sifting through individual transactions and compiling large sets of raw data only to have these efforts rendered useless during state changes. Lastly, the costly process that comes with translating this data is hard to overlook. 

The root of the problem? Data is always available but not necessarily human-readable. The settlement layer must guarantee the publishing of all transaction data to be available to all other network participants in order to adhere to this decentralized framework. Blocks are produced with nodes verifying each transaction. In this low-level, this data is detailed but chaotic. Availability means nothing when it’s difficult to digest. 

Getting the information you need

The power of mapping Ethereum data with human-readable and contextual information lies in the hands of Transpose’s APIs. Our APIs give builders access to a more complete image of the Ethereum data we interact with on a daily basis. Transpose is your own personal translator for when you travel across the Ethereum blockchain.  

The Transpose API suite currently includes 4 core APIs:

  1. NFT API: Get a complete view of NFTs, owners, mints, transfers, burns, and sales.
  2. Token API: Lookup any token, transfer, balance, DEX swap, and liquidity event, including support for ETH transfers and balances.
  3. ENS API: Search for and resolve any ENS record using name, account, expiration, etc.
  4. Block API: Retrieve accounts, blocks, transactions, and logs in bulk.

From NFT collection statistics to ENS name activity, Transpose makes blockchain data readily available for clients in a use-case specific manner while explaining transactions in plain language. 

If you’re looking for a more technical deep dive, don’t worry.  It’s on the way.