Bitcoin Forum

Local => Anfänger und Hilfe => Topic started by: willi9974 on June 27, 2016, 10:22:58 AM



Title: BTC Status per Command line abfragen
Post by: willi9974 on June 27, 2016, 10:22:58 AM
Hallo zusammen,

ich hab einen BTC Core node am laufen, wie kann ich denn da die Anzahl der Transaktionen und die Balance einer bestimmten Adresse abfragen.

Gruß
Willi


Title: Re: BTC Status per Command line abfragen
Post by: trasla on June 28, 2016, 06:47:41 AM
Schau mal hier zum Beispiel:
https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list


Title: Re: BTC Status per Command line abfragen
Post by: willi9974 on June 28, 2016, 07:52:23 AM
mein Full Node ist noch am synchronisieren. Sobald der live ist, schau ich mal ob und wie ich eine BTC Balance per Skript abfragen kann und wie lange das dauert. Habe meinem Node einen neuen Index verpasst, in dem die Walletaddresse einen Index hat, dann sollte die Suche wesentlich schneller gehen. Bin gespannt



Title: Re: BTC Status per Command line abfragen
Post by: whyte on June 28, 2016, 08:07:12 AM
Hallo zusammen,

ich hab einen BTC Core node am laufen, wie kann ich denn da die Anzahl der Transaktionen und die Balance einer bestimmten Adresse abfragen.

Gruß
Willi

Ich habe das mal getestet, die "Balance einer bestimmten Adresse" geht nur, wenn diese Adresse auch von dem BTC Node gehostet wird.
Du kannst keine fremden Balances abfragen.
Ebenfalls sieht es mit der "Anzahl der Transaktionen" aus, ads geht nur von eigenen Adressen.

Soweit ich weiß, gibt/gab es eine gepatchte Version die Sende- sowie Empfänger Adressen ausgegeben hatte, die hatte ich mal benutzt, um per PHP und MySQL alle Balances zu speichern.
Leider gab es da einige Differenzen mit der Zeit, da manche Adressen versteckt waren usw ...
Aber halt mich/uns mal auf dem Laufenden, das hört sich interessant an.


Title: Re: BTC Status per Command line abfragen
Post by: mezzomix on June 28, 2016, 08:14:47 AM
Der Address Index Patch (https://github.com/btcdrak/bitcoin/tree/addrindex-0.12) ist auf dem aktuellen Stand und funktioniert mit 0.12.1 bei mir ohne Probleme.


Title: Re: BTC Status per Command line abfragen
Post by: minibit on June 28, 2016, 08:17:40 AM
Hallo zusammen,

ich hab einen BTC Core node am laufen, wie kann ich denn da die Anzahl der Transaktionen und die Balance einer bestimmten Adresse abfragen.

Gruß
Willi

Ich habe das mal getestet, die "Balance einer bestimmten Adresse" geht nur, wenn diese Adresse auch von dem BTC Node gehostet wird.
Du kannst keine fremden Balances abfragen.
Ebenfalls sieht es mit der "Anzahl der Transaktionen" aus, ads geht nur von eigenen Adressen.

Soweit ich weiß, gibt/gab es eine gepatchte Version die Sende- sowie Empfänger Adressen ausgegeben hatte, die hatte ich mal benutzt, um per PHP und MySQL alle Balances zu speichern.
Leider gab es da einige Differenzen mit der Zeit, da manche Adressen versteckt waren usw ...
Aber halt mich/uns mal auf dem Laufenden, das hört sich interessant an.

Wenn die Adresse nicht von der eigenen Node kommt, kann die Balance doch z.B. auch über die API von blockchain.info (https://blockchain.info/de/api/blockchain_api) abgefragt werden.

Willi, falls du auf Probleme stösst, helfe ich dir gerne weiter.


Title: Re: BTC Status per Command line abfragen
Post by: willi9974 on June 28, 2016, 08:19:11 AM
danke, aber ich will / muss unbedingt meinen eigenen FullNode abfragen und soweit ich weis geht das auch mit fremden Wallets...


Title: Re: BTC Status per Command line abfragen
Post by: minibit on June 28, 2016, 08:24:34 AM
Der Address Index Patch (https://github.com/btcdrak/bitcoin/tree/addrindex-0.12) ist auf dem aktuellen Stand und funktioniert mit 0.12.1 bei mir ohne Probleme.


Very nice! Danke für's teilen.
@Willi das wird wohl der Weg sein  :)


Title: Re: BTC Status per Command line abfragen
Post by: willi9974 on June 28, 2016, 08:31:11 AM
habe eben bei meinem FullNode also dem Bitcoin QT Wallet im Debugfenster eine Abfrage "getbalance XXXXXXXXXXXXXX" gestartet, aber da kommt immer der Wert 0.000000 BTC zurück

das kann jetzt daran liegen das mein Node noch 20 Wochen zurück liegt oder es gibt wirklich nur gehostete Adressen aus  ???
Na dann heist es abwarten...

Mal schauen wenn ich es nicht im Debugfenster sondern über den Consolen Client abfrage, was der sagt...


Title: Re: BTC Status per Command line abfragen
Post by: willi9974 on June 28, 2016, 08:45:58 AM
klappt leider nicht
Die Abfrage mit dem Client gegen den Core Full Node geht, aber es kommt eine 0.0000 Balance zurück


Code:
C:\Program Files\Bitcoin\Data>bitcoin-cli.exe getbalance 1Q8VghUJkNeFnaKy553b9buUWKxFYL579G
0.00000000

Code:
C:\Program Files\Bitcoin\Data>bitcoin-cli.exe getblockchaininfo
{
  "chain": "main",
  "blocks": 216465,
  "headers": 418332,
  "bestblockhash": "00000000000001d10f172b148abf90cc338589ae9295478d4d549b1e80ff0748",
  "difficulty": 3249549.584487207,
  "mediantime": 1358144928,
  "verificationprogress": 0.0398424477525002,
  "chainwork": "000000000000000000000000000000000000000000000026fdd9f74952fc8bae",
  "pruned": false,
  "softforks": [
    {
      "id": "bip34",
      "version": 2,
      "enforce": {
        "status": false,
        "found": 456,
        "required": 750,
        "window": 1000
      },
      "reject": {
        "status": false,
        "found": 456,
        "required": 950,
        "window": 1000
      }
    },
    {
      "id": "bip66",
      "version": 3,
      "enforce": {
        "status": false,
        "found": 0,
        "required": 750,
        "window": 1000
      },
      "reject": {
        "status": false,
        "found": 0,
        "required": 950,
        "window": 1000
      }
    },
    {
      "id": "bip65",
      "version": 4,
      "enforce": {
        "status": false,
        "found": 0,
        "required": 750,
        "window": 1000
      },
      "reject": {
        "status": false,
        "found": 0,
        "required": 950,
        "window": 1000
      }
    }
  ],
  "bip9_softforks": [
    {
      "id": "csv",
      "status": "defined"
    }
  ]
}

Hat jemand einen Tip wie das doch geht oder liegt es wirklich daran das ich noch 20 Wochen im Synch zurück liege?

Gruß
Willi


Title: Re: BTC Status per Command line abfragen
Post by: minibit on June 28, 2016, 08:58:52 AM
Hast du den Adress-Patch oder bitcoin-abe installiert oder ist das eine eigene Adresse deines Clients?

Ich denke getbalance ist nicht ganz korrekt, da dieser Command einen Account erwartet.

Auszug aus https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list (https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list):

Quote
getbalance [account] [minconf=1]

If [account] is not specified, returns the server's total available balance.
If [account] is specified, returns the balance in the account.  


Evtl. müsste man die Befehle getreceivedbyaddress und/oder listunspent benutzen.

Ich kann dir das erst am Abend austesten, habe keinen Zugriff auf meine Node von hier...


Title: Re: BTC Status per Command line abfragen
Post by: willi9974 on June 28, 2016, 09:04:23 AM
Code:
getreceivedbyaddress	<bitcoinaddress> [minconf=1]	

Returns the amount received by <bitcoinaddress> in transactions with at least [minconf] confirmations.
It correctly handles the case where someone has sent to the address in multiple transactions. Keep in
mind that addresses are only ever used for receiving transactions. Works only for addresses in the
local wallet, external addresses will always show 0.

da liegt aber auch der gleiche Wurm begraben

Works only for addresses in the local wallet, external addresses will always show 0

So ein scheiss, kann man nicht einfach eine X-Beliebige Adresse nach der Balance und ggf. noch den anzahl der Transaktionen abfragen, ich dachte die Blockchain ist transparent und man kann alles sehen, bis zur ersten Transaktion dem Genesis Block  ???

Ich steh auf dem Schlauch...


Title: Re: BTC Status per Command line abfragen
Post by: minibit on June 28, 2016, 09:11:37 AM
Code:
getreceivedbyaddress	<bitcoinaddress> [minconf=1]	

Returns the amount received by <bitcoinaddress> in transactions with at least [minconf] confirmations.
It correctly handles the case where someone has sent to the address in multiple transactions. Keep in
mind that addresses are only ever used for receiving transactions. Works only for addresses in the
local wallet, external addresses will always show 0.

da liegt aber auch der gleiche Wurm begraben

Works only for addresses in the local wallet, external addresses will always show 0

So ein scheiss, kann man nicht einfach eine X-Beliebige Adresse nach der Balance und ggf. noch den anzahl der Transaktionen abfragen, ich dachte die Blockchain ist transparent und man kann alles sehen, bis zur ersten Transaktion dem Genesis Block  ???

Ich steh auf dem Schlauch...

Der normale Bitcoin-Client trackt nur seine eigenen Adressen. Um alle Adressen zu haben, muss die zweite Datenbank her. Der Link von Mezzomix ist so ein Plugin, oder bitcoin-abe (https://github.com/bitcoin-abe/bitcoin-abe (https://github.com/bitcoin-abe/bitcoin-abe)).

Edit: Habe gerade gesehen, dass du ja mit Windows unterwegs bist. Die Plugins sind glaub ich alle für Linux  :(


Title: Re: BTC Status per Command line abfragen
Post by: willi9974 on June 28, 2016, 09:23:41 AM
ok doch schwieriger als gedacht


https://github.com/btcdrak/bitcoin/tree/addrindex-0.12

This fork is Bitcoin Core with an additional feature which allows querying arbitrary addresses.

To use add the following to your bitcoin.conf:
Code:
txindex=1
addrindex=1
First run will require a full reindex of the blockchain. After that, the searchrawtransactions will be available.

Das ist genau das was ich suche und unter Windows gibts wieder nix --> BockmistWindows

Hat jemand eine Idee wie das trotzdem geht, die Windows Binary kann man ja auch kompilieren, braucht dazu aber wieder ein Linux --> Teufelskreis


Title: Re: BTC Status per Command line abfragen
Post by: mezzomix on June 28, 2016, 11:15:27 AM
Bitcoin-Core mit Adress Index Patch gibt es für Windows fertig kompiliert (https://github.com/btcdrak/bitcoin/releases (https://github.com/btcdrak/bitcoin/releases)). Alternativ kann man den Client sicher auch (notfalls mit MinGW) unter Windows kompilieren.


Title: Re: BTC Status per Command line abfragen
Post by: willi9974 on June 28, 2016, 12:19:14 PM
Bin einen Schritt weiter

richtige Core Installiert, dann klappt es auch mit der Nachbarin :)

Code:
C:\Program Files\Bitcoin\Data>bitcoin-cli.exe searchrawtransactions 1Q8VghUJkNeFnaKy553b9buUWKxFYL579G
error code: -1
error message:
Address index not enabled

Jetzt noch einen Reindex fahren dann sollte es klappen


Title: Re: BTC Status per Command line abfragen
Post by: minibit on June 28, 2016, 01:19:12 PM
Bin einen Schritt weiter

richtige Core Installiert, dann klappt es auch mit der Nachbarin :)

Code:
C:\Program Files\Bitcoin\Data>bitcoin-cli.exe searchrawtransactions 1Q8VghUJkNeFnaKy553b9buUWKxFYL579G
error code: -1
error message:
Address index not enabled

Jetzt noch einen Reindex fahren dann sollte es klappen

Freut mich zu hören! Mit dem Plugin von mezzomix?


Title: Re: BTC Status per Command line abfragen
Post by: willi9974 on June 28, 2016, 01:27:28 PM
nein ohne PlugIn, nur den richtigen Core mit Patch installiert.

https://github.com/btcdrak/bitcoin/releases

Wenn der Index durch ist, melde ich mich ob es geklappt hat...

Viele Grüße
Willi


Title: Re: BTC Status per Command line abfragen
Post by: mezzomix on June 28, 2016, 02:29:18 PM
Freut mich zu hören! Mit dem Plugin von mezzomix?

Es gibt kein Plugin. Der Address Index Patch wird von btcdrak auf github gepflegt. Entweder man übersetzt den Code mit Patch selbst oder man nimmt (sofern man btcdrak vertraut) einen bereits übersetzten Client.

Schade übrigens, dass der UTXO/Mempool Address Index Patch nicht mehr gepflegt wird. Für einige Anwendungen wäre der völlig ausreichend und vor allem zusammen mit Pruning nutzbar.


Title: Re: BTC Status per Command line abfragen
Post by: willi9974 on June 30, 2016, 05:56:18 AM
Mein Node lebt noch, ist aber immer noch am synchronisieren --> bin gerade bei Block 359433

Code:
C:\Program Files\Bitcoin\daemon>bitcoin-cli.exe getinfo
{
  "version": 120100,
  "protocolversion": 70012,
  "walletversion": 60000,
  "balance": 0.00000000,
  "blocks": 359433,
  "timeoffset": 0,
  "connections": 8,
  "proxy": "",
  "difficulty": 47589591153.62501,
  "testnet": false,
  "keypoololdest": 1467121818,
  "keypoolsize": 101,
  "paytxfee": 0.00000000,
  "relayfee": 0.00001000,
  "errors": ""
}


Title: Re: BTC Status per Command line abfragen
Post by: whyte on June 30, 2016, 07:00:38 AM
Ich hab mich mal hinten angehängt und mache das auch
https://bitnodes.21.co/nodes/81.7.3.239-8333/

Ich kann auch Salden schon abfragen ... bzw eher die kompletten Trasnaktionen einer Adresse.
Nachteil, er sucht eine Zeit und bei vielen Transaktionen ist die Ausgabe auch entsprechend lange.


Title: Re: BTC Status per Command line abfragen
Post by: trasla on June 30, 2016, 10:31:53 AM
Könnte ggf ein einfacher workaround sein, diese Adresse halt vorher zu importieren? Kommt drauf an, was so die timing Vorgaben sind, und ob dein Skript habt viele verschiedene, ständig neue Adressen checkt, oder ob es immer die gleichen sind bzw diese halt gelegentlich dazu kommen (wenn sie generiert werden) und dann später gecheckt werden...


Title: Re: BTC Status per Command line abfragen
Post by: willi9974 on July 04, 2016, 07:47:44 PM
Also gegen den eigenen Full Node zu checken ist praktisch nicht machbar, zumindest nicht mit dem Index Patch, da gibt er dir alles aus, ja, aber das dauert eine Ewigkeit und zieht keine Summe drunter, also die Balance und es sind nur die einzelnen Transaktionen die er ausgibt

Timing wäre sagen wir max 0,5 - 1 Sekunde pro Abfrage und es sind immer neue Andressen, die in ein Wallet zu importieren und dann den Full Node abfragen --> nicht realisierbar.


Title: Re: BTC Status per Command line abfragen
Post by: trasla on July 04, 2016, 08:41:37 PM
Vielleicht sowas wie insight von bitstamp auf dem eigenen Server installieren und Krams dagegen checken?


Title: Re: BTC Status per Command line abfragen
Post by: willi9974 on July 04, 2016, 08:44:17 PM
Hast Du da mehr Infos drüber?
Klingt interessant


Title: Re: BTC Status per Command line abfragen
Post by: trasla on July 05, 2016, 01:52:20 AM
https://insight.is/