-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add IPFS Utilities application #1127
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the application. Are you also aware of the following project that worked/work on this?:
- https://github.com/WunderbarNetwork/substrate/tree/ipfs-ocw
- https://github.com/dappforce/subsocial-offchain
And do you have an incentive to maintain it? I would still be happy to jump on a call. See my email.
Thanks again for the nice call. Feel free to ping me here, once you updated the application. |
Hey @Noc2, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the update. I’m generally happy to go ahead with it and mark it as ready for review. But maybe you can also add a little bit more technical details to the specification of the deliveries, like the programming language. Also, a medium article or something similar as an additional delivery of milestone 2 would be nice.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @dobschal. Thank you for the application. It's true that offchain::ipfs
is no longer maintained and I'm not sure there's a fork that currently is. However, your application currently lacks significant details and it's unclear what functionality you will implement. In milestone 1 you describe a "pallet implementation, that allow bytes to uploads"? I suppose you don't mean uploading the files on-chain, so what's the purpose of this pallet? You mention in the overview that "it will need much more affairs to the validation process on the chain side, if the developer wants to make sure and trust the input CID will point to the corresponding file on the chain", but then you don't describe any such functionality. I would ask you to please be much more explicit with the specification, i.e. please describe what API the pallet and OCW will provide, what IPFS functionality the latter will support and any additional features. Here's the original offchain::ipfs
grant, for comparison: https://github.com/w3f/General-Grants-Program/blob/master/grants/speculative/offchain_ipfs.md
I'm also concerned by your labelling of this as a POC. For the amount you're requesting, I would certainly expect a feature-complete implementation. Besides, I'm curious to hear why you don't want to base your project on Equilibrium's original offchain::ipfs
work. They did great work and the only problem with it that you mention is that it is unmaintained. Substrate has changed a lot since then, so this is probably still a decent amount of effort, but I don't see why you wouldn't want to reuse it or update it rather than starting from scratch.
Lastly, could you add deliverables 0d-e back to the application? These are mandatory as per the application template.
Hey @alxs, I hope everything looks fine now, if not please let me know :) Looking forward to your answer. |
Thank you for the changes @dobschal. At this point, I'm afraid I won't accept the proposal. You have only made minimal changes to it after my comment and have left practically all of my questions unanswered or unaddressed. In my opinion, the price is far too high for the specification provided, and even though you've made a significant change in scope deciding to "reuse as much as possible the existing developed approach from The specification you provide for the deliverables also contains a number of inconsistencies, such as:
In this case, the file will be stored in the block, which would be prohibitively expensive. Nevertheless I think this was also the case in the existing implementation.
If I'm not mistaken, this can be just a plain website that can read a file and submit the extrinsic, which would take a few minutes to implement.
This is not a deliverable in itself, but just a detail of the logic in the pallet.
This is a requirement for all deliverables. The actual deliverable 0d. you replaced, the Dockerfile, is mandatory as I pointed out.
"Uploading to IPFS" should be near-instantaneous, since there isn't really an "IPFS network" you can upload to. IPFS is a peer-to-peer network, not a cloud storage system. All you can basically do is require validators to run an IPFS node along Substrate and pin every file request they process from e.g. an extrinsic. They might as well add it to IPFS instead of caching it. You also only mention the offchain worker on one occasion and never describe its functionality, whereas it is where the bulk of the work would take place and hence the main deliverable. All in all, I would be comfortable approving a level 2 grant for the current scope, since you seem motivated. However, if you want to apply at the current price level, I would ask you to please spend more time researching the project and then rework the application from the ground up. At that point, I will be happy to take another look at it. |
@dobschal since your proposal has now been in the review state for 2 weeks without any comments from other members of the committee, I'll go ahead and close it. This application may not have succeeded in swaying the committee, but don't be discouraged—you're always welcome to apply again with a revised application or for a different project. Alternatively, you may want to check out other sources of funding in the ecosystem. |
Project Abstract
This application is about the utilities of Substrate within IPFS.
Main part of the project is the implementation of a pallet to integrate IPFS into Substrate.
Grant level
Application Checklist
project_name.md
).@_______:matrix.org
(change the homeserver if you use a different one)