-
Notifications
You must be signed in to change notification settings - Fork 20
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
Public Gateway Operation #23
Comments
Yes, it's just that :) As far as working on a normal gateway, go-ipfs 0.4 already has everything. I'm waiting on js-ipfs-api to get files api support then I'm going to implement publishing stuff from the browser! (meanwhile I'm working on other parts of this app) If you mean being able to use it from a public gateway, it's another issue entirely, because each user would need a different identity. I guess a system that lets users access an identity using an account (I mean you log in to gateway.ipfs.io via an HTTP API and you get to tinker with your own IPFS/IPNS identity with persistent ID) is possible, but it would be complex to implement. This app also needs full write access (files api + publishing to IPNS) Of course if such an API would be available in public gateways, I would use it in this app 👍 The other solution to having the app work without go-ipfs running on the local machine is of course js-ipfs, but I see it's gonna be a while until that's ready. Thanks for the interest! EDIT: I forgot to say I'm planning my own system to get multiple people to use the app via http/websockets without their own personal ipfs node, but I will start developing that later and only if there is no other solution. If when I start developing it js-ipfs is already here or close, then it won't make much sense to write it. Still, the problem of multiple devices with one identity needs some kind of solution |
and js-ipfs is not too far! :) @diasdavid is making a "delegated" version that uses an api to do stuff and
|
I'm very excited about this :)
|
I share your excitement! I got an idea which is: for clients not able to run js-ipfs or to do the processing required to run the app, a server application that gathers, renders and serves everything over websockets or http. It could also provide writeable access with accounts. This would allow the app to reach a wider audience and to be used in embedded systems and internet of things devices. This backend would also help cache content from users so it doesn't get lost if no one else is online |
the IPFS core (without libp2p) is very very simple, the intention is to make it run everywhere. In such cases, i would treat your backend more as a "trusted ipfs node" to delegate some operations to (or trust the routing answers from, or even run another protocol with) but still do everything on ipfs. that way the app can be truly distributed over ipfs itself. (i.e. the "stronger node" would just be a protocol in js mounted on top of that node. ) |
Of course, the plan for the app is already to only use ipfs for storage :) The Backend I'm talking about is just some program on top of ipfs (with the BoardsAPI that I wrote for this app) that watches one or more boards and automatically pins user profiles of users that post in that board, thus downloading all their content and caching it. It's role is to make sure the content is always available, of course the boards would still work without this program. It gets complicated because it also should, later down the development road, make it possible to access the app without javascript (all rendering done on the server). But I'm not sure if I'll ever do this. |
hey @jbenet I have some updates about this matter 😄
This would let people at least see some content without running go-ipfs 👍 Which would be great to encourage adoption! What do you think? EDIT: just now saw that you'll be travelling ipfs/community#90. Bon voyage 😄 |
Implemented in https://github.com/fazo96/ipfs-boards/tree/limited-mode 😄 It was easier than expected. I merged it in https://github.com/fazo96/ipfs-boards/tree/ipfs0.4 and when that's ready, it's gonna be in Next steps:
Paused because |
Hey @fazo96 this is very cool.
What do you need for this to work on the gateway? is it only writing objects and IPNS names?
The text was updated successfully, but these errors were encountered: