Closed zhujinghe closed 3 years ago
` const bitcore = require("bitcore-lib-zcash"); const bitgoUtxoLib = require('bitgo-utxo-lib-1.9.1');
const fromZec = "tmTEYjmn2Kyhks2EQzq9aNqcZPpeRchMYev" const privateKeyZec = "cQQcw2g2oNqJCDb9r5qRqtRAXCWenCbBr3gJJVcNVJP92RwN1nt6" const toZec = "tmUSpr2HzQMgQq8uopYtNGShdeUXs4tCP4o" const utxos = [ { "txid": "d9bbd01d69029e8563d2736761a7f132ea62d92d133b85236ce58d351cf5a58c", "vout": 1, "address": "tmTEYjmn2Kyhks2EQzq9aNqcZPpeRchMYev", "amount": 89.99500000, "scriptPubKey": "76a914c03023a2285c20a5a64256b636eb9fd06406c9f788ac" }, ]
const ZcashTest = bitgoUtxoLib.networks.zcashTest
const tx = new bitgoUtxoLib.TransactionBuilder(ZcashTest);
let total = 0;
for (let key in utxos) { key = parseInt(key) const utxo = utxos[key];
tx.addInput(utxo.txid, utxo.vout); total += bitcore.Unit.fromBTC(utxo.amount).toSatoshis(); }
let send = 100000000
const fees = 500000; const change = total - send - fees;
tx.addOutput(toZec, send); tx.addOutput(fromZec, change);
const keyPair = bitgoUtxoLib.ECPair.fromWIF(privateKeyZec, ZcashTest)
tx.setVersion(4) tx.setVersionGroupId(0xE9FF75A6)
for (let key in utxos) { key = parseInt(key) tx.sign(key, keyPair, "", bitgoUtxoLib.Transaction.SIGHASH_ALL, bitcore.Unit.fromBTC(utxos[key].amount).toSatoshis()) }
const msg = tx.build().toHex();
`
@OttoAllmendinger
` const bitcore = require("bitcore-lib-zcash"); const bitgoUtxoLib = require('bitgo-utxo-lib-1.9.1');
const fromZec = "tmTEYjmn2Kyhks2EQzq9aNqcZPpeRchMYev" const privateKeyZec = "cQQcw2g2oNqJCDb9r5qRqtRAXCWenCbBr3gJJVcNVJP92RwN1nt6" const toZec = "tmUSpr2HzQMgQq8uopYtNGShdeUXs4tCP4o" const utxos = [ { "txid": "d9bbd01d69029e8563d2736761a7f132ea62d92d133b85236ce58d351cf5a58c",
"vout": 1, "address": "tmTEYjmn2Kyhks2EQzq9aNqcZPpeRchMYev", "amount": 89.99500000, "scriptPubKey": "76a914c03023a2285c20a5a64256b636eb9fd06406c9f788ac" }, ]
const ZcashTest = bitgoUtxoLib.networks.zcashTest
const tx = new bitgoUtxoLib.TransactionBuilder(ZcashTest);
let total = 0;
for (let key in utxos) { key = parseInt(key) const utxo = utxos[key];
tx.addInput(utxo.txid, utxo.vout); total += bitcore.Unit.fromBTC(utxo.amount).toSatoshis(); }
let send = 100000000
const fees = 500000; const change = total - send - fees;
tx.addOutput(toZec, send); tx.addOutput(fromZec, change);
const keyPair = bitgoUtxoLib.ECPair.fromWIF(privateKeyZec, ZcashTest)
tx.setVersion(4) tx.setVersionGroupId(0xE9FF75A6)
for (let key in utxos) { key = parseInt(key) tx.sign(key, keyPair, "", bitgoUtxoLib.Transaction.SIGHASH_ALL, bitcore.Unit.fromBTC(utxos[key].amount).toSatoshis()) }
const msg = tx.build().toHex();
`