Engineering calls are the most anticipated event in the Lava Community. As the community-led standard for accessing blockchain data, itβs essential for us to have our community involved in the development of the protocol.
β
During last weekβs call, we discussed the latest engineering advancements, addressed challenges and community questions, but also made a special announcement β Lavaβs open-source code and documentation is now available to our early community members!
β
Topics discussed:
Hereβs a short recap!
Lava Info is a dashboard for viewing real time data and analytics about the Lava Blockchain. The main page of Info presents a recap of the stake, rewards and relays spread across chains supported by Lava, over time. Info also aggregates data about all the Providers in the network: address, stake, relays & CUs served, their latest block and more.
β
This is useful both for Providers to learn how other Providers are performing, and for Developers to explore and assess the quality of their Providers β and subsequently, the network.
A tiny sneak peek!
gRPC is a high-performance, strongly typed, open-source framework for building RPC APIs, and Web-gRPC is a JavaScript library that allows web applications to communicate with gRPC backends, using standard HTTP/1.1 instead of a custom binary protocol.
β
These two frameworks are especially common and useful for developers in the Cosmos Ecosystem. Cosmos SDK is based on Protobufs, which are natively exposed to gRPC. This means that using gRPC for a Cosmos app improves RPC performance and makes development easier.
β
Furthermore, many of the frontend Cosmos libraries today are using Web-gRPC, piggybacking on JSON-RPC. By directly using Web-gRPC, apps can skip wrapping and unwrapping gRPC packets to get better performance.
β
Most RPC providers donβt support gRPC and Web-gRPC. Thatβs mainly because itβs significantly harder to wrap than other RPC protocols like JSON and REST. Our decision to offer support for them comes from our belief in providing developers and users with the easiest and most flexible experience possible. Lava is also building to become the standard for blockchain access across Web3 β it is omni-chain and omni-API. The protocol actively incentivizes providers to support the full range of APIs available for every chain. Developers will not need to go anywhere else for their data needs β Lavaβs flexibility environment is a result of its configurability.
We are building a protocol that will work both as a decentralized SDK on the frontend, and as a highly performant backend product. Both environments need to support and implement the Lava Protocol, and both environments are different in their architecture and programming language.
β
To overcome this, one option is to have 2 different repositories and 2 different environments implementing the protocol, leveraging the benefits of each environment in its respective area. The disadvantage of this approach is protocol implementation updates and fixes, where the pace of development will be slower.
β
The other option is to try to combine a common library between the two, which is agnostic to the environment such as WebAssembly, and utilize common functionalities like state machine management and verifications at the protocol level.
β
We are currently exploring the different options, and will share our findings in future calls. If you have thoughts on the matter β youβre more than welcome to initiate a discussion in our Discord!
Lava Network is a protocol which connects apps to a decentralized network of high quality blockchain API providers. Each provider is held accountable on-chain and rewarded for maintaining fast, reliable and accurate service. The connection is private, enabling anyone to fetch data without being associated with their queries.
Lava is the community-led standard for accessing blockchain data, so developers can focus on building web3 apps with the best user experience.