grenache-nodejs-link
In Grenache, grenache-nodejs-link communicates with the DHT.
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 link
grape <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 cache
lruMaxAgeLookup <Number> Maximum cache age in ms.
link.start()
Sets up the link.
link.stop()
Stops all current requests and announces.
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.get(hash | object, callback)
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>.
Example.
link.lookup(name, [opts], callback)
name <String> Name of the service to lookup
opts
retry: <Number> retry count
callback <function>
Retrieves the ports and IPs of a given service name.