Grant Proposal : DartSia

Standard Grants

Introduction

Project Name: DartSia Mobile Package

Name of the organization or individual submitting the proposal:

  • James Brel tamegno
  • Egoume Mouyong Rekiyatou

Describe your project.

The Sia platform is a huge help to creators of decentralized applications. It allows users to access storage systems directly, enabling them to take advantage of virtually limitless and expandable online storage space. Unfortunately, it is still quite difficult for developers and especially for mobile developers to be able to build applications around this platform, especially because of a lack of technical tools such as software development kits. It is in this sense that we began the creation of an SDK using the Dart language coupled with a Golang relay node to enable and facilitate the development and production of high-performance applications on the Sia Blockchain.

Dartsia is a project which aims to create communication interfaces between the Blockchain Sia protocol and mobile devices to facilitate the development of applications around the sia Platform.

To be able to successfully create this project we started with a simple architecture using a middleware relay connecting to the Renterd or hostd software as presented in the following image:

The Dart Package thus produced should allow easy access to resources and functionalities on the Sia Blockchain. This should make it possible to increase the volume of dApps developed on the Sia platform.

To better materialize the use of this package, we have developed a mini mobile application which allows you to monitor a host as well as to be able to modify its operating parameters directly from the application.

Here are some screens of this application:

Home screen

Host list display screen

Host informations display screen

Host configuration screen.

In the version firstly developed, the application retrieves information on network hosts from SiaStat but since Siastat is now unavailable it will be necessary for us to use a new data source. However, the display of information on our host remains accessible and functional.

Who benefits from your project?

The DartSia project primarily benefits all developers in the Sia community. It gives them the possibility of developing mobile applications on the Blockchain Sia platform much more easily while guaranteeing data security and reliability of exchanges. The project will also help create greater interest from all decentralized application developers.

How does the project serve the Foundation’s mission of user-owned data?

The project allows the Sia Foundation to strengthen its capacity to develop decentralized applications for users of mobile devices. It thus gives the foundation a fantastic opportunity to extend its user data management functionalities.

Grant Specifics

To be able to carry out this project, we are requesting a total budget of $35,150. As indicated in the terms of the Sia Foundation, the budget will be used monthly and at each Milestone. The use of this budget will be made according to the following points:

Milestone 1: Budget $6850

Flutter Developer Salary $3250

Go Lang Developer Salary $3,250

Cloud hosting service $250

Additional charges (Electricity/Internet) $100

Milestone 2: Budget $6850

Flutter Developer Salary $3250

Go Lang Developer Salary $3,250

Cloud hosting service $250

Additional Charges (Electricity/Internet) $100

Milestone 3: Budget $6850

Flutter Developer Salary $3250

Go Lang Developer Salary $3,250

Cloud hosting service $250

Additional Charges (Electricity/Internet) $100

Milestone 4: Budget $6850

Flutter Developer Salary $3250

Go Lang Developer Salary $3,250

Cloud hosting service $250

Additional Charges (Electricity/Internet) $100

Milestone 5: Budget $6850

Flutter Developer Salary $3250

Go Lang Developer Salary $3,250

Cloud hosting service $250

Additional Charges (Electricity/Internet) $100

The remaining $900 will be used to finance cloud services during the remaining months of the year. During this period, we ensure maintenance and updates of the package and all software developed free of charge.

All the milestones are spread over each month of activities and are easily consultable on this Notion board:

Potential risks that will affect the outcome of the project:

The potential risks that can affect the completion of our project can be numerous and varied. Here are some of the most common risks:

Financial risks: This includes project budget overrun, exchange rate fluctuations during monthly payments, unexpected costs related to cloud resource consumption, etc.

Risks linked to deadlines: Delays in the development of the modules of our package, planning problems over the duration of the milestones, unforeseen difficulties can lead to delays in the completion of the project.

Human Resources Risks: This includes loss of key team members, internal conflicts, competency issues, etc.

Technical risks: Problems related to technology (framework to use, external packages, etc.), tools, equipment, software or hardware can affect the progress of the project.

External risks: This includes unforeseen events such as illness, legal or regulatory changes, political issues, etc.

It is essential for the success of a project to properly identify, evaluate and manage these risks throughout its implementation.

Development Information

Will all of your project’s code be open-source?
All of our project will be open source and under the MIT Licence

Leave a link where code will be accessible for review : https://github.com/DartSiaProject/dartsia/tree/main/packages/renterd

You can get a demo of the application by downloading the apk available at this address : SiaHost Mobile - Google Drive

Do you agree to submit monthly progress reports ?
We agree to submit the progress report every month on the dates mentioned on the Notion board.

Contact info

Email: [email protected]

Any other preferred contact methods:
Linkedin : https://cm.linkedin.com/in/brel-james-172a89202

Thanks for the proposal! This is just a quick note that, while the committee meets every two weeks, our December 26th meeting will be skipped due to the holidays. Our next meeting will occur on January 9th and we should be able to review this grant then.

Wait. How exactly did you build this app? Direct REST calls/basic HTTP client?

It sounds weird that you are giving a demo APK to show and asking to build a dart SDK, where I would think a mobile demo might be an end deliverable?

I would appreciate clarification.

Kudos!

EDIT: You should also link to the source git repo of that APK, as everything needs to be FOSS anyway.

1 Like

Hello @pcfreak30

The demo was developed using the package in its current version, which allows it to communicate with Renterd using a port redirection (in case of Ngrok). The drawback of using this port redirection is that it exposes its node directly, which would be a significant security vulnerability. That’s why we have undertaken to develop a middleware. This will allow encrypting communications between dApps and the Sia blockchain, thus protecting user data. The code for the version we submitted in APK is available here: https://github.com/DartSiaProject/siahost.git

We would like to point out that some features in the APK, such as displaying the global state of the network and data on hosts, are not functional because in this version we used data provided by siastats, which is no longer functional. However, the host connection functions are functional. That’s why we will add spécial functions into the middleware to provide specific datas on the network easily.

https://github.com/DartSiaProject/siahost.git is a 404.

Besides that, you created a mock UI with Flutter and built an APK?

1 Like

Sorry for the 404 error but I didn’t realize that I had put this part of the repository in private. The problem has been resolved. The apk was not built on the figma mockup but rather using the flutter SDK that we developed. All code is public and accessible. As I pointed out above, some data is not accessible because it was retrieved from the siastats api but we have undertaken to add this data to our sdk.

1 Like

Thanks for submitting your proposal to the Sia Foundation Grants Committee. The committee is requesting some info to help them evaluate this grant.

Funding an SDK for Dart isn’t something that the committee would be interested in (we might be releasing guidance on SDK grant requests soon), but they also wanted to clarify the purpose of the app within your request. Is the app development part of your request, or something simply to help demonstrate the SDK grant proposal?

Let us know, we’ll discuss and get back to you!

2 Likes

Thank you for the foundation’s interest in our request.
To answer your questions, the application is fully part of the grant request and that is why we continued to improve it until it was put back into operation as you can see on our github. I will give you a video demonstration in operation later of the latest version.
We plan to add several other features such as:

  • A scoring functionality to be able to know what the scoring of our host is compared to others on the network
  • A real-time notification system to be alerted of changes in the status of the renterd host (push notification in addition to the notification history)
  • A feature to be able to manipulate files on our renterd host (upload, download, move and delete)

All this being coupled with the Go Middleware which will guarantee the security of communications between Renterd and the mobile application. The currently developed version of the application is testable using a routing proxy like ngrok.

The demo apk is actually available here :
https://drive.google.com/drive/folders/1yu4TkD0hTniCsSLkCbCoMpgJSgl31AE4?usp=sharing

2 Likes

Hello Sia community, you can check a demo video of the application here :slight_smile: :

1 Like

Thanks for submitting your response regarding the committee’s questions.

The committee will not be approving this grant as-is. Please note some of their concerns:

  • We do not currently wish to fund SDK development

  • The budget request vs proposed feature set is quite high compared to comparable projects we’ve funded

  • Node setup and security is an issue. Will the app simplify node security for less technical users? For users to access their node outside of their local network, they would first need to set up a reverse proxy with SSL/TLS to ensure data isn’t leaking on unsecured networks.

  • Finally, please pay special attention to your budget requests in the future. Your itemized budget ($34,250) doesn’t add up to your requested budget ($35,150).

If you feel like you can address the committee’s concerns, you’re welcome to update and re-submit. Thanks!

Hello Steve and thank you to the committee for considering our request.
We will make the requested modifications to our request and post it with a much greater focus on the mobile application to facilitate the handling of the renterd node.

Regarding your concerns for the ease of configuration and security of the node, the mobile application will really allow novice users to be able to easily access, configure and monitor a host without having great technical knowledge. As for the security of the node and communications with the node, we will set up, as explained previously, a middleware either in Go or in Js, easily deployable and integrating a reverse proxy via ddns which will allow communication between the soft renterd and the mobile application.

Especially really sorry about the budgetary appeal. We will revise it and try to reduce it considerably.

Hello Steve. We have updated the proposal and resubmit in the forum.
You can check it here :

Thanks, I’ll move this proposal out of the Proposed section.