Skip to main content
By Hamed Derakhshani
Help spread the word!
If you want to be a blockchain developer or just an informed web3 user, you should know that data is stored differently on a blockchain. Because of this, querying blockchain data is a lot harder than querying a standard database on a web2 server. In this post, we'll tell you why this is, and we'll explain a new method to query blockchain data. So stay around if you want to know more.
In the case of regular apps, when the app lets people create accounts or any content, it needs a fast and secure database that the app can query. dApps are similar in this regard.
The only difference is that dApps use blockchains as a primary database, and blockchains are hard to query. So if you want your dApp to be fast and function properly, you'll need to build a secondary database yourself.
Let's see some examples:
  • If you want to build a decentralized exchange (DEX) that shows the real-time amount of liquidity for every trading pair or biggest liquidity providers and other similar data, you'll need a secondary database to store indexed blockchain data.
  • If you want to build a betting dApp, you need to be able to take users' bets and reward the winners when the outcome gets determined. To do this fast, you need a database for all the bets you can query to find the winners.
    (In this example, you must also use Oracles to generate randomness or get real-world data to your dApp. We recommend using Kenshi Oracles.)
  • If you want to build a rating or review system within your dApp or blockchain game, you need to take in the ratings from different users. These ratings are initially stored on the blockchain, but you will need a database if you want to display an accurate and live aggregate of these reviews.
  • If your dApp has a governance token that determines users' voting power, you'll need a database of all user addresses and the number of tokens each user holds. This database needs to be extremely fast, and you need to be able to query it before every vote.
These are just some of the use cases for indexed blockchain data today. Blockchain data indexing is a relatively new technology, and new use cases will emerge. You'll find a new use case yourself when building your dApp!
Some things will change as we gradually move from a centralized web2 to a decentralized web3. For example, ordinary users will have more autonomy over their data because everything will be on a peer-to-peer (p2p) network and not on centralized servers owned by a few companies.
However, these kinds of decentralized networks come with their own difficulties and complications. For example, when you want to access a file on web2, you give its address (URL) to your browser; this is location-based addressing.
But in blockchains, we have content-based addressing. So if you want to access something on a blockchain, you don't request its location. Instead, you directly ask what you're looking for, which might be spread across many nodes.
This process makes everything more secure. But simultaneously, it makes querying data and operations like search and aggregation very difficult. For example, how long will it take for a dApp running on a browser to process every event emitted by a smart contract and then aggregate the data to make it usable? That's why we need a new solution to query blockchain data.
You can use your servers and process the data you need over there. Then, you can organize it into a database and build an API endpoint to query the data for your dApp. But this method is not recommended. Because it will:
  • Create a single point of failure for your dApp
  • Make everything less decentralized and less secure:
  • Cost a lot to maintain as your dApp grows
You'll spend a lot of money to build a database, and if you make any mistakes, your whole dApp will be highly vulnerable.
If you're looking for a simple and easy way to query blockchain data, you should try Kenshi's Deep Index service. You can retrieve, index, and store the needed data using "Sync." Instead of your servers, you'll use Kenshi's Data Clusters.
Then, you can use MQL or GraphQL to query the stored data and get the desired results via Kenshi's query endpoints to your dApp. You can also use Reverse-API (Webhooks) to get notifications about specific blockchain events.
We think Kenshi's Deep Index is the superior option for indexing and querying a blockchain because:
  • It's a fully managed service that is built by experts
  • It can keep up with your dApps, no matter how much they grow
  • It's fast and secure
  • It doesn't cost that much, especially when you're just getting started
As you can see, using Kenshi's Deep Index services has many benefits. It's a reliable service that can grow with your dApp and stay cost-effective. So if you need to index and query blockchain data, this is your best bet.
To start with Kenshi's Deep Index services, connect your wallet to the Kenshi Kenshi dashboard . You can also read our documentation for this service to learn more.
Start building with Kenshi today!