grenache-nodejs-link-simple
v0.1.2
Published
Granache Node.js Link Simplified
Downloads
372
Maintainers
Readme
grenache-nodejs-link-simple
In Grenache, grenache-nodejs-link-simple
communicates with the DHT.
Changes compared to regular link
This repo takes the original grenache-nodejs-link and
- removes the need to run
start()
. - Removes the need to run
stop()
in case no announcements have been made.
This simplified the api because lookups can now be done directly without any setup/shutdown methods.
Install with:
npm i grenache-nodejs-link-simple
Requirements
Install Grenache Grape
: https://github.com/bitfinexcom/grenache-grape:
npm i -g grenache-grape
// Start 2 Grapes
grape --dp 20001 --aph 30001 --bn '127.0.0.1:20002'
grape --dp 20002 --aph 40001 --bn '127.0.0.1:20001'
Class: Link
new Link(options)
options
<Object> Options for the linkgrape
<String> Address of the Grenache Grape instance. Communication is done via WebSocket or HTTP.requestTimeout
<Number> Default timeout for requests to Grape,pingTimeout
<Number> Ping connection timeout to Grape (triggers reconnect attempt),lruMaxSizeLookup
<Number> Maximum size of the cache, checked by applying the length function to all values in the cachelruMaxAgeLookup
<Number> Maximum cache age in ms.
link.start() is deprecated.
link.stop()
Stops all current announces. Doesn't need to be called if no announce has been made.
link.announce(name)
name
<String> Name of the service, used to find the service from other peers
Used to announce a service, e.g. a RPC Server.
link.startAnnouncing(name, port, [opts])
Keep announcing a service every ~2min (default) or specify interval in opts.interval
link.stopAnnouncing(name, port)
Stop announcing a service
link.put(data, callback)
data
v
: <String> value to store
callback
<function>
Puts a value into the DHT. Example.
link.putMutable(data, opts, callback)
data
v
: <String> value to stores
: <Number> sequence number
opts
keys
: <Object> containsed25519-supercop
private and public keypublicKey
: <Buffer> public keysecretKey
: <Buffer> private key
callback
<function>
Provides sugar for storing mutable, signed data in the DHT.
Example raw put Example with putMutable
link.get(hash | object, callback)
hash
<String> Hash used for lookupobject
<Object>hash
: <String> Hash used for lookupsalt
: <String> (optional) salt that was used if data was stored with salt. Required in those cases.
callback
<function>
Retrieves a stored value from the DHT via a hash
<String>.
It also supports an object, which is used to pass a previously used salt in order to retrieve the data teh salt was used upon.
Callback returns err
<Object> and data <Object>.
link.lookup(name, [opts], callback)
name
<String> Name of the service to lookupopts
retry
: <Number> retry count
callback
<function>
Retrieves the ports and IPs of a given service name.