Successful [Factoshi-2] Stats Daemon and Public API

Was this grant successful?

  • 0

    Votes: 0 0.0%
  • 1

    Votes: 0 0.0%
  • 2

    Votes: 0 0.0%
  • 3

    Votes: 0 0.0%
  • 4

    Votes: 0 0.0%
  • 5

    Votes: 0 0.0%
  • 6

    Votes: 0 0.0%
  • 10

    Votes: 0 0.0%

Have not voted

Authority Nodes Blockrock Mining Blockrock Mining Consensus Networks Consensus Networks CryptoLogic CryptoLogic DBGrow DBGrow Factomatic Factomatic Factomize Factomize Federate This Federate This HashnStore HashnStore HashQuark Kompendium Kompendium The Factoid Authority The Factoid Authority

  • Total voters
  • Poll closed .


Factomize Bot
This is your grant tracking thread. Below, you will find information from your original grant.

Grant Proposal

ANO / Committee
Group: Factoshi
FCT address: FA2tsEih6kyzNSBtbkzZ31HUGF8QQB7RPBFouBVfYyUZk24QkPr2
FCT: 3700

Total FCT Requested

Start Date

Completion Date

Success Criteria
  1. The completion and launch of a production-ready REST API.
  2. Detailed and accessible documentation for that API.
  3. New statistics for addresses, chains and PegNet.
  4. Block-level resolution for existing daily statistics.

Timelines and Milestones
The only milestone for this grant proposal is the launch of the API, which is targeted for mid-June.

The budget for this grant will be used to top-up the income generated by Factoshi's authorities servers, and will directly compensate me for the (approximately) two months of full time work it will require to get it into production. Operation costs will be funded directly from ANO income and are not included as part of this grant.


Factomize Bot
@Alex @Factoshi

Today is your grant start date! We look forward to regular updates from your team.

When you are ready for the final determination poll, first summarize the grant and self score then go to the thread tools dropdown at the top right and select "Create Final Determination Poll".
Before I provide an update, I would just like to say thank you to the standing parties for awarding my grant. I appreciate the trust you have placed in me.

So, as per my grant proposal, I have already been working on this for the past month. The project can broadly be split into two phases. The initial phase is the stats daemon. I am building a daemon which parses the entire blockchain into a database, then creates stats by analysing that raw blockchain data. I am working with a lot of data here, so the challenge is to make new updates efficient whilst maintaining overall application design. I have nearly completed the stats daemon and I am currently in the process of debugging. I hope to be able to move onto the second phase within the next 3 or 4 days.

The second phase will be the creation of the API itself. I have already begun to sketch out the API schema, which will be used to auto-generate documentation. You can see a screenshot of what that might look like here.


Once I have finished the schema, I will be able to implement the API. I do not expect any major hurdles while implementing the API. For the most part, it will simply be a case of interpreting client requests and then relaying data already held in the database. I have designed my database schemas to ensure that little work as possible needs to be done upon the receipt of a new API request. Following that, it will be a case of testing and debugging until I am satisfied with it.

I will likely release it in open beta before making a stable release. I plan to upgrade while the API is in beta so I can iron out any kinks from the point of view of the user before making the API stable.
I am pleased to announce that the API has been released in open beta. You can see the documentation here:

People are free to begin using the API. However, it is possible that any of the interfaces may change without warning, so I encourage anyone using it to be cautious and to avoid production use for now. I will make an announcement here when v1 is released and the interface is considered stable.
The API is now out of beta. The interface is stable and the API is ready to receive requests from production applications. This marks the completion of this grant. If you missed it, the documentation for the API is here:

To recap, there were 4 success criteria for this grant:
  1. The completion and launch of a production-ready REST API.
  2. Detailed and accessible documentation for that API.
  3. New statistics for addresses, chains and PegNet.
  4. Block-level resolution for existing daily statistics.
I met criteria 1, 2 and 4 exactly as described. Criterion 3 has been altered slightly. I included new statistics for addresses and PegNet. However, I did not include new statistics for chains. I believe I more than made up for that with the inclusion of new stats in other areas. These are: Factom and PegNet rich lists, entry credit prices, and new ANO stats (average efficiency).

Having delivered more stats than initially pledged and also prior to the grant deadline, I believe this grant should fall into the "Overachieved" category. However, because I did not include new chain stats as promised in the success criteria, I believe it only just attains that category. Therefore, I give the grant a 7.


Factomize Bot
The final determination poll has been created, and will be open for 5 days. Use the following rubrik when scoring:

Exceptional (9.0 - 10.0) - Successful
Overachieved (7.0 - 8.9) - Successful
Achieved (5.0 - 6.9) - Successful
Underachieved (2.0 - 4.9) - Failure
Total Failure (0.0 - 1.9) - Failure
For examples of production applications that use this API you need look no further than both apps I have written for this forum. The Grant Pool app fetches the grant pool funds, and the ANO Standing app fetches the number of servers as well as the efficiency.

Alex was very helpful while I was working on updating the ANO Standing app to use the new API, adding a minor new feature that enables this site to have its user group names automatically sync if/when an ANO changes their name and the API is updated.

The documentation is also comprehensive and easy to navigate. The only thing that could possibly be improved by the documentation is inline running; a button to click next to each endpoint that will call the endpoint in question so we can see the full live output.

In my opinion this grant should be ranked very high indeed.


Factomize Bot
The final determination poll has now closed. The final score is 7.54, with 13 total counted votes. The grant has been determined to be successful.
  • Like
Reactions: Who