You are viewing a single comment's thread from:

RE: Is Custom JSON the Future of Steem? | The one thing that has been going up on Steem in the bear market!

in SteemLeo5 years ago

I use the sql database :)
It is great but as you said a bit costly. Not much of an expert of the topic of indexing, but if it improves the data searching and retrieving that is great! Maybe we should look to implement this in some future hardfork, since jsons are now so wildly used and probably will grow even bigger.

The NFT options is something interesting, I was just exposed to NFTs with gerbers test game .... wasn't aware that you can do an unlimited objects with them. Looks like the NFT will open yet another door on the Steem blockchain.

Sort:  

I wouldn’t say NFT objects are unlimited. The number of NFTs is limited by having to lock another token, so that’s basically a lateral cost. Also, after defining three properties, there’s a cost to add more. So there’s a width cost.

In terms of having the blockchain itself do the index functionality, that’s a matter of scalability. If they define a dedicated plugin to index these ops, it will impact replay times, if that plugin is enabled on the node.

The cost of data indexing doesn't go away just because a different bit of code is doing the database calls.

Correct, so instead of your app indexing just your app’s data, the plugin is indexing everything. I’d imagine that kind of solution would benefit from a setting to tell it at least which ID you’re interested in, so that if you’re running a private node, the impact is less than someone running a public node that indexes all IDs.

Sure, that seems like a reasonable approach. Or maybe a plug in that allows push or pull of relevant IDs to support indexing externally without needing to stream the entire blockchain.

Like a dedicated p2p network? Yeah. We basically get that with Steem Engine, only it doesn't rely on a C++ dev to implement. Not that there's anything wrong with that.

I'm not sure what you mean by a dedicated p2p network. Steem Engine streams the whole blockchain right? I'm saying if all you want is a subset of data from a subset of custom_jsons, the right plug in would let you do that without the whole chain. The plug in would only need to be implemented once, then anyone (i.e. non-C++ devs) could use it. In fact Steem Engine could use it too.

Or maybe a plug in that allows push or pull of relevant IDs to support indexing externally without needing to stream the entire blockchain.

Pushed to only registered IP addresses that are interested in those IDs. One way to implement this would be something like a p2p network. Although this comes with its own set of problems to solve (security, authentic inventory).

Right. If you are using RPC to a node now, you are trusting the node to be providing authentic data.

A plugin to retrieve just the data you need inherits the same same trust requirement but with a lot less overhead. This is even true if using your own node on your own hardware, since retrieving all the data over RPC (only to discard 90%+ of it) is itself pretty expensive.