diff --git a/src/examples/simple/package.json b/src/examples/simple/package.json index 56152d5..9931616 100644 --- a/src/examples/simple/package.json +++ b/src/examples/simple/package.json @@ -1,5 +1,5 @@ { "dependencies": { - "nodejs-waku": "^0.1.11" + "nodejs-waku": "^0.1.12" } } diff --git a/src/examples/simple/waku_example.js b/src/examples/simple/waku_example.js index 9f2325f..345e47e 100644 --- a/src/examples/simple/waku_example.js +++ b/src/examples/simple/waku_example.js @@ -1,51 +1,76 @@ + +// Please, export LD_LIBRARY_PATH="./node_modules/nodejs-waku/" +// before running the example so that the 'libwaku.so' can be properly linked. + +function create_random_string(length) { + let result = ''; + const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; + const charactersLength = characters.length; + let counter = 0; + while (counter < length) { + result += characters.charAt(Math.floor(Math.random() * charactersLength)); + counter += 1; + } + return result; +} + +function event_handler(event) { + console.log("event rx: " + event) +} + var wakuMod = require('nodejs-waku'); - -var cfg = `{ - "host": "0.0.0.0", - "port": 60001, - "key": "364d111d729a6eb6d3e6113e163f017b5ef03a6f94c9b5b7bb1bb36fa5cb07a9", - "relay": true -}`; - -wakuMod.wakuNew(cfg); +wakuMod.wakuNew(`{ + "host": "0.0.0.0", + "port": 60001, + "key": "364d111d729a6eb6d2e6113e163f017b5ef03a6f94c9b5b7bb1bb36fa5cb07a9", + "relay": true +}`); wakuMod.wakuVersion(); -/* +// Example on how to retrieve a value from the waku library +var defaultPubsubTopic = "" +wakuMod.wakuDefaultPubsubTopic(function(msg){ defaultPubsubTopic = msg }) -exports.wakuNew = function(cfg) { - wakuMod.wakuNew(cfg) -} +console.log("Default pubsub topic: " + defaultPubsubTopic) -exports.wakuVersion = function() { - wakuMod.wakuVersion(function(msg){ console.log("Waku Version: " + msg) }) -} +console.log("Setting callback event callback function") +wakuMod.wakuSetEventCallback(event_handler) -exports.wakuShowDefaultPubsubTopic = function() { - // Example on how to retrieve a value from the waku library - var defaultPubsubTopic = "" - wakuMod.wakuDefaultPubsubTopic(function(msg){ defaultPubsubTopic = msg }) - console.log("Default pubsub topic: " + defaultPubsubTopic) -} +wakuMod.wakuStart() -exports.wakuSetEventCallback = function(eventHandler) { - console.log("Setting callback event callback function") - wakuMod.wakuSetEventCallback(eventHandler) -} +wakuMod.wakuConnect("/ip4/127.0.0.1/tcp/60000/p2p/16Uiu2HAmVFXtAfSj4EiR7mL2KvL4EE2wztuQgUSBoj2Jx2KeXFLN", + 10000, + function onErr(msg) { + console.log("Error connecting node: " + msg) + }) -exports.wakuStart = function() { - wakuMod.wakuStart() -} +wakuMod.wakuRelaySubscribe(defaultPubsubTopic, + function onErr(msg) { + console.log("Error subscribing: " + msg) + }) -exports.wakuConnect = function(peerAddr, timeoutMs, onErr) { - wakuMod.wakuConnect(peerAddr, timeoutMs, onErr) -} +var express = require('express'); +var app = express(); +app.post('/publish', +function (req, res) { + console.log("Publish event received") -exports.wakuRelaySubscribe = function(pubsubTopic, onErr) { - wakuMod.wakuRelaySubscribe(pubsubTopic, onErr) -} - -*/ + wakuMod.wakuRelayPublish(defaultPubsubTopic, + "content_topic_name", + create_random_string(10), + 10000, + function onError(msg) { + console.log("Error: " + msg) + process.exit(-1) + }); + res.end( JSON.stringify("OK publish")) + }) +var server = app.listen(8081, function () { + var host = server.address().address + var port = server.address().port + console.log("Example NodeJs waku listening at http://%s:%s", host, port) +})