When developing applications on NEAR, an indexer simplifies the process of querying and retrieving data from the NEAR blockchain. It indexes blockchain data, making it easier and faster to search and access specific information relevant to your application. This saves developers valuable time and resources that would otherwise be spent on manually parsing and processing blockchain data.
Additionally, an indexer enhances scalability by allowing efficient data retrieval, even as the blockchain grows in size. It provides a convenient way to aggregate and analyse data, enabling developers to build more complex and data-driven applications on NEAR.
There are many different options when it comes to indexers on NEAR and today we’re going to compare them.
NEAR Indexer Framework and NEAR Lake Framework are two different tools provided by NEAR Protocol for indexing and querying data on the NEAR blockchain. While the NEAR Indexer Framework can be run by yourself, it requires an extremely high level of expertise and constant maintenance for every NEARcore upgrade and sync state. Additionally, you need to understand the Rust programming language to understand it. On the other hand, the NEAR Lake framework only needs to be deployed once, but is completely centralised.
One significant distinction between NEAR Indexer Framework and NEAR Lake Framework is that the NEAR Indexer Framework embeds the full NEAR node. This means that running the indexer framework can be quite resource-intensive and expensive. It requires a substantial amount of computational power and storage capacity to handle the entire NEAR blockchain. In contrast, NEAR Lake Framework is focused on efficient data storage and retrieval, making it more optimised for handling large-scale data sets without the overhead of running a full node.
In comparison, SubQuery is a broader data indexing and querying solution that works across multiple blockchain networks, including NEAR. This means that developers can utilise SubQuery’s easy typescript based development experience to build applications that interact with various blockchain data sources, not limited to NEAR alone. This flexibility can be advantageous for projects that require data aggregation or cross-chain analysis.
Another noteworthy feature of SubQuery that neither of the two NEAR indexers have is its support for NEAR Aurora's EVM contract layer. NEAR Aurora is a compatibility bridge that enables the execution of Ethereum Virtual Machine (EVM) contracts on the NEAR blockchain. With SubQuery, developers can index and query data from both NEAR's native smart contracts and EVM-based contracts on NEAR Aurora, providing a comprehensive view of the ecosystem.
Lastly, it is worth mentioning that NEAR Lake Indexer has been criticised for its centralised nature. This centralization can introduce concerns regarding data availability, trust, and censorship resistance. In contrast, SubQuery supports NEAR on its decentralised network of nodes, providing a more distributed and resilient solution for indexing and querying blockchain data. Alternatively, SubQuery is lightweight that you can run yourself, and it is even possible to run it on a raspberry pi!
- NEAR Indexer Framework and NEAR Lake Framework are NEAR-specific tools, with the former being more low level in nature and the latter focused on providing a centralised data indexer.
- SubQuery, on the other hand, offers a multi-chain data indexing and querying solution that supports NEAR as well as other blockchain networks.
- SubQuery provides compatibility with NEAR Aurora's EVM contract layer, making it a versatile option for developers.
- SubQuery’s developer experience is far easier, using typescript instead of Rust (on NEAR Indexer Framework)
By leveraging SubQuery's indexer on NEAR, developers can focus on building their applications and user experiences, rather than spending significant effort on low-level blockchain data management tasks.
SubQuery is a blockchain developer toolkit facilitating the construction of Web3 applications of the future. A SubQuery project is a complete API to organise and query data from Layer-1 chains. Currently servicing Ethereum, Polygon, BNB, NEAR, Polkadot, Avalanche, Algorand, Arbitrum, Aurora, Cosmos and Flare projects, this data-as-a-service allows developers to focus on their core use case and front-end without wasting time building a custom backend for data processing activities. In the future, the SubQuery Network intends to replicate this scalable and reliable solution in a completely decentralised manner.