Introducing SteemPlus backend

Words
520
Reading
3 min
Listen
Play
8y

image.png

New Project: SteemPlus backend

What is the project about?

We are working hard to bring the whole lot of new tools that the community needs but in some cases, querying the blockchain can be too slow to present results in a timely manner. That is why we have decided to start using SteemSQL for some of our features.

SteemSQL is a well maintained and frequently synchronized database proposed by arcange@arcange that allows to access blockchain data in a super fast way.

Since SteemSQL is a paying service (10SBD/month) and requires login credentials, I couldn't expose those information directly on the extension and had to create a backend. The primary purpose of this backend will be to provide APIs that fetch the SteemSQL data.

Existing features

As of today, the backend returns data on the two following endpoints:

  • /api/get-witness/[username] : Gets a lot of data on a witness : its rank, last mined block, missed block and much more (See result hereunder)
{"lastBlockTimestamp":"2018-04-15T09:22:06.000Z","rank":"81","name":"stoodkev","votes_count":403,"created":"2018-01-24T03:55:09.000Z","url":"https://steemit.com/witness-category/@stoodkev/my-witness-thread","votes":"3618732607143144","total_missed":4,"last_aslot":"21649642","last_confirmed_block_num":"21584758","signing_key":"STM7wEZ2Sj1embiofddWjkRHDDA5EZfcEPmdLN7Pbc4X8afrRCX9n","account_creation_fee":0.2,"account_creation_fee_symbol":"STEEM","maximum_block_size":131072,"sbd_interest_rate":0,"sbd_exchange_rate_base":2.674,"sbd_exchange_rate_base_symbol":"SBD","sbd_exchange_rate_quote":1,"sbd_exchange_rate_quote_symbol":"STEEM","last_sbd_exchange_update":"2018-04-15T11:04:45.000Z","running_version":"0.19.2","hardfork_version_vote":"0.0.0","hardfork_time_vote":"2016-03-24T16:00:00.000Z"}
  • /api/get-mentions/[username] : Gets mentions of [username], both from posts and comments. Body is truncated for a better execution speed.

Technology Stack

We used Node.js and Express framework to create our backend.

Roadmap

In a first time, we will keep using this backend to fetch more information from SteemSQL such as:

  • Wallet information
  • Delegation received
  • Witness votes received
  • Whatever else I will think of during my sleepless nights!

In the future, it might also include some non-SteemSQL algorithms, but I ll keep that a secret for now!

List of commits

Wanna contribute?

Join us on Discord

No idea what SteemPlus is? Read on!

The complete list of feature and their description can be found in the documentation.

Available on Steemit and Busy
  • Voting slider for minnows (you do not need to vote at 100% anymore!)
  • True value of your account on your wallet (calculated with current SBD and STEEM market prices)
  • Delegation button in your wallet (with list of delegatees and undelegate button)
  • One click switch between Steemit , Busy, Utopian and Steemd
Available on Steemit (and mspsteem)
  • Feed+ : Filter your feed by tags, resteems (hide, show, blacklist, whitelist), reputation and sort it by upvotes/date/payout
  • STEEM/USD and SBD/USD values in the user dropdown
  • Option to add beneficiaries to your post (you can say that 10% of your post payout will go to one of your friends for example)
  • Cool badges on user profiles show their rank: Plankton, Minnow, Dolphin, Orca and Whales
  • Direct transfer to users
  • Favorites
  • Steem Sincerity
  • All Steemit More Info features
  • Steemit Board Awards

SteemPlus Installation procedures

You can download and install SteemPlus directly from the Chrome Store if you are using Chrome (follow this link ).
For installation procedures on Opera and Firefox, please check our documentation.

Big shoutout to @jerrybanfield and his budgets project that allow us the speed up the development of SteemPlus!

@stoodkev and @cedricguillas for @steem-plus

Powered by @adsactly

Powered by @utopian-io

Like what I do? Vote @stoodkev for witness!



Posted on Utopian.io - Rewarding Open Source Contributors

Introducing SteemPlus backend | Ecency