Last active
September 24, 2019 10:30
-
-
Save Hribek25/0efae237ddd276fc92e57d5813bba1c0 to your computer and use it in GitHub Desktop.
Sending IOTA transaction in a single call: API call Send_transfer()
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The snippet is a part of the IOTA Developer Essentials project. You can reach it at https://hribek25.github.io/IOTA101/ | |
// Complete description and story behind the snippet is available at: https://hribek25.github.io/IOTA101/Allchapters_javascript.ipynb.html#00663E550ADF | |
// Requirement: A converter module of IOTA Javascript Library (!npm install @iota/converter) | |
// Requirement: A core module of IOTA Javascript Library (!npm install @iota/core) | |
// Requirement: A transaction-converter module of IOTA Javascript Library (!npm install @iota/transaction-converter) | |
var iotalib = require('@iota/core'); | |
var Converter = require('@iota/converter') | |
var TransactionConverter = require('@iota/transaction-converter') | |
var NodeURL = "https://nodes.thetangle.org:443"; | |
var iota = iotalib.composeAPI({ | |
'provider': NodeURL | |
}); | |
var MySeed = "HGW9HB9LJPYUGVHNGCPLFKKPNZAIIFHZBDHKSGMQKFMANUBASSMSV9TAJSSMPRZZU9SFZULXKJ9YLAIUA"; | |
var TargetAddress1 = "CXDUYK9XGHC9DTSPDMKGGGXAIARSRVAFGHJOCDDHWADLVBBOEHLICHTMGKVDOGRU9TBESJNHAXYPVJ9R9"; | |
var TargetAddress2 = "CYJV9DRIE9NCQJYLOYOJOGKQGOOELTWXVWUYGQSWCNODHJAHACADUAAHQ9ODUICCESOIVZABA9LTMM9RW"; | |
var NowIs = new Date() //get a actual date & time - just to have some meaningfull info | |
// preparing transactions | |
var pt = { | |
'address': TargetAddress1, //81 trytes long address | |
'value': 0, //zero transaction - only data in the message field will be sent | |
'message': Converter.asciiToTrytes('Here comes a first message. Now is ' + NowIs), //data needs to be encoded in trytes | |
'tag': 'HRIBEK999IOTA999TUTORIAL' //Up to 27 trytes | |
} | |
var pt2 = { | |
'address': TargetAddress2, //81 trytes long address | |
'value': 0, //zero transaction - only data in the message field will be sent | |
'message': Converter.asciiToTrytes('Here comes a second message. Now is ' + NowIs), //data needs to be encoded in trytes | |
'tag': 'HRIBEK999IOTA999TUTORIAL' //Up to 27 trytes | |
} | |
var transfers = [pt,pt2]; // a list of transactions to be sent | |
var depth = 3; | |
var minWeightMagnitude = 14; | |
console.log("Preparing/Broadcasting... Wait please..."); | |
var promise = iota.prepareTransfers(MySeed, transfers) //prepare a bundle in trytes | |
.then(trytes => { | |
return iota.sendTrytes(trytes, depth, minWeightMagnitude); //perform GTTA + POW + BROADCASTING | |
}) | |
.then(bundle => { | |
console.log("Transactions sent!"); | |
console.log("\nList of all transactions in the bundle:"); | |
bundle.map(tx => console.log(tx)) | |
}) | |
.catch(err => { | |
console.log("Something went wrong: %s", err); | |
}) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment