Ich habe den obigen Fehler beim Senden dieser Transaktion erhalten:
010000000001013894a4bdcfa20ef5a6cbfe1d22c5fe5041eab586a5ea2b044f969a02dab6b3d200000000171600141a982a7d2712fc33d47c990cd8cde15c87ca2e07ffffffff015e3f01000000000017a914fb2dc3b4dd0731c8f2559506c7d0cb876b0e71298702483045022100c68dac735a3529d84fdbfc3a8a11d313d59a9791b046fc39bbfc55db71d6d2010220028f2bbfba78c393858e3cb7ad51e24e8dfd2260d4a3cbbf8feb4d4c6005967701210371b63ebaa78a70420bc36159bed610b8f788e9a7b953558f06bb40622d9cbfe400000000
Eine vorherige Transaktion von derselben P2SH-P2WPKH-Adresse wurde erfolgreich ausgegeben, aber ich erhalte diesen Fehler, wenn ich versuche, diese Transaktion auszugeben:
d2b3b6da029a964f042beaa586b5ea4150fec5221dfecba6f50ea2cfbda49438
Ich habe bereits einige Male versucht, die Transaktion erneut zu signieren, habe aber immer noch den gleichen Fehler erhalten.
Sie erhalten diesen Fehler, wenn der Wert, den Sie signieren, nicht der exakte Betrag des gesamten nicht ausgegebenen Ausgabewerts ist.
Wenn Ihr nicht ausgegebener Ausgabewert beispielsweise 35.000 beträgt und Sie nur 30.000 senden möchten, wäre Ihr Ausgabewert 30.000 und Ihr Unterzeichnungsbetrag 35.000. Wenn Sie nur für 30.000 (nicht den vollen Betrag der nicht ausgegebenen Ausgabe) unterschreiben, erhalten Sie diese Fehlermeldung.
Visuelles Beispiel mit BitcoinJS:
//add input
txb.addInput(txid, outn, null, scriptPubkey);
//add output
txb.addOutput(receivingAddress, 30000); //amount less the mining fee
//signing
txb.sign(0, keypair, null, null, 35000); //NOTE the amount is the FULL amount of the unspent output, NOT the amount being sent
sign
genau die volle Eingabemenge angezeigt wird, da ich UTXOs durchlaufe und utxo[i].satoshis
als übergebe amount
. Kann irgendetwas anderes diesen Fehler verursachen?bgoldjs-lib
- Gabel von bitcoinjs-lib
für BTGIch habe diesen Fehler nicht nur bei der Angabe eines falschen Eingabebetrags erhalten, wie an anderer Stelle in diesem Thread erwähnt, sondern auch bei der falschen Sortierung von Signaturen bei einer Multisig-Transaktion.
Wenn ich versuche, diese Transaktion zu übermitteln, erhalte ich diese Fehlermeldung nicht. Für mich sieht es so aus, als würden Sie insgesamt nur 1 Satoshi als Transaktionsgebühr senden. Versuchen Sie, es mit einer höheren Gebühr zu senden.
Ich fand heraus, dass es an einem Genauigkeitsfehler in unserem Code lag. Der Betrag, der zum Erstellen der eingegebenen Segwit-Transaktion verwendet wurde, ist falsch, was zu diesem Fehler führt.
Ich habe den gleichen Fehler beim Erstellen einer Transaktion über bgoldjs-lib. Sagen Sie, dass es verwirrend ist, wie sagen Sie nichts. Ich hatte kein Problem mit bitcore-lib, bitcoincashjs, um BTC, BCH, LTC txs zu erstellen. Denke es ist Open Source !^_^! oder ich habe nicht so tiefes Lernen in diesem Bereich. Ich habe eine Lösung gefunden https://github.com/Ayms/bitcoin-transactions . Es gibt ein tx.js-Skript, aber im min.js-Format. Es hat für mich erfolgreich ausgestrahlte txs geschaffen. Es gibt eine ungeeignete Ausgabe, die ich in naher Zeit entfernen werde.
Andreas Chow
Benutzer3779267
Benutzer3779267
Pieter Wuille