Skip to content
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

feat: migrate to Helia from js-ipfs code (ipfs-core, ipfs-http-client) #117

Closed
Tracked by #43
SgtPooki opened this issue Feb 2, 2023 · 4 comments · Fixed by #119
Closed
Tracked by #43

feat: migrate to Helia from js-ipfs code (ipfs-core, ipfs-http-client) #117

SgtPooki opened this issue Feb 2, 2023 · 4 comments · Fixed by #119
Assignees
Labels
effort/days Estimated to take multiple days, but less than a week exp/intermediate Prior experience is likely helpful kind/enhancement A net-new feature or improvement to an existing feature kind/maintenance Work required to avoid breaking changes or harm to project's status quo need/maintainer-input Needs input from the current maintainer(s) P2 Medium: Good to have, but can wait until someone steps up status/blocked Unable to be worked further until needs are met

Comments

@SgtPooki
Copy link
Contributor

SgtPooki commented Feb 2, 2023

Replace js-ipfs code (ipfs-core, ipfs-http-client) with Helia. Helia can get blocks either via:

  1. It's full-feature node mode (content routing, bitswap)
  2. Fetch raw blocks from public gateways (i.e., instead of ipfs.block.get, use https://docs.ipfs.tech/reference/http/gateway/#trusted-vs-trustless)

We should hold to explore.ipld.io functioning as a static self-contained website that works without a local Kubo node.

@SgtPooki SgtPooki added kind/enhancement A net-new feature or improvement to an existing feature exp/intermediate Prior experience is likely helpful P0 Critical: Tackled by core team ASAP kind/maintenance Work required to avoid breaking changes or harm to project's status quo effort/days Estimated to take multiple days, but less than a week status/ready Ready to be worked labels Feb 2, 2023
@github-project-automation github-project-automation bot moved this to Needs Grooming in IPFS-GUI (PL EngRes) Feb 3, 2023
@SgtPooki SgtPooki moved this from Needs Grooming to In Progress in IPFS-GUI (PL EngRes) Feb 14, 2023
@SgtPooki SgtPooki self-assigned this Feb 14, 2023
@SgtPooki SgtPooki moved this from In Progress to Prioritized / Ready for Dev in IPFS-GUI (PL EngRes) Feb 14, 2023
@SgtPooki
Copy link
Contributor Author

@rvagg @lidel any qualms against this issue? Does the deployed explore.ipld.io have a backing or remote kubo node to use if we remove js-ipfs?

It looks like it's only deploying to fleek as a static website at this time, so I'm not sure how feasible this is.

@SgtPooki SgtPooki moved this from Prioritized / Ready for Dev to Needs Prep Work / Blocked in IPFS-GUI (PL EngRes) Feb 21, 2023
@SgtPooki SgtPooki added status/blocked Unable to be worked further until needs are met need/maintainer-input Needs input from the current maintainer(s) P2 Medium: Good to have, but can wait until someone steps up and removed status/ready Ready to be worked P0 Critical: Tackled by core team ASAP labels Feb 21, 2023
@SgtPooki SgtPooki removed their assignment Feb 22, 2023
@lidel
Copy link
Collaborator

lidel commented Feb 23, 2023

explore.ipld.io has always been a static self contained website that works without local Kubo node.

if you want to remove js-ipfs, i see two options:

  1. rewrite it so it uses Helia,
  2. and/or fetches raw blocks from public gateways (instead of ipfs.block.get, use https://docs.ipfs.tech/reference/http/gateway/#trusted-vs-trustless)

breaking existing users by forcing them to install additional software and set up special CORS headers is not an option, i am afraid.

think about it the other way around: local Kubo is optional, not the main backend :)

See also: ipfs/ipld-explorer-components#359 (comment)

@SgtPooki
Copy link
Contributor Author

makes sense! I threw this ticket together a while ago without thinking it through, and when I looked again recently figured completely removing js-ipfs wasn't necessarily where this should go; at least for my purposes.

there's still a story here for replacing ipfs-http-client->kubo communication. thanks for the confirmation 👍

@BigLep BigLep changed the title feat: migrate to kubo-rpc-client feat: migrate to Helia from js-ipfs code (ipfs-core, ipfs-http-client) Apr 28, 2023
@BigLep
Copy link

BigLep commented Apr 28, 2023

I changed the title and issue description (see history). I think this is useful for showcasing Helia examples.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
effort/days Estimated to take multiple days, but less than a week exp/intermediate Prior experience is likely helpful kind/enhancement A net-new feature or improvement to an existing feature kind/maintenance Work required to avoid breaking changes or harm to project's status quo need/maintainer-input Needs input from the current maintainer(s) P2 Medium: Good to have, but can wait until someone steps up status/blocked Unable to be worked further until needs are met
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants