Valentin Sergeev, the founder of Novasama Technologies and an Android Elite, recently presented valuable insights at Polkadot’s Sub0.
He discussed the complexities and strategies involved in creating decentralized and user-friendly client applications for Substrate Networks, offering valuable guidance.
Substrate networks are a type of blockchain framework that enables developers to build customized, future-proof blockchains optimized for any use case.
Substrate networks are designed to be modular, extensible, and open-source, and they provide developers with all the core components needed to build a distributed blockchain network.
They operate on top of existing Layer 1 (L1) blockchains to take advantage of their security and gas fees. Substrate networks provide developers with customizability, performance advantages, and increased ownership while leveraging the security of the main blockchain. In this article, we’ll look into some key takeaways from his presentation.
Understanding Substrate Networks and client development
Diving deeper into the presentation, he explained a very important concept of the structure of Substrate Networks’ – “Pallets,”. Pallets are modules representing distinct functionalities within a network.
These pallets contain components such as storage, calls, events, and errors that client developers can interact with.
He revealed that developers who build applications on Substrate Networks need to understand the importance of forward compatibility due to the absence of versioning in Substrate Pallets.
Forward compatibility is a design characteristic that allows a system to accept input intended for a later version of itself.
It is a design principle that enables a program or piece of hardware to remain functional in the future with new versions of itself.
Forward compatibility can be applied to entire systems, electrical interfaces, telecommunication signals, data communication protocols, file formats, and programming languages.
The objective of forward-compatible technology is for old devices to recognize when data has been generated for new devices.
He said that client developers must anticipate potential changes and handle them gracefully to ensure their applications remain compatible.
Other recommendations
Valentin also provided additional guidance to developers, emphasizing the importance of using the blockchain as the definitive source of truth for their applications.
This approach guarantees data availability and real-time updates, enhancing the reliability of the applications they develop.
He also noted that they should use multiple subscription-based models when it comes to storing updates to cache, ensuring users stay current with the latest developments.
To prevent failed transactions on the blockchain, the speaker advised implementing client-side validation. This includes checks like verifying users’ available funds and managing deposit requirements.
Finally, he recommended a selective approach to using relational caches, suggesting that developers should employ them for specific application sections that demand intricate queries.
This approach aids in efficient data management and mitigates the risk of relational table overgrowth.