ipfs / devgrants

The IPFS Grant platform connects funding organizations with builders and researchers in the IPFS community.
163 stars 75 forks source link

[MICROGRANT] IPNSGoServer #123

Closed mrodriguez3313 closed 2 years ago

mrodriguez3313 commented 2 years ago

1. What is your project? (max 100 words)

The current limitation for IPNS is that you can only create an IPNS record from the Go implementation of IPFS. The goal of my project is to create an API for developers to allow them to harness the power of IPNS from the browser. This is an amazing idea because we will generate & return keys to users, and they will use those to create, embed, and publish their data to IPNS! As an open-source tool, any developer will be able to easily use IPNS in their own dapps.

IPNSGoServer

2. How are you planning to improve this project? (max 200 words)

The most immediate plan of action is getting the project to work as intended. The goal is to have two endpoints, getKey() & postKey(), where a user will request a key and SHA256 key pair will be returned (getKey()). Then postKey() will take that key and create an IPNS record and embed their public key in it. Publishing can technically be done with either js-ipfs or go-ipfs, but for ease of use, we will offer that ability as well. With these things done, we can move onto the bigger picture plan. The end goal will be to create an IPNS pinning service. Since records can be created with a certain time to live. We will have to conduct research/survey as for what would be the optimal time to keep alive before re-pinning, we would need to create a priority algorithm to re-pin records, and authentication for requests to ward off DDOS attacks and managing other requests.

3. Will the work be Open Source?

Yes, MIT license

4. If selected, do you agree to complete weekly updates and a grant report upon conclusion?

Yes

5. Does your proposal comply with our Community Code of Conduct?

Yes

6. Links and submissions

SeedingTrees commented 2 years ago

Can you please fill in the information for the members of this team, including names, email addresses, github account, and role in the project? I would like to approve this application, but I need that information. Please be sure to include at least one email address so that I can send the instructions for receiving payment.

mrodriguez3313 commented 2 years ago

Can you please fill in the information for the members of this team, including names, email addresses, github account, and role in the project? I would like to approve this application, but I need that information. Please be sure to include at least one email address so that I can send the instructions for receiving payment.

Sorry about that! At the moment I'm currently the only one apart of the team.

SeedingTrees commented 2 years ago

No problem. Can you please provide your email address?

mrodriguez3313 commented 2 years ago

No problem. Can you please provide your email address?

Yes it's marco.rodriguez113@gmail.com. I also updated the Issue

SeedingTrees commented 2 years ago

This microgrant has been approved! Look out for an email to submit payment details. Let's use your existing Community Discussion thread for updates.