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

Non-Local Usage #41

Open
agahEbrahimi opened this issue May 18, 2018 · 6 comments
Open

Non-Local Usage #41

agahEbrahimi opened this issue May 18, 2018 · 6 comments

Comments

@agahEbrahimi
Copy link

Hello,

Does pubsub-room or the demo in the video work with two different computers on different private networks or does it just work on a private network or a singular computer?

Thank you

@WesleyDRobinson
Copy link

Yes, it works with two different computers on different private networks.

@PierfrancescoSoffritti
Copy link

Hey, if I understand correctly, room needs to use libp2p-webrtc-star in order to work. libp2p-webrtc-star uses a rendezvous server in order to let nodes talk to other nodes.
Considering this, I don't understand how can all this be decentralized. If the rendezvous server goes down, nothing works anymore, right?
Am I missing something? Or my assumption about decentralization is wrong?

@pgte
Copy link
Contributor

pgte commented Dec 6, 2018

Although this is a generic aspect of IPFS / libp2p, I think I can clarify a bit:

You can use whichever transport you configure your IPFS node with.

Currently, for the browser platform, 2 main transports exist: webrtc-star and websocket-star. Both use rendezvous servers. But nothing dictates that this node only has one address. You can bind to as many rendezvous servers as you want, and thus gaining some redundancy.

(In the node.js environment you have different transport choices, with different infra-structure requirements).

@PierfrancescoSoffritti
Copy link

Thanks for the clarification @pgte.

I would like to ask you a few questions, this probably isn't the best place to do it, but I wouldn't know where else to ask.
If you don't have time to answer: no problem. Don't want to abuse your time :)

I am quite new to IPFS, I'm still trying to understand how everything comes together.
I am mostly interested in the decentralization aspect and I don't have a clear picture of how that works, yet. Is there always one or more rendezvous servers in the middle? I have seen a demo of the distributed file system, from what I understood it didn't have rendezvous entities in the middle. If not, how do nodes find each other?

I am currently working with node, not in the browser. You mentioned that there are different transport choices there, could you point me to resources relative to that?

Is there any comprehensive resource where I can read more about how everything works?

thanks in advance!

@pgte
Copy link
Contributor

pgte commented Dec 6, 2018

In the IPFS constructor you can specify which addresses and transports you want in options.libp2p: https://github.com/ipfs/js-ipfs#optionslibp2p

In node it default to this libp2p config:
https://github.com/ipfs/js-ipfs/blob/master/src/core/runtime/libp2p-nodejs.js

And these addresses: https://github.com/ipfs/js-ipfs/blob/master/src/core/runtime/config-nodejs.js

The libp2p packages you can use are listed here:
https://github.com/libp2p/js-libp2p#packages

Hope this helps!

@PierfrancescoSoffritti
Copy link

Great, thanks a lot!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants