Guest User

Untitled

a guest
Dec 5th, 2018
353
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const nem = require("nem-sdk").default;
  2.  
  3. let endpoint = nem.model.objects.create("endpoint")(nem.model.nodes.defaultTestnet, nem.model.nodes.defaultPort);
  4. let common = nem.model.objects.create("common")("", "<YOUR_PRIVATE_KEY>");
  5.  
  6. let transferTx = nem.model.objects.create("transferTransaction")("TBCI2A67UQZAKCR6NS4JWAEICEIGEIM72G3MVW5S");
  7.  
  8. let mosaicAttachment1 = nem.model.objects.create("mosaicAttachment")("nem", "xem", 10);
  9. let mosaicAttachment2 = nem.model.objects.create("mosaicAttachment")("voto", "eleccion-ucv-2018", 1);
  10.  
  11. transferTx.mosaics.push(mosaicAttachment1);
  12. transferTx.mosaics.push(mosaicAttachment2);
  13.  
  14. nem.com.requests.namespace.mosaicDefinitions(endpoint, mosaicAttachment2.mosaicId.namespaceId).then(function (res) {
  15.    
  16.     let fullMosaicName = nem.utils.format.mosaicIdToName(mosaicAttachment2.mosaicId);  
  17.     let neededDefinition = nem.utils.helpers.searchMosaicDefinitionArray(res.data, [mosaicAttachment2.mosaicId.name]);
  18.    
  19.     if (undefined === neededDefinition[fullMosaicName]) return console.error("Mosaic not found !");
  20.    
  21.     let mosaicDefinitionMetaDataPair = nem.model.objects.get("mosaicDefinitionMetaDataPair");
  22.     mosaicDefinitionMetaDataPair['nem:xem'].supply = 8999999999; // FIXME - should be done better and get some static from nem-sdk (if exists) ;)
  23.     mosaicDefinitionMetaDataPair[fullMosaicName] = {};
  24.     mosaicDefinitionMetaDataPair[fullMosaicName].mosaicDefinition = neededDefinition[fullMosaicName];
  25.     mosaicDefinitionMetaDataPair[fullMosaicName].supply = neededDefinition[fullMosaicName].properties[1].value; // FIXME - should be done better ;)
  26.    
  27.     let txEntity = nem.model.transactions.prepare('mosaicTransferTransaction')(common, transferTx, mosaicDefinitionMetaDataPair, nem.model.network.data.testnet.id);
  28.  
  29.     nem.com.requests.chain.time(endpoint).then(function (timeStamp) {
  30.         const ts = Math.floor(timeStamp.receiveTimeStamp / 1000);
  31.         txEntity.timeStamp = ts;
  32.         const due = 60;
  33.         txEntity.deadline = ts + due * 60;
  34.        
  35.         console.log(txEntity);
  36.        
  37.         nem.model.transactions.send(common, txEntity, endpoint).then(function(res){
  38.             console.log(res);
  39.         }, function(err){
  40.             console.log(err);
  41.         });
  42.        
  43.     }, function (err) {
  44.         console.error(err);
  45.     });
  46.    
  47. }, function (err) {
  48.    console.error(err);
  49. });
Add Comment
Please, Sign In to add comment