Glasnost v0.13 released: GraphQL API for Steem blockchain

in #steemdev8 years ago


Glasnost transformation into a GraphQL API server is now complete, access to Steem/Golos blockchain data is now possible using GraphQL queries.

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 an extractor for the Postgres database, which synchronizes new posts and comments in real time and looks back for comments over last 7 days
  • Added a /graphql GraphQL API endpoint with comments and comment objects (see examples below)
  • Added an interactive browser-based GraphiQL client at /graphiql route
  • Previous admin and static HTML pages were completely removed
  • Updated docker image
  • A lot of various bugfixes and improvements

Examples of GraphQL queries

{
  comments(blockchain: "steem", author: "ontofractal") {
    id,
    title,
    author,
    permlink,
    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,
    created,
    totalPayoutValue,
    pendingPayoutValue
  }
}

Road map

In the next release, I plan to expand the capabilities of GraphQL resolvers and add filters, sorting, and a new type of queries for statistics.

Among 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:  

Realy good post.i resteem this post.best of luck

Keep up the good work, @ontofractal :-)

Nice one

This looks great! I'm not sure how I hadn't come across the project before.