Wie bekomme ich nicht ausgegebene Münzen für eine bestimmte Bitcoin-Adresse?

Ich möchte auf nicht ausgegebene Daten einer bestimmten Bitcoin-Adresse zugreifen.

Ich versuche diesen Befehl

bitcoin-cli -regtest listunspent "einige Bitcoin-Adresse"

Aber ich bekomme immer eine leere Liste. Ich verwende den lokalen Bitcoin-Server unter Windows 7.

Was soll ich tun oder eine Funktion verwenden, um die gewünschte Ausgabe zu erhalten?

Antworten (7)

listunspentzeigt nur Informationen zu Adressen an, die derzeit Teil Ihres Wallets sind. Bitcoin Core verwaltet keine Indizes für nicht ausgegebene Ausgaben für Adressen, die Sie nicht besitzen, und gibt einfach einen leeren Satz zurück, wenn Sie versuchen, danach zu fragen.

Hilft txindex=1das in irgendeiner Weise listunspent?

Wie hier erwähnt , können Sie zuerst die Adressen eines Kontos mit abrufen getaddressesbyaccountund dann alle nicht ausgegebenen dieser Adressen mit auflisten

bitcoin-cli listunspent 6 9999999 "[\"1PGFqEzfmQch1gKD3ra4k18PNj3tTUUSqg\",\"1LtvqCaApEdUGFkpKMM4MstjcaL4dKg8SP\"]"  

wobei 6 und 9999999 die minund maxBestätigungen sind

OP fragt nach beliebigen Adressen, nicht nur nach denen in seiner Brieftasche.
oh .. mein Fehler :) Ich hoffe, das könnte Leuten helfen, die versuchen, von den Wallet-Adressen nicht ausgegeben zu werden.

Um die Liste einer bestimmten Bitcoin-Adresse (die nicht zu Ihrer Brieftasche gehört) nicht ausgegeben zu bekommen, müssen Sie zuerst die Adresse mit importaddress in die Brieftasche importieren. Dieser RPC erfordert nicht den privaten Schlüssel dieser Adresse. Beachten Sie, dass dies dazu führt, dass das Programm die gesamte Blockchain erneut scannt, was einige Minuten dauern wird.

Jetzt können Sie den listunspent-Aufruf verwenden, um den UTXO zu erhalten.

Bearbeiten: Rescan verwenden: true, wenn Sie bereits vorhandene Adressen importieren

Ich habe das versucht, aber es hat nicht funktioniert. Ich erhalte ein leeres Ergebnisarray, wenn ich den RPC-Aufruf listunspent ausführe
Hast du die Adresse importiert?
Ja, habe ich. Was passiert ist, wenn ich eine E-Adresse importiere, bekomme ich diese { result: null, error: null, id: 'd542c95d-ad8f-4a8e-b92f-6a69fa051e9d' } Antwort{ result: [], error: null, id: '460bdaa4-5209-4dc8-ba76-582e3e0cc0e4' }
Hallo @JosephAkayesi, die Antwort ist völlig in Ordnung. Sie sollten die Option zum erneuten Scannen aktivieren, wenn die Adresse bereits einige nicht ausgegebene Daten enthält. zB:bitcoin-cli importaddress "myaddress" "testing" true. Sie können hier verweisen: bitcoin.org/en/developer-reference#importaddress
Wow. Ich habe gelesen, dass ein erneuter Scan ewig dauern kann. Für meinen Anwendungsfall muss ich in der Lage sein, nicht verbrauchte Werte in weniger als mindestens 10 Sekunden zu lesen
Auch nach der Verwendung der Rescan-Option erhalte ich immer noch das gleiche Ergebnis. Haben Sie eine Idee, wo ich die bitcoin.conf finden kann, die ideal für eine Bitcoin-Austauschanwendung ist?

Angenommen, die Adressen befinden sich in Ihrer Brieftasche, suchen Sie nach listreceivedbyaddress. Das gibt dir das zurück:

Gibt ein Array von Objekten zurück, das Folgendes enthält:

  • "Adresse": Empfangsadresse
  • "Konto": das Konto der Empfangsadresse
  • "Betrag" : Gesamtbetrag, der von der Adresse erhalten wurde
  • "Bestätigungen" : Anzahl der Bestätigungen der letzten enthaltenen Transaktion
  • „txids“ : eine Liste von Transaktions-IDs, an die Sie übergeben können, gettransactionum die vollständige Transaktion anzuzeigen.

(Quelle.)

Ja, aber wenn ich eine Adresse nicht ausgegeben haben möchte, die nicht Teil meiner Brieftasche ist? als welche Funktion sollte ich verwenden? @nick
@HassanMehmood Existiert nicht. Verwenden Sie stattdessen bitcoin-abe oder electrum server oder blockchain.info.
Hey, aus Antworten habe ich eine meiner Multisig-Hinzufügungen mit diesem Befehl "addmultisigaddress" hinzugefügt. und einige Satoshis an diese Adresse geschickt. aber ich bekomme immer noch eine leere Liste, nachdem ich :listunspent" aufgerufen habe ???
@HassanMehmood Sie müssen mit Rescan erneut ausführen. bitcoin.stackexchange.com/questions/22199/…
Ich habe mit Rescan erneut ausgeführt, bekomme aber immer noch eine leere Liste. @Nick
@HassanMehmood Gibt es unter dieser Adresse nicht ausgegebene Daten? Ist der erneute Scan abgeschlossen?
Yup, es gibt einige Unverbrauchte, Dies ist die Adresse "31zeoskE8zeyQARFEVzwJzsp7GQpLn5zhF" und ich habe den Server mit bitcoind.exe -daemon -rescan -debugnet -printtoconsole gestartet
Und ja, ich denke, der Rescan ist fertig!
aber immer noch leere Liste. :/
Jetzt habe ich etwas BTC an eine der anderen Adressen gesendet, die mir angezeigt werden, während ich den Befehl "getaddressesbyaccount" ausführe. und danach führe ich das cmd "listunspent 0" aus, damit es diese Transaktion anzeigt. Aber danach sende ich wieder etwas BTC an meine Mulisig-Adresse, die ich mit addmultisigadress cmd hinzugefügt habe. Aber listunspent zeigt keine nicht ausgegebenen Daten im Zusammenhang mit Multisig an? Wieso den ?
addmultisigaddress reicht nicht aus, um die Wallet dazu zu bringen, die Adresse als ihre eigene zu behandeln; Sie müssen auch alle privaten Schlüssel haben. Wenn Sie eine Adresse unabhängig von Schlüsseln als Ihre behandeln möchten, verwenden Sie importaddress.

Nicht ausgegebene Daten erscheinen in der Liste der nicht ausgegebenen Daten erst nach SECHS Bestätigungen.

Versuchen Sie diesen Befehl,

bitcoin-cli -regtest listunspent "some bitcoin address" 0

Es werden alle nicht ausgegebenen Transaktionen angezeigt.

Ich führe den gleichen Befehl aus, bekomme aber als Antwort eine leere Liste. Ich habe zuerst eine Multisig-Adresse mit dem Befehl "adultisigaddress" generiert und hinzugefügt und listunspent aufgerufen. Aber als Ergebnis bekomme ich immer eine leere Liste, obwohl ich einige Satoshis 2 Mal an diese Adresse geschickt habe

Andere Optionen, die über das hinausgehen, was Nick erwähnt hat, sind die Verwendung der toshi.io-API:

toshi.io - API - utxos für Adresse

Oder führen Sie Ihren eigenen Toshi-Knoten aus:

toshi.io

chain.com ist auch sehr gut und einfach zu bedienen! aber ich habe versucht, keine APIs von Drittanbietern zu verwenden.
@HassanMehmood Wenn Sie den Toshi-Knoten auch nicht lokal ausführen möchten (er verbraucht weit über 200 GB Speicherplatz), können Sie den Bitcoin-Kern mit aktiviertem txindex ausführen. Sie müssten dann die Blockchain parsen und selbst eine Datenbank von utxo aufbauen und pflegen. Wie andere angemerkt haben, wenn Sie nur ein Bitcoin-Cli-Argument dafür wollen, existiert es nicht.

Ich habe ein Programm geschrieben, mit dem Sie in Python3 nach jeder Adresse suchen können, unabhängig davon, ob sie zu Ihrer Brieftasche gehört oder nicht.

Hier ist der Github-Link:

https://github.com/ORP967/Bitcoin_Core_RPC_par_address

Lassen Sie mich wissen, ob Sie irgendwelche Verbesserungen haben, die daran vorgenommen werden können.