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

DHTs and NATs #53

Closed
gavinmcdermott opened this issue Jan 20, 2017 · 6 comments
Closed

DHTs and NATs #53

gavinmcdermott opened this issue Jan 20, 2017 · 6 comments

Comments

@gavinmcdermott
Copy link
Contributor

Hey @diasdavid,

With some of the advances we've made on Nomad, @ReidWilliams and I now have a couple specific questions regarding libp2p for our next steps / where we might contribute.

Relevant Background & State

We are almost wrapped up porting Nomad over to a js-only package (the pure-js branch is here). Our intent / end goal is for Nomad to run in the browser, connect to peers, receive messages and the like without reliance on anything outside of what IPFS / libp2p / nomad provides.

Our browser bundle builds, and as we're now looking to expose more folks to this ecosystem, one of the on-ramps is to use it as a rapid prototyping tool (been doing this already within IDEO). So to meet the goal mentioned above we're taking a couple of steps to shim the js-only module.

And this is where we have questions...

Question: DHT

Because the DHT is not yet implemented in js-land, we are adding dht-shim. Basically this is a simple server, store, and utils (only for use at this early stage) that take care of connecting peers.

I know the DHT has been on the roadmap and in the conversation for a while (also saw the recent question on it here). So with the above in mind, we're curious as to:

  • How far off it might be (I saw work started on the DHT here)?
  • Is this possibly an area where contribution is needed?

Question: Peers behind NATs

When it comes to peers behind NATs, it would be great to avoid reliance on a central signaling server (Note: the optionality of setting up your own signaling server is far better than not being able to participate). We were about to add the webrtc-star transport, but before we did this, we wanted to check in with you to see:

  • Are there any initiatives that we've missed in the community to help with connecting peers behind NATs?
  • Are there any libraries that you're aware of that might help with this? (E.g.: perhaps there's an interesting project you know of and you're awaiting someone to implement the transport)
  • Is the above-mentioned goal feasible?

Goal

Our goal is to keep moving things forward, and to continue learning by having people build :) Once we have a better understanding of the above areas, we'll get the next steps out for review!

Thanks in advance!

@daviddias
Copy link
Member

Hi @gavinmcdermott @ReidWilliams o/ Good to hear back from you :)

We should definitely jump into some kind of fast communication medium (like an hangout), to catch up, there are lot of details that need to be covered, but the bulk of it is:

@daviddias daviddias added the status/deferred Conscious decision to pause or backlog label Jan 20, 2017
@gavinmcdermott
Copy link
Contributor Author

Awesome @diasdavid ! I'll ping you on IRC to follow up on these in that case—look forward to catching up!

@dignifiedquire
Copy link
Member

hey @gavinmcdermott yes the DHT is coming later this quarter, unless @diasdavid literally ties me up somewhere ;)

@gavinmcdermott
Copy link
Contributor Author

Thanks @dignifiedquire - I'm keen on this!

@daviddias
Copy link
Member

Hi @gavinmcdermott, long time no see! I hope everything is ok.

I've been revamping, polishing and cleaning a lot of stuff in libp2p land to help people get started. One of the steps is curating the issues so that they become the most objective possible. I'm breaking this one into two:

Please track it there and also take a peak on #95

@daviddias daviddias removed the status/deferred Conscious decision to pause or backlog label Jul 9, 2017
@daviddias
Copy link
Member

@gavinmcdermott see my update here: #51 (comment) :)

jacobheun pushed a commit to jacobheun/js-libp2p that referenced this issue Jul 29, 2019
test: cleanup and fix hanging tests
maschad pushed a commit to maschad/js-libp2p that referenced this issue Jun 21, 2023
Replaces
[err-code](https://github.com/IndigoUnited/js-err-code/blob/master/index.js)
with
[CodeError](libp2p/js-libp2p-interfaces#314)

Related:
[js-libp2p#1269](libp2p#1269)

Changes

- removes err-code from dependencies
- adds @libp2p/[email protected] to dependencies
- uses CodeError in place of err-code
maschad pushed a commit to maschad/js-libp2p that referenced this issue Jun 21, 2023
- Converts this module to typescript
- Publishes as ESM only
- Removes cms operations to remove node-forge from the dependencies - if you need this, see [@libp2p/cms](https://www.npmjs.com/@libp2p/cms)

BREAKING CHANGE: this module is now typescript and does not store the self key on startup. cms operations have also been moved to [@libp2p/cms](https://www.npmjs.com/@libp2p/cms)
maschad pushed a commit to maschad/js-libp2p that referenced this issue Jun 21, 2023
## [1.0.0](libp2p/js-libp2p-keychain@v0.6.1...v1.0.0) (2023-01-27)

### ⚠ BREAKING CHANGES

* this module is now typescript and does not store the self key on startup. cms operations have also been moved to [@libp2p/cms](https://www.npmjs.com/@libp2p/cms)

### Features

* convert to typescript ([libp2p#53](libp2p/js-libp2p-keychain#53)) ([3544df7](libp2p/js-libp2p-keychain@3544df7))

### Trivial Changes

* add deprecation notice ([libp2p#50](libp2p/js-libp2p-keychain#50)) ([2a9b99c](libp2p/js-libp2p-keychain@2a9b99c))
maschad pushed a commit to maschad/js-libp2p that referenced this issue Jun 21, 2023
maschad pushed a commit to maschad/js-libp2p that referenced this issue Jun 21, 2023
## [6.0.1](libp2p/js-libp2p-peer-store@v6.0.0...v6.0.1) (2023-02-28)

### Trivial Changes

* replace err-code with CodeError ([libp2p#53](libp2p/js-libp2p-peer-store#53)) ([e6b87d7](libp2p/js-libp2p-peer-store@e6b87d7)), closes [js-libp2p#1269](libp2p#1269)
* Update .github/workflows/semantic-pull-request.yml [skip ci] ([1139dc4](libp2p/js-libp2p-peer-store@1139dc4))

### Documentation

* Update API link ([libp2p#65](libp2p/js-libp2p-peer-store#65)) ([1b75110](libp2p/js-libp2p-peer-store@1b75110)), closes [libp2p#64](libp2p/js-libp2p-peer-store#64)
maschad pushed a commit to maschad/js-libp2p that referenced this issue Jun 21, 2023
maschad pushed a commit to maschad/js-libp2p that referenced this issue Jun 21, 2023
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: achingbrain <[email protected]>
achingbrain pushed a commit that referenced this issue Jun 27, 2023
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

3 participants