Ich möchte die Gültigkeit einer Rohtransaktion prüfen (dh ob sie von Netzwerkknoten akzeptiert würde), ohne die Transaktion an das Netzwerk zu senden. Mich interessiert, was der beste Weg ist, dies zu erreichen 1) mit der RPC-API von Bitcoin Core 2) auf andere Weise (z. B. Open-Source-Tool).
Habe ich Recht, wenn ich behaupte, dass die sendrawtransaction
RPC-Methode zuerst eine Transaktion validiert, bevor versucht wird, die Transaktion an das Netzwerk zu senden?
Bearbeiten - Mir ist bewusst, dass die decoderawtransaction
Methode verwendet werden kann, um die Details einer Transaktion manuell/visuell zu bewerten, aber ich möchte 100% sicher sein, dass die Transaktionssignaturen und -parameter korrekt sind, ohne die Transaktion tatsächlich übertragen zu müssen.
Der gesuchte RPC ist testmempoolaccept
. Es prüft, ob eine Rohtransaktion in den lokalen Mempool aufgenommen würde, ohne dies tatsächlich zu tun. Nur Transaktionen, die alle Konsensregeln sowie verschiedene Richtlinienregeln erfüllen, werden in den Mempool aufgenommen.
Bin ich richtig, wenn ich behaupte, dass die
sendrawtransaction
RPC-Methode zuerst eine Transaktion validiert, bevor sie versucht, die Transaktion an das Netzwerk zu senden.
Ja, das Senden ungültiger Transaktionen wäre gleichzeitig schlecht für die Privatsphäre und riskiert, von Ihren Peer-Knoten gesperrt zu werden.
Satire
Satire
testmempoolaccept
? Ich habe sofort in den RPC-Dokumenten nach einervalidaterawtransaction
Methode gesucht, und da es keine gab, habe ich ein cmd + f zum Validieren ausgeführt, was offensichtlich auch nicht geholfen hat. Es scheint intuitiver zu sein, es zu benennenvalidaterawtransaction
/validatetransaction
obwohl ich es schätze,testmempoolaccept
ist es etwas beschreibender.Großwolf
validaterawtransaction
es wäre auch ein intuitiverer Name.Großwolf
testmempoolaccept
auch berücksichtigt wird, ob sich die Ausgabeneingaben im gültigen Utxo-Set befinden. Wenn ja, gibt es eine Möglichkeit, dieses Eincheckentestmempoolaccept
oder einen anderen Befehl ebenfalls auszuschließen? Sie möchten beispielsweise prüfen, ob eine vorab unterzeichnete Transaktion gültig ist, aber die ausgegebenen Eingabegelder noch nicht zugesagt wurden.