Created
April 12, 2018 16:31
-
-
Save evias/a40010aab845bc8e3ba29d150c65cb5e to your computer and use it in GitHub Desktop.
NEM-SDK@1.6.2: Convert Account to Multisig
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
let endpoint = { | |
'host': 'http://bigalice2.nem.ninja', | |
'port': 7890 | |
}; | |
let networkId = -104; | |
let privateKeyOfAccountToConvert = "PRIV_KEY_HEX_ACCOUNT_TO_CONVERT"; | |
let privateKeyOfCosig = "PRIV_KEY_HEX_ACCOUNT_SINGLE_COSIG"; | |
let kpc = sdk.crypto.keyPair.create(privateKeyOfAccountToConvert); | |
let kps = sdk.crypto.keyPair.create(privateKeyOfCosig); | |
let addressToMakeMultisig = sdk.model.address.toAddress(kpc.publicKey.toString(), networkId); | |
let addressCoSigner = sdk.model.address.toAddress(kps.publicKey.toString(), networkId); | |
console.log("Address to Convert to Multisig: " + addressToMakeMultisig); // TBKFYXLDLVMDZ76AU5EKVE7IA55BDXIV74FQSOCK | |
console.log("Address as single Co-Signer : " + addressCoSigner); // TA3SH7QUTG6OS4EGHSES426552FAJYZR2PHOBLNA | |
// We make `addressToMakeMultisig` a 1-of-1 multisig with the only | |
// cosigner being the `kp` account | |
// type 1 = Add cosigner | |
let modification = sdk.model.objects.create("multisigCosignatoryModification")(1, kps.publicKey.toString()); | |
// prepare transaction | |
let trx = sdk.model.objects.create('multisigAggregateModification')(); | |
trx.modifications.push(modification); | |
trx.relativeChange = 1; | |
// wrap transaction | |
let creds = {password: '', privateKey: privateKeyOfAccountToConvert}; | |
let prepared = sdk.model.transactions.prepare('multisigAggregateModificationTransaction')(creds, trx, networkId); | |
console.log(trx); | |
console.log(prepared); | |
// async broadcast of the transaction | |
(async function broadcast() { | |
let result = await | |
sdk.model.transactions.send(creds, prepared, | |
endpoint); | |
console.log(result); | |
})(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment