Giter Site home page Giter Site logo

Comments (9)

p-shahi avatar p-shahi commented on June 23, 2024 1

@youngjoon-lee That would awesome, and a very useful feature for a chat app such as this. If you would like to do this, please feel free to! I had some idea about this myself about perhaps integrating with https://github.com/ipfs/helia as a backend for storing files

from universal-connectivity.

youngjoon-lee avatar youngjoon-lee commented on June 23, 2024 1

@youngjoon-lee That would awesome, and a very useful feature for a chat app such as this. If you would like to do this, please feel free to! I had some idea about this myself about perhaps integrating with https://github.com/ipfs/helia as a backend for storing files

Thank you! I'll share a draft PR with you soon!

from universal-connectivity.

p-shahi avatar p-shahi commented on June 23, 2024 1

@youngjoon-lee request/response or libp2p + HTTP is an active area of development right now. There is a spec being written: libp2p/specs#508 and some draft PRs in go-libp2p right now. In js-libp2p we have this prototype: https://github.com/MarcoPolo/js-libp2p-fetch
Adding this is a high priority for the team atm, so please stay tuned!

Wrt integrating with Helia in this repo: You're right, the goal of this project is to showcase different libp2p transports/connectivity capabilities all in one application. We'll be creating a tutorial that shows how to build it etc: #67

I think adding a Helia integration would be cool, but maybe in a forked repo?
One of our goals after finishing up this app was to create a guide on fetching a CID with Helia using the libp2p peers.
Depending on how your organize the new integration in the codebase, I think there's a case for the fork to be merged in here too

from universal-connectivity.

thomaseizinger avatar thomaseizinger commented on June 23, 2024 1

For the sake of simplicity, given that you are already planning to publish to a gossipsub topic, you might as well include the nodes addresses in the announcement, thus alleviating the need for Kademlia and its Provider system.

Thank you! That’s definitely more efficient. 👍

I have a short question. It seems that the request-response protocol is implemented only in rust-libp2p, not in js-libp2p and go-libp2p.

The request-response module is just an abstraction to send a request and receive a response on a stream. You can do this in all other languages too! Just use the same codec.

For example, soon, there will be out-of-the-box JSON and CBOR support: libp2p/rust-libp2p#3952

The only convention that you need to follow in other languages is to close the stream after writing (both for requests and responses).

from universal-connectivity.

youngjoon-lee avatar youngjoon-lee commented on June 23, 2024 1

@youngjoon-lee Btw if you're interested in working on this, I think this would be a good project for HackFS our upcoming hackathon: https://ethglobal.com/events/hackfs2023
Would love it you join (registration ends 11:59pm ET)

Thank you! I will

from universal-connectivity.

mxinden avatar mxinden commented on June 23, 2024

Browser A clicks a send-file button next to the message textbox. Then, a file browser is opened. The user selects a file. The browser holds the file in memory and provide the file using Kademlia (start-providing). Plus, Browser A publishes a special message FileAd(name) via gossipsub.

For the sake of simplicity, given that you are already planning to publish to a gossipsub topic, you might as well include the nodes addresses in the announcement, thus alleviating the need for Kademlia and its Provider system.

from universal-connectivity.

youngjoon-lee avatar youngjoon-lee commented on June 23, 2024

For the sake of simplicity, given that you are already planning to publish to a gossipsub topic, you might as well include the nodes addresses in the announcement, thus alleviating the need for Kademlia and its Provider system.

Thank you! That’s definitely more efficient. 👍

I have a short question. It seems that the request-response protocol is implemented only in rust-libp2p, not in js-libp2p and go-libp2p. Is the request-response not a part of the official libp2p spec? or is it a deprecated spec? If so, I need to consider using IPFS as @p-shahi suggested above, but I’m not sure if it’s okay to use IPFS in this repo, considering the coverage/purpose of this universal-connectivity topic

from universal-connectivity.

BigLep avatar BigLep commented on June 23, 2024

As far as an example that uses IPFS in a browser to share files, I'm just passing on that there is https://github.com/ipfs-shipyard/ipfs-share-files and there is an issue (ipfs-shipyard/ipfs-share-files#136 ) to move it to Helia. I'm just passing that on as an FYI.

from universal-connectivity.

p-shahi avatar p-shahi commented on June 23, 2024

@youngjoon-lee Btw if you're interested in working on this, I think this would be a good project for HackFS our upcoming hackathon: https://ethglobal.com/events/hackfs2023
Would love it you join (registration ends 11:59pm ET)

from universal-connectivity.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.