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

Add documentation / examples #11

Closed
binarybaron opened this issue Jul 8, 2021 · 6 comments
Closed

Add documentation / examples #11

binarybaron opened this issue Jul 8, 2021 · 6 comments

Comments

@binarybaron
Copy link

I would like to to use your library to connect to a rendezvous point and retrieve peers from a namespace. Can you give me simple example on how I would be able to do that?

@vasco-santos
Copy link
Member

Thanks for reaching out and apologies for the state of this implementation not being clear in the README. I updated the README to clarify this.

This module has a candidate implementation in a PR, but it still needs to be tested and finished. This will be picked up again once it is a priority per protocol/web3-dev-team#67

@vasco-santos
Copy link
Member

For now, I would recommend you rely on a pubsub mechanism for your needs. You can see a setup for this in https://github.com/libp2p/js-libp2p/tree/master/examples/discovery-mechanisms#3-pubsub-based-peer-discovery

@binarybaron
Copy link
Author

Thanks for the quick reply! Just to clarify, the rendezvous node I need to connect to follows the Rendezvous Spec and is written in Rust. I don't think I can use the detection mechanism you quoted above. Is that correct?

@vasco-santos
Copy link
Member

Oh, you want a rendezvous client, and not this (this module is a Rendezvous Server).

That is/was kind of blocked on not being a priority: libp2p/js-libp2p#856

But, with other languages implementing the Server, it will be easy to get it in without having the JS Server ready

@vasco-santos
Copy link
Member

vasco-santos commented Jul 8, 2021

In the meantime, you can try to get libp2p#856 updated with master and try to get it running.

Note: There is also a WIP example that showcases how it would work: libp2p/js-libp2p#862

@binarybaron
Copy link
Author

Sorry, for bothering you again but I'm unable to install the branch via npm because I get typescript errors.

npm install git://github.com/binarybaron/js-libp2p.git#feat/rendezvous-client --save
npm ERR! prepareGitDep 1> 
npm ERR! prepareGitDep > iso-constants@0.1.2 install /Users/user/.npm/_cacache/tmp/git-clone-51c623a1/node_modules/iso-constants
npm ERR! prepareGitDep > node build.js > index.browser.js
npm ERR! prepareGitDep 
npm ERR! prepareGitDep 
npm ERR! prepareGitDep > bcrypto@5.4.0 install /Users/user/.npm/_cacache/tmp/git-clone-51c623a1/node_modules/bcrypto
npm ERR! prepareGitDep > node-gyp rebuild
npm ERR! prepareGitDep 
npm ERR! prepareGitDep   CC(target) Release/obj.target/torsion/deps/torsion/src/aead.o
npm ERR! prepareGitDep   CC(target) Release/obj.target/torsion/deps/torsion/src/asn1.o
npm ERR! prepareGitDep   CC(target) Release/obj.target/torsion/deps/torsion/src/cipher.o
npm ERR! prepareGitDep   CC(target) Release/obj.target/torsion/deps/torsion/src/drbg.o
npm ERR! prepareGitDep   CC(target) Release/obj.target/torsion/deps/torsion/src/dsa.o
npm ERR! prepareGitDep   CC(target) Release/obj.target/torsion/deps/torsion/src/ecc.o
npm ERR! prepareGitDep   CC(target) Release/obj.target/torsion/deps/torsion/src/encoding.o
npm ERR! prepareGitDep   CC(target) Release/obj.target/torsion/deps/torsion/src/entropy/env.o
npm ERR! prepareGitDep   CC(target) Release/obj.target/torsion/deps/torsion/src/entropy/hw.o
npm ERR! prepareGitDep   CC(target) Release/obj.target/torsion/deps/torsion/src/entropy/sys.o
npm ERR! prepareGitDep   CC(target) Release/obj.target/torsion/deps/torsion/src/hash.o
npm ERR! prepareGitDep   CC(target) Release/obj.target/torsion/deps/torsion/src/ies.o
npm ERR! prepareGitDep   CC(target) Release/obj.target/torsion/deps/torsion/src/internal.o
npm ERR! prepareGitDep   CC(target) Release/obj.target/torsion/deps/torsion/src/kdf.o
npm ERR! prepareGitDep   CC(target) Release/obj.target/torsion/deps/torsion/src/mac.o
npm ERR! prepareGitDep   CC(target) Release/obj.target/torsion/deps/torsion/src/mpi.o
npm ERR! prepareGitDep   CC(target) Release/obj.target/torsion/deps/torsion/src/rand.o
npm ERR! prepareGitDep   CC(target) Release/obj.target/torsion/deps/torsion/src/rsa.o
npm ERR! prepareGitDep   CC(target) Release/obj.target/torsion/deps/torsion/src/stream.o
npm ERR! prepareGitDep   CC(target) Release/obj.target/torsion/deps/torsion/src/util.o
npm ERR! prepareGitDep   LIBTOOL-STATIC Release/torsion.a
npm ERR! prepareGitDep   CC(target) Release/obj.target/secp256k1/deps/secp256k1/contrib/lax_der_parsing.o
npm ERR! prepareGitDep   CC(target) Release/obj.target/secp256k1/deps/secp256k1/src/secp256k1.o
npm ERR! prepareGitDep   LIBTOOL-STATIC Release/secp256k1.a
npm ERR! prepareGitDep   CC(target) Release/obj.target/bcrypto/src/bcrypto.o
npm ERR! prepareGitDep   SOLINK_MODULE(target) Release/bcrypto.node
npm ERR! prepareGitDep 
npm ERR! prepareGitDep > secp256k1@4.0.2 install /Users/user/.npm/_cacache/tmp/git-clone-51c623a1/node_modules/secp256k1
npm ERR! prepareGitDep > node-gyp-build || exit 0
npm ERR! prepareGitDep 
npm ERR! prepareGitDep 
npm ERR! prepareGitDep > ursa-optional@0.10.2 install /Users/user/.npm/_cacache/tmp/git-clone-51c623a1/node_modules/ursa-optional
npm ERR! prepareGitDep > node rebuild.js
npm ERR! prepareGitDep 
npm ERR! prepareGitDep 
npm ERR! prepareGitDep > playwright-core@1.10.0 install /Users/user/.npm/_cacache/tmp/git-clone-51c623a1/node_modules/playwright-core
npm ERR! prepareGitDep > node install.js
npm ERR! prepareGitDep 
npm ERR! prepareGitDep 
npm ERR! prepareGitDep > core-js@3.15.2 postinstall /Users/user/.npm/_cacache/tmp/git-clone-51c623a1/node_modules/core-js
npm ERR! prepareGitDep > node -e "try{require('./postinstall')}catch(e){}"
npm ERR! prepareGitDep 
npm ERR! prepareGitDep Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!
npm ERR! prepareGitDep 
npm ERR! prepareGitDep The project needs your help! Please consider supporting of core-js on Open Collective or Patreon: 
npm ERR! prepareGitDep > https://opencollective.com/core-js 
npm ERR! prepareGitDep > https://www.patreon.com/zloirock 
npm ERR! prepareGitDep 
npm ERR! prepareGitDep Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)
npm ERR! prepareGitDep 
npm ERR! prepareGitDep 
npm ERR! prepareGitDep > esbuild@0.11.5 postinstall /Users/user/.npm/_cacache/tmp/git-clone-51c623a1/node_modules/esbuild
npm ERR! prepareGitDep > node install.js
npm ERR! prepareGitDep 
npm ERR! prepareGitDep 
npm ERR! prepareGitDep > esbuild@0.12.15 postinstall /Users/user/.npm/_cacache/tmp/git-clone-51c623a1/node_modules/esbuild-register/node_modules/esbuild
npm ERR! prepareGitDep > node install.js
npm ERR! prepareGitDep 
npm ERR! prepareGitDep 
npm ERR! prepareGitDep > protobufjs@6.11.2 postinstall /Users/user/.npm/_cacache/tmp/git-clone-51c623a1/node_modules/protobufjs
npm ERR! prepareGitDep > node scripts/postinstall
npm ERR! prepareGitDep 
npm ERR! prepareGitDep 
npm ERR! prepareGitDep > libp2p@0.31.7 prepare /Users/user/.npm/_cacache/tmp/git-clone-51c623a1
npm ERR! prepareGitDep > aegir build --no-bundle
npm ERR! prepareGitDep 
npm ERR! prepareGitDep [15:36:41] Clean ./dist [started]
npm ERR! prepareGitDep [15:36:41] Clean ./dist [completed]
npm ERR! prepareGitDep [15:36:41] Generate types [started]
npm ERR! prepareGitDep src/rendezvous/index.js(12,30): error TS7016: Could not find a declaration file for module 'it-buffer'. '/Users/user/.npm/_cacache/tmp/git-clone-51c623a1/node_modules/it-buffer/index.js' implicitly has an 'any' type.
npm ERR! prepareGitDep   Try `npm i --save-dev @types/it-buffer` if it exists or add a new declaration (.d.ts) file containing `declare module 'it-buffer';`
npm ERR! prepareGitDep src/rendezvous/index.js(125,50): error TS2345: Argument of type 'typeof import("/Users/user/.npm/_cacache/tmp/git-clone-51c623a1/node_modules/multiaddr/dist/src/index")' is not assignable to parameter of type 'string | PeerId | Multiaddr'.
npm ERR! prepareGitDep   Type 'typeof import("/Users/user/.npm/_cacache/tmp/git-clone-51c623a1/node_modules/multiaddr/dist/src/index")' is not assignable to type 'Multiaddr'.
npm ERR! prepareGitDep src/rendezvous/index.js(196,50): error TS2345: Argument of type 'typeof import("/Users/user/.npm/_cacache/tmp/git-clone-51c623a1/node_modules/multiaddr/dist/src/index")' is not assignable to parameter of type 'string | PeerId | Multiaddr'.
npm ERR! prepareGitDep   Type 'typeof import("/Users/user/.npm/_cacache/tmp/git-clone-51c623a1/node_modules/multiaddr/dist/src/index")' is not assignable to type 'Multiaddr'.
npm ERR! prepareGitDep src/rendezvous/index.js(203,16): error TS7006: Parameter 'source' implicitly has an 'any' type.
npm ERR! prepareGitDep src/rendezvous/index.js(237,38): error TS7006: Parameter 'r' implicitly has an 'any' type.
npm ERR! prepareGitDep src/rendezvous/index.js(259,50): error TS2345: Argument of type 'typeof import("/Users/user/.npm/_cacache/tmp/git-clone-51c623a1/node_modules/multiaddr/dist/src/index")' is not assignable to parameter of type 'string | PeerId | Multiaddr'.
npm ERR! prepareGitDep   Type 'typeof import("/Users/user/.npm/_cacache/tmp/git-clone-51c623a1/node_modules/multiaddr/dist/src/index")' is missing the following properties from type 'Multiaddr': bytes, toJSON, toOptions, protos, and 15 more.
npm ERR! prepareGitDep [15:36:56] Generate types [failed]
npm ERR! prepareGitDep [15:36:56] → Command failed with exit code 1: tsc --build /Users/user/.npm/_cacache/tmp/git-clone-51c623a1/tsconfig-types.aegir.json
npm ERR! prepareGitDep 
npm ERR! prepareGitDep 2> npm WARN install Usage of the `--dev` option is deprecated. Use `--only=dev` instead.
npm ERR! prepareGitDep npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm ERR! prepareGitDep npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm ERR! prepareGitDep Command failed with exit code 1: tsc --build /Users/user/.npm/_cacache/tmp/git-clone-51c623a1/tsconfig-types.aegir.json
npm ERR! prepareGitDep npm ERR! code ELIFECYCLE
npm ERR! prepareGitDep npm ERR! errno 1
npm ERR! prepareGitDep npm ERR! libp2p@0.31.7 prepare: `aegir build --no-bundle`
npm ERR! prepareGitDep npm ERR! Exit status 1
npm ERR! prepareGitDep npm ERR! 
npm ERR! prepareGitDep npm ERR! Failed at the libp2p@0.31.7 prepare script.
npm ERR! prepareGitDep npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! prepareGitDep 
npm ERR! prepareGitDep npm ERR! A complete log of this run can be found in:
npm ERR! prepareGitDep npm ERR!     /Users/user/.npm/_logs/2021-07-08T13_36_56_820Z-debug.log
npm ERR! prepareGitDep 
npm ERR! premature close

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

2 participants