Unless you are a Hive wizard or witch, you may not be familiar with all magical powers of Hive. The most powerful of them is custom JSON. When interacting on Hive we get used to its social applications and may build a misconception of Hive only being a social blogging and networking blockchain that rewards content creators and curators. Without any doubt social applications are indeed big part of Hive and one of the unique features that sets this blockchain apart from others.
However, it is only a proof of concept, a demonstration of a truly decentralized blockchain can do. The real magical power of Hive is hidden from the mere mortals. It is called custom JSON. As the name suggests, it enables wizards and witches create custom spells and build magical applications that are only limited to their imaginations. Let's back up a little bit.
When we publish a post or make comment on a post, this content is stored in Hive blockchain with a certain structure. Hive internally refers to all posts and comments as comments. When we upvote or downvote, these actions are also stored in the blockchain and these actions are linked to the posts/comments actions were on. Then there is rewards distribution system built around posting, commenting, upvoting, downvoting actions. These are all built in features of the blockchain.
Custom JSON is a completely separate entity from actions described above and by default has nothing to do with social blogging and rewards distribution. However, it is so powerful, by using it we can recreate similar social interactions and rewards distribution or come up with completely new systems and economies. The purpose and applications are not limited to social networking. It can be used for anything. We can build solutions for logistics, accounting, inventory systems, online orders, payments, gaming, education, etc. Anything!
It allows us to store text data in the blockchain. Since the language of the web JavaScript and common data structure is JSON, most likely we will use JSON structure when storing the data for use within apps, games, or any other software tools. We build our own custom data structure before storing in the blockchain, that's why it is called custom JSON aka custom_json.
If you know a little bit of python, you can use Holger's beem library to broadcast custom_json transactions. I will not bore you with lines of code today. But if you really are interested to see how it is done, feel free to read my Using Hive Blockchain Custom Json Operation with Python & Beem post which also includes some template codes to store some data as custom_json on Hive.
To take advantage of this magical power called custom_json, some wizardly or witch powers are needed. I am neither a wizard, nor am I a witch. I am only a seeker of a little bit of knowledge and skills. Playing with code gives us a deeper understanding of the this technology to see the possibilities. And they are limitless. If you haven't noticed yet, when I keep saying wizards and witches, I simply mean developers who have real coding skills. I am not a developer. I only code occasionally, and learned the basics here on Hive. Experimenting with various codes, I can see and image what can be possible to build on Hive if only one had proper skills, time, interest, and resources.
Many cool things are already built on Hive using this magic of custom json. Layer 2 solutions like Hive Engine and layer 2 economies has shown to be very attractive and interesting for many. The most popular crypto game Splinterlands uses custom json. Tribes like LeoFinance, ProofOfBraine, and others use custom json. Tribes experimenting with different economic and rewards models are utilizing custom json to make those ideas a reality.
When I read or hear when some people suggest ideas how Hive rewards can be improved, and often there are some good ideas, my reaction is - "No need to change Hive rewards, new ideas and systems can be built using custom json". This is available for everybody. There is no need to be a whale, or witness to work on building upon these ideas. There is no need for blockchain hardforks. Custom json just works.
There is something very important to remember though. Custom json takes its magical powers and energy from truly decentralized blockchain. If Hive wasn't decentralized custom json would be meaningless and have nothing better to offer than centralized database solutions. Hive being a decentralized blockchain network, makes custom json to be immutable, transparent, and incorruptible solution for wizards and witches to build their wizardly things and witchcraft.
Now let's take a look at couple examples what can be build using custom json. Possibilities are limitless. I am fond of cryptography, privacy and education. First example I would offer is a sort of a Facebook clone or social network with privacy features. This can be accomplished by storing data in an encrypted way and only let data decrypt based on data owners permissions. If I am an organization with 100 people in it and would like to create a platform for the people in the organization to communicate and collaborate with, I wouldn't want this data leaked to the public.
What I would do is store anything and everything in an encrypted form as custom json on Hive. Everybody using the app/platform would be able to do that. Then everybody can give permissions to other to view the content. This would only apply to text data. Images and videos take up a lot of space, they would probably need a different solution to be stored. One of the solutions can be the infrastructure and network Speak Network is building. Or we can go back to centralized database solutions. But the core integrity of these social or work related interaction will be preserved via custom json. Now we can scale this up and offer this solutions to any organization that would like to use it, or just people to start private social networking circles. Of course, everything doesn't need to be private. It is always good to have options for people to choose.
The second example is a lot simpler. One of the main methodologies used in education is testing the students to see how much of the material and knowledge students were able to retain. Common types of testing is multiple choice or true/false quiz. Let's say I want to build a quiz app and call Hive Quiz. I still want to be able to keep quiz questions private and not publicly available for everybody. I will store questions and answers in an encrypted format as custom json on Hive. Then I will be able to provide my students with a link and a passphrase to access the quiz. Once they take the quiz, the date, time, their answers and scores will be stored as custom json as well. Since all data is available in the blockchain and I have the access to decrypt, I will easily be able to view and grade the tests.
Over the years I will keep building my questions pool and improving. At the same time tens of thousands of teachers around the world, or maybe around my local area are doing the same thing. Teachers would be able to network with each other and share their quiz tests, and reuse them as they find fit. With many teachers getting involved the system will keep improving on its own. We can take this model and apply to testing outside of educational facilities as well.
What are your thoughts about custom json and what do you think is possible to build utilizing this powerful feature of Hive? Let me know in the comments.
Posted Using LeoFinance Beta
Borrowing from the LISP concept of program as data, it could be interesting to try store functions as custom JSON and be able to compose them into a program by simply fetching them from the blockchain and running them.
A potential use case for this would be custom WebGL shader code to be applied to NFTs
It is an interesting idea. Function is a text, so you would be able to store it and retrieve the text when needed. But you would need that function processed somewhere else. I have thought about it in the past, not sure if this can add any efficiency though.
This is an interesting topic and I've been learning about how all of this works together too. It seems that the layer 2 solutions like Hive Engine work by running smart contracts when certain custom_json posts are made on the main Hive chain, right?
Yes, exactly :) Everything you do on HE is saved into the blockchain as custom JSON messages. HIVE games also operate in this way.
What mciszczon said.
Do you mean the top witness with the black coat? :D
More seriously, the JSON format is a very good and flexible format to share information, and this definitely applies beyond the chain. I for instance use it in my everyday work when to compare some theoretical predictions with data (stored following some JSON structure). The flexibility is the main advantage, in my opinion.
PS: I know I don't answer the question you asked at the end of the post... ;)
I believe you did answers. That is a great example. Thank you.
Wizards do tend to wear black coats.
hehe :D
In fact, I wrote black coat, but I thought grey coat. In any case, grey is a good approximation of black (after all, I am a physicist... i am thus good with approximations).
This is the biggest issue with HIVE, unless you are a HIVE expert this platform is impossible to use for the average normie that posts dog images to facebook and spends all day looking at booty on tik tok. Those are the people we need to onboard and none of them care about JSON (even if it is really cool).
Posting this article here because the "onboarding" and the "user friendly" issues with HIVE need to be addressed so we can onboard more people to this platform, then we can dazzle them with the JSON wizardry. https://hive.blog/hive/@titusfrost/make-onboarding-new-people-to-hive-great-again
I am having more fun with it lately, definitely learning a lot about other languages because of blockchain.
Always late to curate your posts, but just wanted to let you know that I appreciate them a lot. Hopefully, your writing will also influence some other souls to explore what so teasing you make out of these things.
Cheers
Hi @forykw! It is always great to hear from you. Your feedback and kind words are much appreciated. Custom_json is great. I wish I had more skills to create something more meaningful. I am stuck with python, don't really have time to properly learn javascript or other languages.
I good trick I have on my daily job is to convince someone to produce something in a specific code I don't know about, and then booom... I am forced to learn =) LOL
Good trick indeed. That someone must know you well enough produce something you might not know though. Learning something new everyday is a good habit to have.
Oh my! I am clueless as to computer language such as custom json. You almost lost me, but I persevered till the end of the article. The application of custom json to education is very interesting. Just curious where or how to start to understand these things.
Posted Using LeoFinance Beta
If you are not a programmer you will not need this. But if you are interested in learning programming, you would need to start learning the basics of coding first.
custom_json is a simply a container where you can store text in Hive blocks, similar to posts and comments. But it is not visible to everybody unless you build an app to display the data stored in them.
Yes, I am not a programmer, but my interest in both crypto and education made me curious about codes. I guess learning programming might be too late for me. Anyhow, I am thankful for explaining such programming jargon in simple terms.
I like it as this part was brought up and made stand out, and the examples fit well.
On this fact you mention quiz, but I think survey regarding an app on the hive blockchain or games like Splinterlands can also use this tool, another is private bidding, I know many like making things public regarding this, but there are some that can take place privately, lastly is regarding briefing, and assignments i.e this is good for the skill-building it's hard to put it in the right words but I hope you get the point am trying to make. but all are regarding feedback am sure that apart from feedbacks others can work well with JSON.
These are some great examples. Thanks.
The most powerful current uses are @podping and @arcange’s HAF.
These can transform the internet.
Yes 100%! I was actually thinking about Podping before I started writing this post. Such a cool and useful use case example for custom_json. I was going to dedicate at least a paragraph to it, but somehow forgot. I still didn't get a chance to review the code and learn from it. I hope to do that and perhaps write a review on this great solution.
I guess I'm not even close to a "baby witch" 😕
You are article is so good and intrigued me so much that I'm thinking now of learning some code to be able to use that magical JSON, as my head is now full of ideas.
Coding is fun. That's how I started learning how to code.
This is really exciting stuff! I’ve had a few close brushes with JSON, but never worked with it enough to know really anything about it - but the idea of building my own applications on the HIVE blockchain sounds incredibly exciting. I will be looking forward to learning more about all this - thank you for your effort in sharing this information and use cases!
I think JSON is pretty amazing and I like the push away from structured data to semi-structured data. It just gives people more flexibility even if it makes things a bit more complex. Of bourse this complexity also allows the developers to do more with values.
Posted Using LeoFinance Beta
Very interesting, as a newbie, I was wondering about JSON. This is a post that came right in time (for me) with the info about it. Thank you @geekgirl 😊
It just works, like you say. It does give some other possibilities…
Your question:
I would create a private platform for a group of people that want to learn art, give them access to it and in there I would teach them Art. Painting, drawing, techniques, principles of drawing etc. Like a course… we can communicate freely. Without it being in the “open”
Yes, that would be cool 😎
Well, now I know how important JSON is to this system.
I thought that like so many other websites, you only need javascript!
Of course as a Full-Stack Dev u also need msql etc. 😅
:) perfect timing. i was just looking at my hivebloks page and was wondering who this jason guy was, and why is he always posting, but I never see..
:P
and yes, he is powerful and awesome!
lol.
User profile info are stored as json_metadata, there is also json_metadata for some parts of the posts.
However, custom_json I am talking about in this post is something different. It is like a separate container for developers to store data and include them in blockchain blocks.
oh, i see. thanks for telling me. :)
I know absolutely nothing about coding, but this has the theme of anything is possible all over i, and from the two examples you've given above, I think the possibilities are endless
Intressting Article. By the way. The picture looks so cool. It looks almost like a lightpainting picture. It would be a nice theme to paint in any case. Right? @fadetoblack c/hive-108913
Yes, it will great to see. Let me know if someone does it.
Thanks I see it pop up on hivesigner and keychange and always wondered what it meant. Now I know.
O no
This is way beyond my comprehension 😭
exactly what hive does is really good for people
This is really interesting and amazing to learn from with so many ideas involve in it.
@geekgirl! The Hive.Pizza team manually curated this post.
You can now send $PIZZA tips in Discord via tip.cc!
This post has been manually curated by @bhattg from Indiaunited community. Join us on our Discord Server.
Do you know that you can earn a passive income by delegating your Leo power to @india-leo account? We share 100 % of the curation rewards with the delegators.
Please contribute to the community by upvoting this comment and posts made by @indiaunited.
The rewards earned on this comment will go directly to the person sharing the post on Twitter as long as they are registered with @poshtoken. Sign up at https://hiveposh.com.
you’re way too vast , even though you don’t have magical powers. Keep it up!😎
Nice post, well informative and equipped in practicality, 👍
Code posts don't usually attract me...yours are the exception, however :))
Thanks for going deep into the real value of hive
Very interesting magic, definitely have to try it. There are many interesting ideas of what can be done with this.