Small Grant: SiaGraph

Introduction

Project Name: SiaGraph

Name of the organization or individual submitting the proposal: CtrlAltDefeat

Describe your project
SiaGraph is a website that provides data and insights into the Sia network. SiaGraph aims to help track the growth of the network by offering users access to various metrics, including storage usage, individual host statistics, and other global network statistics.

How does the projected outcome serve the Foundation’s mission of user-owned data?
The projected outcome of SiaGraph directly supports the Foundation’s mission of user-owned data by enhancing transparency and accessibility within the Sia network. By providing data, analytics, and insights into the Sia Network, SiaGraph empowers users with the information they need to make informed decisions about storage pricing, trends, and host selection. By fostering a better understanding of the network’s operations, SiaGraph contributes to a more informed and engaged community.

Grant Specifics

Amount of money requested and justification with a reasonable breakdown of expenses:
Total: €1950. €650 per month, for a total of three months.

  • Salary for myself: €450, paid out each month.
  • Operational expenses: €200, paid out each month.
    This will be used to rent server space and buy Siacoins for renting. The latter will be explained in the next section.
    This is estimated on the higher end. Any OPEX funds still remaining at the end of the grant will be spent to continue running SiaGraph after the grant.

What are the goals of this small grant?
The first thing being worked on is a significant rewrite of the front end. I’ve learned a lot since I started working on SiaGraph. The purpose of the rewrite is to clean up redundant code, make the code base more modular and easier to extend, and improving load times.

The rewritten front end will be using an API to fetch the data. This API is being built in parallel of the rewrite to the point of being functional enough for the front end. After completing the rewrite, the API will be extended and documented to be usable to the community.

More visualizations will be added as they become ready throughout the grant. What this will include is yet to be determined.
At the start of the grant, either one, or multiple Renterd nodes will be created. These instances will be holding an undetermined amount of data, and will be used to gather renting specific statistics. Visualizing this data will happen after the completed API.

Finally if time allows it, a rewrite of the back end is happening. The goal of this rewrite is simplification, adding more robustness and logging. The rewritten back end will be made open source. This section is made cursive as it should be considered an optional goal. Due to potential risks listed in the next section, there may not be enough time to complete this goal.

Potential risks that will affect the outcome of the project:
As I don’t have much experience building websites, or developing complex projects, there are multiple risks that are connected to each other:

  • SiaGraph is something I work on next to my full time job. I may be unable to allocate enough time to complete all goals.

  • Building new features/components might prove more difficult or time consuming than expected. This can result in new features being delayed or abandoned. This should have no impact on existing features.

  • This is also my first time working with statistics of this scale. Visualizing new data in a useful and correct way may take longer than expected.

Development Information

Will all of your project’s code be open-source?
Both the rewritten front and the back end will be made open source.
All raw data will be available in JSON format via a documented public API.

Leave a link where code will be accessible for review.

Do you agree to submit monthly progress reports? Yes

Contact info

Email: Will be shared in private.

Any other preferred contact methods: Discord

This one is a no-brainer:) Only suggestion is to add more $ for the running costs to make sure it runs at least for next two years. Also giving budget to pre-pay the required services might reduce the monthly costs due to better deal possibility.

1 Like

Thanks for the support and the suggestion :slight_smile:
I honestly hadn’t considered asking for OPEX funds for such a time frame (and the possible discount that comes with it).

I’ve got a load of things I’d love to implement/work on, but I’m not really sure yet what resources it would require, and what costs would come with it.

I’m hoping to use this grant to ‘test the waters’ so to say. As explained in the grant, a lot of things are still new for me.

Trying to keep the scope a little small this time. The next one might be bigger :grin:

2 Likes

Thanks for your recent proposal to the Sia Foundation Grants Program. After review, the committee has voted to approve your proposal.

One note is that proposals must be in USD, so for the purposes of this approval we did a rough conversion to $2,160. We can also only pay out in USD, so please let us know if that’s an issue for you.

We’ll reach out to you in Discord to get your email address. Onboarding to the Grants Program can take up to a couple weeks, please adjust your timelines as appropriate and be ready to provide those to us during the process.

Congratulations!

Progress Report for October

What progress was made on your grant this month?

  • Added a private Beta environment to the development workflow, allowing testing on an identical environment as the public one, without constant interference of active work. Access can be given to the Grant team per request.
  • Created 8 API endpoints. These are not yet documented anywhere as they are constantly changing and shouldn’t yet be used by anyone else.
  • Rewritten a large part of the website
    • Added more modularity making future additions more easy
    • Moved almost all database related code to the API.
  • Added a few more graphs.

Summarize any problems that you ran into this month and how you’ll be solving them.

  • Some code changes proved more difficult than anticipated, but most have already been taken care of.
  • It appears I didn’t configure my .gitignore properly resulting in some sensitive info to be included in the code base/commit history. The repo will be made public at the beginning of next week.
  • The initial plan was to start Renterd node(s) in October to begin collecting data. This has been paused until the design is finished.

Links to repos worked on this month:

What will you be working on next?

  • Finish rewriting the website
  • Standardize API calls and responses

Hello @CtrlAltDefeat

Thank you for your progress report!

Regards,
Kino on behalf of the Sia Foundation and Grants Committee

Progress Report for November

What progress was made on your grant this month?

  • Continued the rewrite of the website and merged (almost) all changes.
  • Added minimal blockchain info to the homepage.
  • Added a few new pages and graphs.
  • Moved the website to the new server. Where it automatically updates to the main branch.
  • Started hosting a public Explored node on https://explorer.siagraph.info
  • Made a rough design for creating Renterd node(s) and collecting statistics about them.

Summarize any problems that you ran into this month and how you’ll be solving them.

Due to a change in dynamics at work and Siagraph being a side project, I’ve been unable to allocate as much time on Siagraph as I was hoping to. As a result of this I think it will be unlikely that I will be able to complete the goal of displaying renter stats in time. As mentioned in the next paragraph, the collection of the stats should still be completed on time, but the visualization would move onto the next grant unfortunately(if it were to be approved).

Links to repos worked on this month:

What will you be working on next?

  • New grant for continued funding.
  • Streamlining, standardizing and documenting the API.
  • Finalizing the design and implementing the Renterd nodes and stats collecting.
  • Misc. bug fixes.

Hello,

Thank you for your progress report!

Regards,
Kino on behalf of the Sia Foundation and Grants Committee

Final Report

What progress was made on your grant this month?

  • Restructured the API
  • Documented the API Using Swagger. Swagger will soon be available on https://siagraph.info/swagger.
  • Implemented renter stats gathering of 4 Renterd nodes.
    • Renter1: Nearly default configuration with MySQL. Storing 5TB, using 10/30 redundancy.
    • Renter2: Identical to Renter1, but using 30/60 redundancy.
    • Renter3: Nearly default configuration with MySQL. Used to measure up and download speed and cost. Switching between redundancy settings depending on which redunancy is being measured.
    • Renter4: Identical to Renter4, but using SQLite3 instead.
  • Uploading to the renter nodes has been started. Renter1 and Renter2 should reach their 5TB data uploaded before the end of this month. Renter3 and Renter4 will see continuous up and downloading.

Summarize any problems that you ran into this month and how you’ll be solving them.

I’m having some trouble getting swagger to behave correctly. I’m hoping to resolve this next week.

Links to repos worked on this month:

What will you be working on next?

This should be considered the final report of this grant.
Aside from fixing the Swagger implementation, all coming activities will be posted in the thread of the sequel grant.

Hello,

Thank you for your final progress report and congratulations on completing your grant!
The Team will reach out to you shortly regarding the wind-down of your grant.

Regards,
Kino on behalf of the Sia Foundation and Grants Committee