The post Syscoin + ZMQ + Node.js = Realtime Blockchain Updates! appeared first on Justin Silver.
]]>You can use the ZMQ topic message queues in Syscoin to receive realtime updates for your application. Using in conjunction with syscoin-core
to blockchain-enable your applications in no time.
Make sure to enable the ZMQ listeners in your syscoin.conf
file and restart syscoind
or Syscoin Core Qt.
# server server=1 daemon=1 # indexes addressindex=1 txindex=1 litemode=0 # rpc rpcuser=u rpcpassword=p rpcport=8370 rpcallowip=127.0.0.1 # zmq listener config zmqpubaliasrecord=tcp://127.0.0.1:3030 zmqpubaliashistory=tcp://127.0.0.1:3030 zmqpubaliastxhistory=tcp://127.0.0.1:3030 zmqpubassetrecord=tcp://127.0.0.1:3030 zmqpubassetallocation=tcp://127.0.0.1:3030 zmqpubassethistory=tcp://127.0.0.1:3030 zmqpubcertrecord=tcp://127.0.0.1:3030 zmqpubcerthistory=tcp://127.0.0.1:3030 zmqpubescrowrecord=tcp://127.0.0.1:3030 zmqpubescrowbid=tcp://127.0.0.1:3030 zmqpubescrowfeedback=tcp://127.0.0.1:3030 zmqpubofferrecord=tcp://127.0.0.1:3030 zmqpubofferhistory=tcp://127.0.0.1:3030 zmqpubhashblock=tcp://127.0.0.1:3030 zmqpubhashtx=tcp://127.0.0.1:3030 zmqpubhashtxlock=tcp://127.0.0.1:3030 zmqpubrawblock=tcp://127.0.0.1:3030 zmqpubrawtx=tcp://127.0.0.1:3030 zmqpubrawtxlock=tcp://127.0.0.1:3030
You will need to npm install
the module zeromq
.
const zeromq = require('zeromq'); const subscriber = zeromq.socket('sub'); subscriber.on('message', async (topic, message) => { topic = topic.toString('utf8'); message = message.toString('utf8') const alias = JSON.parse(message); console.log(JSON.stringify(alias, null, 2)); }); // connect to message producer subscriber.connect('tcp://127.0.0.1:3030'); subscriber.subscribe('aliasrecord'); console.log('subscribed to syscoin topic aliasrecord');
Run your script with the following:
> node zmq-client.js subscribed to syscoin topic aliasrecord { "_id": "gldm1", "address": "SRxK2GjfzTrm8z5PgCtLKzheN5ebd5kN8f", "expires_on": 1590601936, "encryption_privatekey": "", "encryption_publickey": "" } { "_id": "elatte", "address": "Sd8JMHxtuFVSVJN2V51M27S6MkBBMjgjHY", "expires_on": 1559077278, "encryption_privatekey": "", "encryption_publickey": "" } { "_id": "primitive7", "address": "Sk7q3kZcttBNVkUwpMXU59yQf9Pco4sAAJ", "expires_on": 1558656041, "encryption_privatekey": "", "encryption_publickey": "" } { "_id": "primitive9", "address": "SYKff6VzkrzmSn9tL3zZE7FmV2dGFSKfxs", "expires_on": 1558656041, "encryption_privatekey": "", "encryption_publickey": "" } // ....
The post Syscoin + ZMQ + Node.js = Realtime Blockchain Updates! appeared first on Justin Silver.
]]>