During development of Native Ads, I realized that a lot of dApps might need to have access to block data, but might not necessarily be in a position to write code for block streaming from scratch.
So I have decided to share the block streaming aspect of Native Ads, as a standalone microservice in two forms:
- a module that dApps can install as part of their backend to retrieve customizable data sets from blocks (e.g. custom_json ops for their apps only)
- a public node, that dApps can interact with and set parameters on the kind of data they want to keep track of
As a microservice, it will have more features and customizations to cater to a wide range of use cases.
One use case for a public node would be a simple app for example, that uses a few custom_json ops to provide data input for its users. It can simply subscribe to those few custom_json ops without having to write code for block streaming and parsing and without running a node connected to the blockchain.
One advantage of using the module implementation is that if your're making a dApp, you just host the module as part of your backend and have access to it via a local API, much like you would the PostgreSQL service. So you will have streams of block data available to you, while the module handles all the streaming and parsing logic.
I think it will lower the barrier to entry for new dApps.
What are your thoughts on this kind of microservice?