Can anyone shed any light on this error? Bitcore Multisig - bad-txns-in-belowout

0

Code:

var utxo = new bitcore.Transaction.UnspentOutput({
  "txid" : "e0c6b736e86e8dccd63bbc27f35142b413bd991a410ef50f14cd56fa1a783a1e",
  "vout" : 0,
  "address" : "2NCAeo5p1Pg8VVupFFumCd3PYz551VAZWLJ",
  "scriptPubKey" : "OP_HASH160 20 0xcf8d0490cba6d7ca817323cf0c337fbd0a3de539 OP_EQUAL",
  "amount" : 10000000
});

var multiSigTx = new bitcore.Transaction()
    .from(utxo, pubKeys, 2)
    .to("mwFLeaw5LMAPvoz1hP6qQhHbHkHq8WxM2t", 90000)
    .fee(9000)
    .change("mwFLeaw5LMAPvoz1hP6qQhHbHkHq8WxM2t")
    .sign(privKeys);


var txSerialized = multiSigTx.serialize(true);
insight.broadcast(txSerialized, function(err, returnedTxId) {
  if (err) {
    console.log(err);
  } else {
    console.log("Sent coins, tx id is: ");
    console.log(returnedTxId);
  }
});

Result:

Transaction rejected by network (code -26). Reason: 16: bad-txns-in-belowout

Richard Macarthy

Posted 2015-05-27T09:37:28.110

Reputation: 213

Can you give the serialized raw translation at the end of this method? This may have something to do with units (Satoshis vs full BTC) or not using a properly formatted scriptPubKey.morsecoder 2015-05-27T11:54:39.853

Answers

2

That error happens when the transaction attempts to send more Satoshis than it spends. You might have your units mixed up (using Satoshis instead of BTC, or vice versa).

The code that throws the error can be sheen here: https://github.com/bitcoin/bitcoin/blob/v0.10.2/src/main.cpp#L1462-L1465

morsecoder

Posted 2015-05-27T09:37:28.110

Reputation: 12 624

1Changing "amount" : 10000000 to "satoshis" : 10000000 worked.Richard Macarthy 2015-05-27T12:09:33.330