New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

mm-services-mdns

Package Overview
Dependencies
Maintainers
2
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mm-services-mdns

mDNS service for MicroMinion platform

latest
Source
npmnpm
Version
0.6.8
Version published
Maintainers
2
Created
Source

mm-services-mdns

directory service to store connection information for remote peers

works with MicroMinion platform

Initialization

var MicroMinionPlatform = require('mm-platform')
var MulticastDNS = require('mm-services-mdns')

var platform = new MicroMinionPlatform()

var mdns = new MulticastDNS({platform: platform})

Messaging API

Data structures

nodeInfo: Javascript object with node information

  • boxId: base64 encoded public encryption key used by nacl
  • signId: base64 encoded public signature key used by nacl
  • connectionInfo: javascript dictionary with 1tp connection information

Published messages

self.transports.nodeInfo

Publishes connection information for remote node

var MicroMinionPlatform = require('mm-platform')
var MulticastDNS = require('mm-services-mdns')

var platform = new MicroMinionPlatform()

var mdns = new MulticastDNS({platform: platform})

platform.messaging.on('self.transports.nodeInfo', function(topic, sender, nodeInfo) {
  console.log(topic) // 'self.transports.nodeInfo'
  console.log(sender) // 'local'
  console.log(nodeInfo) // {boxId: <boxId>, signId: <signId>, connectionInfo: <1tp connectionInfo>}
})

self.transports.nodeInfoBootstrap

Publishes bootstrap information for remote nodes (used by DHT)

var MicroMinionPlatform = require('mm-platform')
var MulticastDNS = require('mm-services-mdns')

var platform = new MicroMinionPlatform()

var mdns = new MulticastDNS({platform: platform})

platform.messaging.on('self.transports.nodeInfo', function(topic, sender, nodeInfo) {
  console.log(topic) // 'self.transports.nodeInfo'
  console.log(sender) // 'local'
  console.log(nodeInfo) // {boxId: <boxId>, signId: <signId>, connectionInfo: <1tp connectionInfo>}
})

Subscribed messages

self.transports.myNodeInfo

Uses our own node information to broadcast on local network through mdns

You'll never need to send this message since this is triggered from the platform object

var MicroMinionPlatform = require('mm-platform')
var MulticastDNS = require('mm-services-mdns')

var platform = new MicroMinionPlatform()

var mdns = new MulticastDNS({platform: platform})

var nodeInfo = {
  boxId: platform.directory.identity.getBoxId()
  signId: platform.directory.identity.getSignId()
  connectionInfo: platform.directory._connectionInfo
}

platform.messaging.send('transports.myNodeInfo', 'local', nodeInfo)

self.transports.requestBootstrapNodeInfo

Request message that triggers 'nodeInfoBootstrap' responses

Needed if you want to implement your own directory service or want to discover local nodes

var MicroMinionPlatform = require('mm-platform')
var MulticastDNS = require('mm-services-mdns')

var platform = new MicroMinionPlatform()

var mdns = new MulticastDNS({platform: platform})

platform.messaging.send('transports.requestBootstrapNodeInfo', 'local', {})

Keywords

mdns

FAQs

Package last updated on 06 Nov 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts