v6 initial commit, maybe more to follow
This commit is contained in:
parent
7f91be86c0
commit
d6a32870bc
34 changed files with 16875 additions and 0 deletions
100
wallet/MetaDataTransaction.js
Normal file
100
wallet/MetaDataTransaction.js
Normal file
|
@ -0,0 +1,100 @@
|
|||
const ChainUtil = require('../chain-util');
|
||||
|
||||
class MetaDataTransaction {
|
||||
constructor() {
|
||||
this.id = null; // if there is a problem in the metadata transaction, change null with ChainUtil.id();
|
||||
this.Signiture = null;
|
||||
this.Name = null;
|
||||
this.Geo = [];
|
||||
this.IP_URL = null;
|
||||
this.Topic_Token = null;
|
||||
this.Permission = null;
|
||||
this.RequestDetail = null;
|
||||
this.OrgOwner = null;
|
||||
this.DepOwner = null;
|
||||
this.PrsnOwner = null;
|
||||
this.MetaHash = null;
|
||||
this.PaymentPerKbyte = null;
|
||||
this.PaymentPerMinute = null;
|
||||
this.Protocol = null;
|
||||
this.MessageAttributes= {};
|
||||
this.Interval = null;
|
||||
this.FurtherDetails = null;
|
||||
this.SSNmetadata = null;
|
||||
|
||||
// this.Geo = null;
|
||||
// this.Std = null;
|
||||
// this.name= null;
|
||||
// this.MetaHash= null;
|
||||
// this.file=null;
|
||||
}
|
||||
|
||||
// update(senderWallet, Geo, URI, Name,Permission, OrgOwner, SSNmetadata) {
|
||||
|
||||
// this.Geo = Geo;
|
||||
// this.URI = URI;
|
||||
// this.Name = Name;
|
||||
// this.Permission = Permission;
|
||||
// this.OrgOwner = OrgOwner;
|
||||
// this.PrsnOwner = senderWallet.publicKey;
|
||||
// this.MetaHash = ChainUtil.hash(SSNmetadata);
|
||||
// this.SSNmetadata = SSNmetadata;
|
||||
|
||||
// MetaDatatransaction.signMetaDataTransaction(this, senderWallet);
|
||||
|
||||
// return this;
|
||||
// }
|
||||
|
||||
static MetaDataTransactionWithIoT(senderWallet, Name,Geo ,IP_URL , Topic_Token, Permission, RequestDetail, OrgOwner, DepOwner,PrsnOwner, PaymentPerKbyte, PaymentPerMinute, Protocol, MessageAttributes, Intrval, FurtherDetails, SSNmetadata) {
|
||||
const metaDataTransaction = new this();
|
||||
metaDataTransaction.id = ChainUtil.id();
|
||||
metaDataTransaction.Name = Name;
|
||||
metaDataTransaction.Geo = Geo;
|
||||
metaDataTransaction.IP_URL = IP_URL;
|
||||
metaDataTransaction.Topic_Token = Topic_Token;
|
||||
metaDataTransaction.Permission = Permission;
|
||||
metaDataTransaction.RequestDetail = RequestDetail
|
||||
metaDataTransaction.OrgOwner = OrgOwner;
|
||||
metaDataTransaction.DepOwner = DepOwner;
|
||||
metaDataTransaction.PrsnOwner = PrsnOwner;
|
||||
metaDataTransaction.PaymentPerKbyte = PaymentPerKbyte ;
|
||||
metaDataTransaction.PaymentPerMinute = PaymentPerMinute;
|
||||
metaDataTransaction.Protocol = Protocol;
|
||||
metaDataTransaction.MessageAttributes = MessageAttributes;
|
||||
metaDataTransaction.MessageAttributes['DeviceID'] = metaDataTransaction.id;
|
||||
metaDataTransaction.MessageAttributes['DeviceName'] = Name;
|
||||
metaDataTransaction.MessageAttributes['Sensors'] =[{"SensorName":"","Value":"" , "Unit":""}];
|
||||
metaDataTransaction.MessageAttributes['TimeStamp'] = "";
|
||||
metaDataTransaction.Interval = Intrval;
|
||||
metaDataTransaction.FurtherDetails = FurtherDetails;
|
||||
metaDataTransaction.SSNmetadata = SSNmetadata;
|
||||
metaDataTransaction.MetaHash = ChainUtil.hash(SSNmetadata);
|
||||
MetaDataTransaction.signMetaDataTransaction(metaDataTransaction, senderWallet);
|
||||
return metaDataTransaction;
|
||||
}
|
||||
|
||||
|
||||
static newMetaDataTransaction(senderWallet,Name,Geo ,IP_URL , Topic_Token, Permission, RequestDetail, OrgOwner, DepOwner,PrsnOwner, PaymentPerKbyte, PaymentPerMinute, Protocol, MessageAttributes, Interval, FurtherDetails, SSNmetadata){
|
||||
return MetaDataTransaction.MetaDataTransactionWithIoT(senderWallet, Name,Geo ,IP_URL , Topic_Token, Permission, RequestDetail, OrgOwner, DepOwner,PrsnOwner, PaymentPerKbyte, PaymentPerMinute, Protocol, MessageAttributes, Interval, FurtherDetails, SSNmetadata
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
static signMetaDataTransaction (metaDataTransaction, senderWallet) {
|
||||
metaDataTransaction.Signiture = {
|
||||
timestamp: Date.now(),
|
||||
address: senderWallet.publicKey,
|
||||
signature: senderWallet.sign(ChainUtil.hash(metaDataTransaction.SSNmetadata))
|
||||
}
|
||||
}
|
||||
|
||||
static verifyMetaDataTransaction(metaDataTransaction) {
|
||||
return ChainUtil.verifySignature(
|
||||
metaDataTransaction.Signiture.address,
|
||||
metaDataTransaction.Signiture.signature,
|
||||
ChainUtil.hash(metaDataTransaction.SSNmetadata)
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
module.exports = MetaDataTransaction;
|
Loading…
Add table
Add a link
Reference in a new issue