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

Examples porting from js-ipfs to helia-examples #43

Open
10 of 35 tasks
BigLep opened this issue Mar 8, 2023 · 13 comments
Open
10 of 35 tasks

Examples porting from js-ipfs to helia-examples #43

BigLep opened this issue Mar 8, 2023 · 13 comments
Assignees

Comments

@BigLep
Copy link
Contributor

BigLep commented Mar 8, 2023

Done Criteria

The relevant examples below from https://github.com/ipfs-examples/js-ipfs-examples have been replicated in https://github.com/ipfs-examples/helia-examples

Why Important

  1. Tangible examples that are verified as part of CI are a great hands-on way for a user to get started.
  2. The act of porting/writing examples is a great way for new contributors to help and to learn, flex, and give feedback on the Helia API

User/Customer

  1. New users of Helia
  2. Maintainers

List of examples (in priority order)

Tooling integration

Features

Backlog

Features (Bigger endeavors since are standalone sites)

  1. P2 effort/days exp/intermediate kind/enhancement kind/maintenance need/maintainer-input status/blocked
    SgtPooki
  2. P1 effort/weeks exp/expert kind/enhancement status/ready topic/dependencies
    SgtPooki

Features (Skip for now, external dependency on webrtc browser to browser transport)

Features (Skip for now, external dependency on rpc client)

Back burner (Skip for now, may need more thought or not be necessary)

Notes

@BigLep
Copy link
Contributor Author

BigLep commented Mar 8, 2023

@achingbrain : I assume some of these are more important than others? If so, can you please prioritize?

@SgtPooki
Copy link
Member

Trying to find the simplest examples to start with since I'm having trouble getting helia to connect to other nodes.

╰─ ✔ ❯  cd ~/code/work/protocol.ai/ipfs-examples/js-ipfs-examples
╰─ ✔ ❯ find examples/*/src -maxdepth 0 -type d | xargs -n1 -I% sh -c 'echo "%: $(sloc % -f json | jq '\''.summary.total'\'')"' | sort -k2 -n
examples/browser-script-tag/src: 27
examples/browser-video-streaming/src: 27
examples/types-use-ipfs-from-ts/src: 39
examples/types-use-ipfs-from-typed-js/src: 50
examples/browser-lit/src: 76
examples/browser-sharing-node-across-tabs/src: 109
examples/http-client-bundle-webpack/src: 143
examples/http-client-name-api/src: 149
examples/ipfs-client-add-files/src: 155
examples/browser-vite/src: 159
examples/http-client-browser-pubsub/src: 159
examples/browser-webpack/src: 216
examples/browser-esbuild/src: 247
examples/browser-vue/src: 250
examples/browser-readablestream/src: 259
examples/browser-create-react-app/src: 264
examples/browser-add-readable-stream/src: 280
examples/browser-ipns-publish/src: 331
examples/circuit-relaying/src: 493
examples/http-client-upload-file/src: 572
examples/browser-mfs/src: 593
examples/browser-exchange-files/src: 696
examples/browser-service-worker/src: 746
examples/browser-angular/src: 1410

@SgtPooki
Copy link
Member

SgtPooki commented Mar 21, 2023

things that will be harder to implement now:

  • http client examples (no http client yet)
  • browser to browser (wait for webrtc to land in libp2p)

Things that will be useful earlier than later:

  • importing and using helia with the various tools (vite/webpack/vue/etc) so people can "fork and go"
  • typescript versions of examples if implementation of typescript is more than a simple plug and play
  • A "helia-webpack + ts" example (from https://github.com/SgtPooki/helia-service-worker-gateway)

@rafaelcastrocouto
Copy link

rafaelcastrocouto commented Mar 27, 2023

Hi guys! As I understood by reading this that the js-ipfs rep is kinda being replaced by helia. Since there's still no http client yet, I was trying to use the old rep browser-script-tag example but it's either not working or I'm doing something wrong.

I was able and make it work but not by exactly following the examples.

The Codepen demos also ain't working so I thought I should get in contact to try to help fixing those, but after reading all of this I'm not sure if I still should work on it or if it's better to wait for helia to mature.

Anyway, I'm here to help! (specially with in browser stuff)

@SgtPooki
Copy link
Member

@rafaelcastrocouto Are you talking about the script-tag example at ipfs-examples/helia-examples#13? or the old js-ipfs script-tag example?

if there are issues with running the helia-script-tag example currently in PR (directly from source, not from codepen or other) please comment on the PR and let me know! I know I need to update the codepen and codeblitz version for that PR to the latest code and planned to do that once the PR is ready for merge.

Also, if you want to pick one of the above examples to contribute, please do so! just let me know which one so i can mark it as WIP =)

I think getting the examples from this issue created and merged into this repo are more of a win for the community than focusing on those old codepen examples, but I love that you called those out. It could be useful to work on those as well and update them to use helia once we're done with the examples above.

@SgtPooki
Copy link
Member

i was going to grab helia-create-react-app but will defer that for now because we already have some examples using react, and facebook/create-react-app#13072 makes the current state and future of CRA confusing

@polus-arcticus
Copy link

Hey @SgtPooki I've been thinking of giving the browser-vue one a shot and doing a mutable file system API on it if i figure out the helia way of doing it

@BigLep
Copy link
Contributor Author

BigLep commented Apr 10, 2023

I'm gonig to move this issue to ipfs-examples/helia-examples now that that repo exists. That way it's clear for anyone looking at examples that we have a tracking issue for this work.

@BigLep
Copy link
Contributor Author

BigLep commented Apr 10, 2023

Arg, I forgot one can't transfer issues across github organizations. I have a signpost back to this issue from ipfs-examples/helia-examples: ipfs-examples/helia-examples#42

@BigLep BigLep pinned this issue Apr 10, 2023
@polus-arcticus
Copy link

Hey @SgtPooki mind if I do the angular one? give the ipns interface a test there

@BigLep
Copy link
Contributor Author

BigLep commented May 18, 2023

For anyone helping here, there is now a js-ipfs migration guide here: https://github.com/ipfs/helia/wiki/Migrating-from-js-IPFS

@ElPaisano
Copy link

ElPaisano commented May 22, 2023

Hi all, new to contributing here, I'd like to give browser-add-readable-stream a try. Also open to recommendations on good first conversions to try.

@SgtPooki
Copy link
Member

We probably want to support a react-native example as well.. there are a number of issues i've run into during js-ipfs deprecation that would really benefit from a Helia example!

29 results of react-native mentioned in js-ipfs, https://github.com/search?q=repo%3Aipfs%2Fjs-ipfs+%22react-native%22&type=issues, and react-native example for helia is not mentioned.

@2color 2color unpinned this issue Feb 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Status: 🏃‍♀️ In Progress
Status: Prioritized / Ready for Dev
Development

No branches or pull requests

5 participants