¿Alguien puede arrojar algo de luz sobre este error? Bitcore Multisig - malas txns-in-belowout

Código:

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);
  }
});

Resultado:

Transacción rechazada por la red (código -26). Motivo: 16: mal-txns-in-belowout

¿Puede dar la traducción sin procesar serializada al final de este método? Esto puede tener algo que ver con las unidades (Satoshis vs BTC completo) o no usar un scriptPubKey con el formato correcto.

Respuestas (1)

Ese error ocurre cuando la transacción intenta enviar más Satoshis de los que gasta. Es posible que haya mezclado sus unidades (usando Satoshis en lugar de BTC, o viceversa).

El código que arroja el error se puede ver aquí: https://github.com/bitcoin/bitcoin/blob/v0.10.2/src/main.cpp#L1462-L1465

Cambiando "amount" : 10000000a "satoshis" : 10000000trabajado.