-
Notifications
You must be signed in to change notification settings - Fork 7
Home
ReadRPC is an API server designed to integrate seamlessly with NEAR-RPC. ReadRPC is a departure from the conventional use of the nearcore node. By sidestepping the traditional dependence on the nearcore node, ReadRPC harnesses the ability to scale easily, leveraging a centralized system's efficiencies.
The journey begins with the NEAR Lake indexing solution, which directly captures and funnels the data into a unified database. From there, the ReadRPC server functions like a typical web 2.0 API server, delivering the data with exceptional speed and efficiency.
Merging the robustness of blockchain technology with the agility of a centralized framework, ReadRPC offers a cutting-edge solution for optimized data access.
Our primary motivation behind the ReadRPC project was to find an efficient alternative to running numerous nearcore nodes for RPC service, given their high costs and required maintenance.
As the project unfolded, we identified an opportunity to extend its benefits beyond our internal needs. We recognized its potential to serve the broader community, allowing individuals and entities like dApp owners to run customized ReadRPC "nodes." These nodes can be tailored to retain only data pertinent to their specific applications, enhancing efficiency.
An unexpected advantage emerged during our development phase: the capability of ReadRPC to house archival data. This meant that the entire historical data could be stored within ReadRPC using significantly less storage space, further emphasizing the system's cost and space efficiency.
While ReadRPC has been developed to offer a streamlined approach to reading data, it is important to understand that it is not intended as a direct replacement for Archival RPC. There are distinct differences and inherent limitations that users should be aware of:
- Proofs: ReadRPC does not provide proofs, which may be essential for some applications.
- Method Implementation: Not all methods present in Archival RPC are implemented in ReadRPC. Some of these methods might never see an implementation in the future.
- Data Reading Focus: The core competency of ReadRPC is centered on reading data, and it is optimized for this primary function.
- Lag in Data Update: Built atop the NEAR Lake Framework, ReadRPC's final block typically lags behind the network by approximately 3 blocks. We are aware of this lag and are exploring avenues to improve this aspect in the future.
If any of these limitations are critical for your specific use-case, we highly encourage you to communicate your concerns. Please open an issue detailing your requirements so we can gain insight into its impact on the community. Your feedback helps us understand the needs better and prioritize our development initiatives effectively.
- Design page with a diagram of the architecture
- Components page describing each piece of the ReadRPC node
- Database Design