Author Topic: [Worker Proposal] Blockchain Explorer and API Development  (Read 21185 times)

0 Members and 1 Guest are viewing this topic.

Offline cass

  • Hero Member
  • *****
  • Posts: 4311
  • /(┬.┬)\
    • View Profile
█║▌║║█  - - -  The quieter you become, the more you are able to hear  - - -  █║▌║║█

Offline roadscape

I've spent a lot of time on the block explorer ( since the launch of 2.0. It brings me great joy to be able to unearth some of the inner workings of Graphene and to share them with the community. Especially with the governance features, I considered it critically important to have a public frontend for voting & committee data, and that's what I built. It was low priority for the wallet, and an ideal task for the block explorer. I am particularly proud of the voting report page -- it's far from perfect but I would love to work more on this report (and others) and it's a good example of how I can transform rich yet ugly data into something beautiful. And this was just the start..

My goal for the block explorer is to provide maximum utility to the BitShares community as a whole. This is to be accomplished by (1) providing useful reports (especially governance), visualizations, and data aggregation; (2) forming a social hub and information source; and (3) serving as an educational portal while also highlighting our unique selling points.

Block Explorer

Graphene serves an endless supply of data and it's worth it to expose as much of it as possible. As more apps are built on the chain, I plan to expand the site to work with the new data streams. The block explorer serves as a prominent face of BitShares and the pages must be adjusted for wider audiences as our network grows. It will always offer things the wallets can't.. the features from many apps & wallets can be unified as one searchable portal.

Upcoming Features
  • Better assets list - add volume, price data, sorting. it should look a lot like CMC.
  • Improved asset markets - been waiting for updated APIs, which were just released!
  • Unified search - quickly look up any user, asset, transaction, or block
  • More graphs & reports - balances claimed, usage stats, fee income, etc
  • Proposals index - all past/upcoming proposed transactions (committee and otherwise)
  • Translations - to be a true hub, we need to support more languages

API Development

I've received many requests from developers for various APIs, though I haven't had time to add them all or document any. There's a big void in this space and the block explorer is perfectly poised to fill it. The API is another aspect I've held back on because it's not profitable. Yet developer-friendly API's would be a big step forward in lowering the barrier of entry to BitShares.

Graphene is a very powerful database but its minimal approach means concession of indexes and its initial API methods are a bit limiting. This block explorer uses multiple approaches to extract all the useful data efficiently and allow for queries against it. Providing public access to this data has value but running a documented endpoint comes with responsibility. So ultimately this will need to be an open-source and distributed effort (I'll author a Rails gem + minimal http API app for this worker).

Social Network

Bulletin boards and social networks on our own blockchain are something I'm particularly excited about. I've built a working MVP that allows you to publish posts on the blockchain, and I'll need your help to test it soon. Here's a sneak peek:

On this prototype you can author posts on the blockchain as well as tip posts (off-chain). It will be ready for public testing this week. This approach uses custom operations, but it supports multiple message sources--meaning it's ready to grow as a content aggregator across a variety of apps running on BitShares. It's already compatible with the "public memo" approach used by the announce feature.

Now that we have shown a minimum viable way for accounts to login and submit public messages, it opens many interesting possibilities:
  • threaded forum / message board
  • community map
  • local bitshares
  • advertising
  • job board
  • sharing of PGP keys
  • coin-weighed polls
  • reputation / feedback
  • donation-tracking pages
  • dedicated fundraiser pages
  • stores & digital downloads
  • federated social networks
  • "stack exchange" style network

A lot of these features are low-hanging fruit for the Cryptofresh platform. Any of this stuff could be integrated into the wallet or into the witness_node directly, but it's magnitudes easier to test it on our platform.


I hope that by delivering the initial block explorer features up front I've demonstrated the value and commitment I can bring.

I release my previous work on the block explorer at no cost to the community, but for the next stage I would like to go with a worker proposal. I am requesting 30,000 BTS per day from 3/1 - 5/31 to work towards the goals and priorities outlined in this document, at a rate of 20 hours per week. The pay will vest for 90 days. I will release the block explorer as open-source under MIT license when this worker has been funded in full.

Most of my work is front-end/UI-oriented, so it will be easy for you to watch the progress. I will also provide regular updates.

Witness Resignation

I would also like to take this opportunity to announce that I no longer wish to run a witness node.
Please unvote witness roadscape when you cast your vote for the worker!


Code: [Select]
create_worker roadscape "2016-03-01T00:00:00" "2016-05-31T23:59:59" 3000000000 "Blockchain Explorer and API Development" ",21532.0.html" {"type":"vesting","pay_vesting_period_days":90} false
Blockchain Explorer and API Development (1.14.33)
« Last Edit: February 19, 2016, 03:34:16 am by roadscape »  |  witness: roadscape