UNPKG

xdk2mam

Version:

xdk2mam

152 lines (126 loc) 4.39 kB
var IOTA = require('iota.lib.js'); var colors = require('colors'); var root = ""; var Mam = require('./mam.client.js'); var contStart = 0; var isFirstRoot = true; //temporal module.exports.saveData = async function (data,mamState,iota){ let message; let trytes; if(isFirstRoot){ Mam.init(iota, mamState.seed, 2); trytes = iota.utils.toTrytes(JSON.stringify(data)); message = Mam.create(mamState, trytes); mamState = message.state; isFirstRoot = false; } else { contStart++; mamState = Mam.init(iota, mamState.seed, 2, contStart); mamState.channel.start = contStart; trytes = iota.utils.toTrytes(JSON.stringify(data)); message = Mam.create(mamState, trytes); mamState = message.state; } root = message.root; await Mam.attach(message.payload, message.address); console.log('\n*****************************************************************'); console.log('\n** Data: ', JSON.stringify(data)); console.log('\n** Root: ', message.root.green); return mamState; } //temporal module.exports.saveDataMqtt = async function (data,mamState,iota){ let message; let trytes; if(isFirstRoot){ Mam.init(iota, mamState.seed, 2); trytes = iota.utils.toTrytes(data); message = Mam.create(mamState, trytes); mamState = message.state; isFirstRoot = false; } else { contStart++; mamState = Mam.init(iota, mamState.seed, 2, contStart); mamState.channel.start = contStart; trytes = iota.utils.toTrytes(data); message = Mam.create(mamState, trytes); mamState = message.state; } root = message.root; await Mam.attach(message.payload, message.address); console.log('\n*****************************************************************'); console.log('\n** Data: ', data); console.log('\n** Root: ', message.root.green); return mamState; } //temporal module.exports.saveDataMysql = async function (data,iota){ let message; let trytes; mamState = Mam.init(iota, undefined, 2); trytes = iota.utils.toTrytes(data); message = Mam.create(mamState, trytes); await Mam.attach(message.payload, message.address); console.log('\n*****************************************************************'); console.log('\n** Data: ', data); console.log('\n** Root: ', message.root.green); return message.root; } //temporal module.exports.saveDataBLE = async function (data,mamState,iota){ let message; let trytes; if(isFirstRoot){ Mam.init(iota, mamState.seed, 2); trytes = iota.utils.toTrytes(data); message = Mam.create(mamState, trytes); mamState = message.state; isFirstRoot = false; } else { contStart++; mamState = Mam.init(iota, mamState.seed, 2, contStart); mamState.channel.start = contStart; trytes = iota.utils.toTrytes(data); message = Mam.create(mamState, trytes); mamState = message.state; } root = message.root; await Mam.attach(message.payload, message.address); //console.log('\n*****************************************************************'); //console.log('\n** Data: ', data); console.log('\n** Root: ', colors.green.bold(message.root)); return mamState; } module.exports.saveDataAndPrintRoot = async function (data,mamState,iota){ let message; let trytes; if(isFirstRoot){ Mam.init(iota, mamState.seed, 2); trytes = iota.utils.toTrytes(data); message = Mam.create(mamState, trytes); mamState = message.state; isFirstRoot = false; } else { contStart++; mamState = Mam.init(iota, mamState.seed, 2, contStart); mamState.channel.start = contStart; trytes = iota.utils.toTrytes(data); message = Mam.create(mamState, trytes); mamState = message.state; } root = message.root; await Mam.attach(message.payload, message.address); //console.log('\n*****************************************************************'); //console.log('\n** Data: ', data); console.log('\n** Root: ', colors.green.bold(message.root)); return mamState; }