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:
- Insteem Web
- Insteem App (React Native, available via Expo)
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.
If you're not familiar with GraphQL, here you go.
Posted on Utopian.io - Rewarding Open Source Contributors
Hey @sarasate I am @utopian-io. I have just upvoted you!
Achievements
Community-Driven Witness!
I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!
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
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
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]
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
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
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit