Skip to content

Instantly share code, notes, and snippets.

@huhn511
Created March 6, 2020 00:31
Show Gist options
  • Save huhn511/b0c184a3074220ffb376caa04ae1f0af to your computer and use it in GitHub Desktop.
Save huhn511/b0c184a3074220ffb376caa04ae1f0af to your computer and use it in GitHub Desktop.
Code by @Thoralf-M
let multisig = require('@iota/multisig');
let converter = require('@iota/converter');
let txconverter = require('@iota/transaction-converter');
let bundle_validator = require('@iota/bundle-validator');
let seedA = 'A'.repeat(81)
let seedB = 'B'.repeat(81)
let seedC = 'C'.repeat(81)
let digest = multisig.getDigest(seedA, 0, 3)
let address = multisig.getAddress([digest])
console.log(address);
let digest2 = multisig.getDigest(seedB, 0, 3)
let address2 = multisig.getAddress([digest2])
console.log(address2);
let digest3 = multisig.getDigest(seedC, 0, 3)
let multisigaddress = multisig.getAddress([digest, digest2, digest3])
console.log(multisigaddress);
let MultisigInput = {
address: multisigaddress,
balance: 2,
securitySum: 9
}
let transfers = [
{address:'DHSZPMEJHCZNOVZAIGZRUOHAVDZUZXZLUNAEHYWG9RREOIO9PXFTXFGZDAJKDPRSKKEOME9PEOCI99999',
value: 2}
]
let initBundle = multisig.createBundle(MultisigInput, transfers)
let firstSigned = multisig.addSignature(initBundle, multisigaddress, multisig.getKey(seedA, 0, 3))
let firstSignedTrits = new Int8Array(converter.trits(firstSigned.join('')))
let secondSigned = multisig.addSignature(firstSignedTrits, multisigaddress, multisig.getKey(seedB, 0, 3))
let secondSignedTrits = new Int8Array(converter.trits(secondSigned.join('')))
let thirdsigned = multisig.addSignature(secondSignedTrits, multisigaddress, multisig.getKey(seedC, 0, 3))
let finaltxobjs = thirdsigned.map(tx => txconverter.asTransactionObject(tx))
console.log(finaltxobjs);
console.log(bundle_validator.default(finaltxobjs));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment