BitGo / bitgo-utxo-lib

UTXO coins functions implemented in pure JavaScript
86 stars 146 forks source link

zcash testnet sign cant not decode #43

Closed benjamintshi closed 5 years ago

benjamintshi commented 5 years ago
const bitcoin = require("bitgo-utxo-lib");
const tx = new bitcoin.TransactionBuilder(bitcoin.networks.zcashTest);
tx.addInput('bda0feb0531b0a90a46f54208e06257a57f88e6430a1fad71e850622130b3f9c', 0)
tx.addOutput('tmLYMLL8XofkMzhas7b8F8y954u9EBXJ4tJ', 280000000)
tx.addOutput('tmX73eXLXevHuhVvcXeUffXYxvGUNbNWcSQ', 10000000)
var keyPair = bitcoin.ECPair.fromWIF('cSXDRVNgdtsCpfgRji67W6Dvj2Eu8MMUuvaN6Y9wHt9EaA1vQ6Tt', bitcoin.networks.zcashTest)
tx.setVersion(4)
tx.setVersionGroupId(0x03C48270);
tx.setExpiryHeight(501430);
tx.sign(0, keyPair, '', bitcoin.Transaction.SIGHASH_ALL, 0);
//const msg = tx.build().toHex();
console.log(tx.build().toHex())

rpc error:

{
    "result": null,
    "error": {
        "code": -22,
        "message": "TX decode failed"
    },
    "id": 1
}

help me .

benjamintshi commented 5 years ago
const bitcoin = require("./bitgo-utxo-lib");
const bitcore = require("./bitcore-lib-zcash");
const tx = new bitcoin.TransactionBuilder(bitcoin.networks.zcashTest);
tx.addInput('b8fb4a7ca6cd35f38f86686d93bf2673963a724c5e260cf9400461c3db76930a', 0)
tx.addOutput('tmX73eXLXevHuhVvcXeUffXYxvGUNbNWcSQ', bitcore.Unit.fromBTC(0.1).toSatoshis())
tx.addOutput('tmGZs78Tmy8Y921XqZ24Ty6xfYooVsc9jPs', bitcore.Unit.fromBTC(1.09999021).toSatoshis())
//转出地址:tmLDzUAGYBpKhqQ4CHsRJw35AKA8YREyPgB
var keyPair = bitcoin.ECPair.fromWIF('cVecCE37XFHTdgXjkFYdMVRBiNWwV5krMqvkt8psRmc8MkgXxVAj', bitcoin.networks.zcashTest);
tx.setVersion(4)
tx.setVersionGroupId(0x892F2085);
tx.setExpiryHeight(501535);//过期区块高度
tx.setLockTime(501502)
tx.sign(0, keyPair, undefined, bitcoin.Transaction.SIGHASH_ALL, bitcore.Unit.fromBTC(1.19999021).toSatoshis());
console.log(tx.build().toHex())
//console.log(tx.inputs[0].signatures[0].toString('hex'))

it fixed