listsinceblock help
kehrt zurück:
listsinceblock ( "blockhash" target-confirmations )
Get all transactions in blocks since block [blockhash], or all transactions if omitted
Arguments:
1. "blockhash" (string, optional) The block hash to list transactions since
2. target-confirmations: (numeric, optional) The confirmations required, must be 1 or more
Ich schickte eine Münze an meine Brieftasche und ein paar Sekunden später führte ich sie aus listsinceblock 1
. Meine Transaktion wurde gerade gesendet, also hatte sie wie erwartet 0 Bestätigungen. Beachten Sie den target-confirmations
obigen Parameter, der auf jeden Fall größer als 0 sein muss.
Also habe ich für meinen Test ausgeführt bitcoin-cli listsinceblock 0000000008eb5d53efbb39d2cb9f595e5bd567c295936de5c2282bbb8ef46cf0 1
, was zurückgegeben wurde:
{
"transactions" : [
{
"account" : "",
"address" : "mzE6DJMHPghYpVg4GCurMbxSSXBfW1KCFH",
"category" : "receive",
"amount" : 1.00000000,
"confirmations" : 0,
"txid" : "917248d57293a7fd3a88aa3a26026d2e4d6a1d4eef898519b20419f2339c265c",
"walletconflicts" : [
],
"time" : 1399200157,
"timereceived" : 1399200157
}
],
"lastblock" : "0000000004ba22e9f8cea2e843b34f7eeaa2c3b7004ddcf19bfd8af0215fc0cc"
}
Beachten Sie, dass die obige Transaktion 0 Bestätigungen hat, listinceblock jedoch über 1 Bestätigungen hinaus funktionieren soll (was seltsam ist, da ich abfrage listsinceblock
, um neue Transaktionen zu erhalten, die immer unbestätigt sind, nach Gavins Tipp: Woher weiß ich, dass es eine neue Transaktion gibt? ).
Was fehlt mir hier?
Gemäß: https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list
Wir haben,
[target-confirmations] wirkt sich absichtlich nicht auf die Liste der zurückgegebenen Transaktionen aus, sondern nur auf den zurückgegebenen Wert „lastblock“.
Was bedeutet das? Dies bedeutet, dass der lastblock
Eintrag in Ihrem zurückgegebenen Objekt der letzte Block ist, den Sie in der Blockchain sehen können (da es sich um den Block handelt, der derzeit genau 1 Bestätigung hat, wie durch das von Ihnen übergebene Argument angegeben). Der lastblock
Eintrag ist das einzige Feld, das Sie durch Ändern des target-confirmations
Arguments beeinflussen können.
Das bedeutet, dass Sie diese Liste filtern müssen, wenn Sie alle Transaktionen mit mindestens 1 Bestätigung wünschen. Dies wirft die Frage auf, warum das target-confirmations
Argument nicht für diese Filterung verwendet wird.
Dies liegt daran, dass die Funktionsweise der Funktion derzeit einen Anwendungsfall zulässt, in dem Sie ständig listsinceblock
mit dem Wert aufrufen können lastblock
, der bei Ihrem letzten Aufruf zurückgegeben wurde. Auf diese Weise enthält Ihre transactions
Liste Transaktionen, die X oder mehr Bestätigungen auf der Blockchain in genau einem dieser Aufrufe erreichen (wobei X in diesem Fall 1 ist).
cdhowie