xdk2mam
Version:
xdk2mam
152 lines (126 loc) • 4.39 kB
JavaScript
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;
}