Glasnost v0.16 released: GraphQL API for Steem and Golos blockchains

in #steemdev7 years ago


Notable new features: GraphQL query for Steem and Golos blocks, query for basic statistics and custom ordering/sorting for comments query.

Repos

Glasnost Docker hub

Glasnost Github Repo

Configuration

Glasnost now requires a PostgreSQL database.

You need to configure the following Postgres database parameters using the Docker ENV variables:

  • GLASNOST_DB
  • GLASNOST_DB_HOST
  • GLASNOST_DB_PORT
  • GLASNOST_DB_USERNAME
  • GLASNOST_DB_PASSWORD

Other parameters, such as PORT, STEEM_URL and GOLOS_URL, can be configured in the Docker file.

Changelog

  • added GraphQL query for block data with height or getLast: true arguments
  • added GraphQL query for basic statistics
  • added order_by (created,total_payout_value и pending_payout_value) and sort(asc, desc) arguments for comments query with possible values suggested in GraphiQL interface
  • new queries examples
  • minor bugfixes
  • docker image update

Examples of GraphQL queries

{
  comments(blockchain:"steem", author: "ontofractal", isPost: true, category: "steemdev", orderBy: TOTAL_PAYOUT_VALUE, sort: DESC){
    id,
    title,
    author,
    permlink,
    parentAuthor,
    parentPermlink,
    body
    tags,
    category,
    created,
    totalPayoutValue,
    pendingPayoutValue
  }
}
{
  comment(blockchain:"steem", author: "ontofractal", permlink: "glasnost-v0-12-released-now-with-postgresql-realtime-and-7-day-lookback-comments-data-sync-open-source-app-server-for-steem"){
    id,
    title,
    author,
    permlink,
    parentAuthor,
    parentPermlink,
    body
    tags,
    category,
    created,
    totalPayoutValue,
    pendingPayoutValue
  }
}
{
  block(blockchain:"steem", getLast: true){
    height,
    timestamp,
    transactions,
    witness
  }
}
{
  statistics(blockchain:"steem"){
    postCount,
    commentCount,
    authorCount
  }
}

Road map

Next release: public Glasnost GraphQL endpoint

Possible future features:

  • Convenient websockets APIs for accessing blockchain data
  • Performant, low latency APIs
  • Advanced filters and content display settings
  • real-time streams of enriched blockchain events

Technologies

  • Elixir
  • Phoenix
  • GraphQL
  • PostgreSQL

What's Glasnost?

Read more about Glasnost and its roadmap in the introduction post

Development process

Glasnost is a single code base developed simultaneously both for Steem and Golos blockchains. Sustainable Glasnost development is made possible by generous support of Steem and Golos communities and @cyberfund program to support Golos open source ecosystem. Read more about Golos and cyberfund open source support in this post by @hipster.

Feedback

Please submit bugs, issues or feature requests to Github. Also get in touch with me: ontofractal at protonmail.com or steemit.chat.

(ノ◕ヮ◕)ノ*:・゚✧

Sort:  

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

Award for the number of comments

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!

Wow! This is the first time I've heard about Glasnost. Thank you for the info! @ontofractal

great post

Coin Marketplace

STEEM 0.25
TRX 0.25
JST 0.040
BTC 93708.85
ETH 3368.00
USDT 1.00
SBD 3.50