steemQL 0.6.0 - GraphQL API Wrapper for Steem

in #utopian-io7 years ago (edited)

steemQL, the Steem GraphQL server, is evolving at the speed of light. This is a major version update due to some breaking changes and final design decisions. It basically wraps most of the standard steem API calls and enables near complete interaction with the blockchain. To separate these queries/mutations from custom convenient calls they are prefixed with _ (underscore).

The next steps are to implement custom, opinionated convenience queries to enable the full strength of GraphQL: Nesting of related data (Graphs, hence the name). This allows fetching data e.g. for an user (author) along with his last posts in one query. No need for 2 or more queries to build a simple user profile view. And it can reduce the used bandwidth, esp. for mobile, as only needed return values can be specified, unlike with the common API libs like steemjs which fetches all properties (~40) e.g. for discussions. This will be explained in more detail in one of the next updates.

New Features

  • Most of the standard steem API calls wrapped in queries/mutations
  • Standard calls prefixed with _ for better separation from custom queries

The standard queries leave it to the developer do deal with special formatting of specific return values and input params, e.g. parsing json_metadata and provide the right format for updates/inserts.
This will become easier with custom queries which will take care of any kind of formatting and enable the simplest queries/mutations possible like createPost(author, title, body, tags) and steemql will take care of creating permlink, json_metadata and so on.. no messing with dozens of input params.

Roadmap

  • Custom convenience method for easier querying and minimal number of params
  • Subscriptions for post/comment related queries, to use with GraphQL Clients like Apollo

Contribution

Any kind of contribution is welcome, mainly feedback and feature requests.

GitHub: steemQL

Discord: https://discord.gg/NgezG

steemit.chat: @sarasate

Projects using steemQL:

steemQL In Action

You wanna figure out who mentioned you in a post or comment, have a look here: https://www.insteem.com/mentions/@sarasate
Will be available at the mobile App soon.

Here is a sample query for steemQL:

{
  mentions(username: "sarasate") {
    results {
      author
      title
      type
      summary
    }
  }
}

Play with it: steemQL Server. To get documentation for available queries, hit the green Schema button on the right.

Screen Shot 2018-01-25 at 16.21.22.png

If you're not familiar with GraphQL, here you go.



Posted on Utopian.io - Rewarding Open Source Contributors

Sort:  

Hey @sarasate I am @utopian-io. I have just upvoted you!

Achievements

  • WOW WOW WOW People loved what you did here. GREAT JOB!
  • Seems like you contribute quite often. AMAZING!

Community-Driven Witness!

I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!

mooncryption-utopian-witness-gif

Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x

Thank you for the contribution. It has been approved.

Another great iteration. Keep up the good work.

You can contact us on Discord.
[utopian-moderator]

Congratulations @sarasate! 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!