Steem Script: An Open JSON Standard for Trusted Workflows [Proposal]

in steemscript •  2 years ago


Introduction to Steem Script an Open JSON Standard for Trusted Workflows.

Steem is growing and will require new features soon. There are new apps and websites based upon the steem blockchain emerging everyday. The official site steemit.com is also releasing new features as well.

Idea/Conceptualization: @fabien Info Gathering/Vision/Text: @ekitcho Rewriting/Formatting: @dwinblood

Steem Script Proposal


As developers we all look to integrate new data into accounts. The Steem blockchain based account has metadata. We could use the json_metadata field for anything. We should collaborate and define what types of rules should exist for it.

This is why json_metadata is awesome and could be a huge game changer for the future. This means it is also very important to define a standard. With a standard we can all intermingle and share code with strong assurance our projects will work together. It will also make it easy for us to jump into assisting each other and quickly be able to understand a workflow without having to learn a new thought pattern.

I am glad to be able to introduce a standard right now called Steem Script.

The account_update allow you to update the json metadata and put your custom data in that location.

The first project that brought this functionality was by an initiative from @dan on the Steem DNS.
https://steemit.com/namecoin/@dantheman/dns-via-steem
This is where he first mentioned we could utilize the steem account meta.

Another project was worked on by @someguy123:
https://steemit.com/steemit/@someguy123/steem-dns-your-username-dot-steem-dns-on-the-blockchain

He utilized existing dns:{records:[]} to make this idea happen.

If you visit steemd.com/@user you can check the metadata field.

You can see both of these yourself by viewing these users' steemd profiles.
https://steemd.com/@someguy123
https://steemd.com/@picokernel

This is an extremely useful feature of the steem blockchain, but as more and more people add to this on a day after day usage it will soon be a big mess. It is apparent we need some sort of standard based around unique definition to be available on the json_metadata in order for this to truly work. Without this it will quickly become a big mess if it is mal-formatted.

Group collaboration on a standard


We began working on a standard after discussing it with several key active members. Some of these members were @picokernel, @jesta, @someguy123, @ekitcho, and @fabien. We were striving to find the correct solution that can hopefully serve everyone.

This will help insure that all apps based upon the steem blockchain share the same structure, convention, and naming standard.

Open source


This is my proposition based upon the Facebook style, but anyone can contribute to this github Repo now that it is open source.
GitHub: https://github.com/adcpm/steemscript
Gist: https://gist.github.com/adcpm/021525e2304a55f31637e60db3c87532

Account json_metadata

{
    "version": "0.0.1",
    "dns": {"records":[["@","CNAME","steem.io"]]}},
    "profile": {
        "name": "Ned Scott",
        "email": "ned@steem.io",
        "birthday": "12/31/1999",
        "gender": "male",
        "about": "CEO and Co-founder at Steemit",
        "first_name": "Ned",
        "last_name": "Scott",
        "location": "New York",
        "timezone": "-5",
        "locale": "en_US",
        "languages": ["en"],
        "website": "https://steem.io/",
        "cover_image": "https://img.busy6.com/@ned/cover",
        "profile_image": "https://img.busy6.com/@ned",
        "featured_post": "the-first-phase-of-the-steem-faq-and-wikee-consolidation-of-knowledge"
    }
}

Comment json_metadata

{
    "version": "0.0.1",
    "tags": ["steemit", "steem"],
    "users": ["ned", "dan"],
    "images": ["https://img.busy6.com/@ned"],
    "videos": ["https://www.youtube.com/watch?v=rkQ7b-u8_6g", "https://www.youtube.com/watch?v=H399YZ0pv0o"],
    "status": "archived"
}

Jedi


I would like to now introduce the latest work by @picokernel that is called Jedi.

What is Jedi?

Jedi is an interface where you can play around with and modify your json metadata. It is useful for developers to check their tools. It is also useful for end users to correct their metadata. It features a lot of little do-hickeys to make your life easier. These include search, append, modify, and save. It should be capable of handling any valid json_metadata you can throw at it!

Source code can be found here: https://github.com/NateBrune/jedi

Thank you for reading, stay tuned.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Solid idea. Having a standard that you can count on for building Steem related apps would be fantastic.

Great idea. I hope people embrace this and collaborate with you. If you need any help from me don't hesitate to reach out.

@fabien busy is an amazing platform indeed , thanks for creating it which motivated me to write my latest post about steem being an undervalued precious gem-feel free to see it...my success

This proposal will surely be helpful for developers who want to store data using conventions that others can recognize. Great job!

Very cool! I've been wondering about the meta data and how it would end up getting used. I like the idea of a standard, especially one that has been tried and tested as well as Facebook's. Nice work. Looking forward to more info on this. Followed.

Taking on namecoin and onename at same time. I like it.

Good idea..good source. @ned should add a good bonus to your work.

Congratulations @fabien! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of upvotes received

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

By upvoting this notification, you can help all Steemit users. Learn how here!

Congratulations @fabien! You have received a personal award!

Happy Birthday - 1 Year on Steemit
Click on the badge to view your own Board of Honor on SteemitBoard.

For more information about this award, click here

By upvoting this notification, you can help all Steemit users. Learn how here!

Congratulations @fabien! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of comments received

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

By upvoting this notification, you can help all Steemit users. Learn how here!

Hi, thanks a lot for your upvote man

Congratulations @fabien! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of upvotes

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

By upvoting this notification, you can help all Steemit users. Learn how here!

I'm totally agree with you and it is great that you post about this issue before it become total mess.

This post has been linked to from another place on Steem.

Learn more about linkback bot v0.4. Upvote if you want the bot to continue posting linkbacks for your posts. Flag if otherwise.

Built by @ontofractal