Update auf 0.17.0 brach mehrere RPC-API-Aufrufe, die unter 0.16.3 funktionierten, wie kann ich meinen Code korrekt migrieren?

Nach dem Update von Bitcoin Core 0.16.3 auf 0.17 habe ich festgestellt, dass mehrere RPC-Aufrufe jetzt defekt sind, und ich bin mir nicht sicher, wie ich meinen Code (PHP) migrieren/aktualisieren soll.

Was bisher kaputt gegangen ist:

  • getbalance: Erkennt keinen unbestätigten Kontostand, dieser Befehl zeigt nur bestätigten Kontostand an, wo früher (und sollte) bestätigter + unbestätigter Kontostand angezeigt werden. Funktioniert voraussichtlich wie in 0.16.3.

    $btc->getbalance("*", 0);
    
  • listunspent: erkennt keine unbestätigten Eingaben, zeigt nichts an und gibt den Fehler "Ungültiger Betrag" zurück. Funktioniert voraussichtlich wie in 0.16.3.

    $btc->listunspent(0, 9999999, array(), true, array("minimumAmount" => 0.00005));
    

Ich werde der Liste weitere hinzufügen, sobald sie entdeckt werden. Es gibt keine Erwähnung dieser Probleme online, im Änderungsprotokoll von 0.17 oder sonst wo, die ich finden könnte.

Ich habe bereits einige andere PHP-Codes aktualisiert, die validateaddressveraltete Aufrufe und ein paar mehr verwendeten, wahrscheinlich fehlt hier noch etwas Bearbeitung.

Wie kann die erwartete Funktionalität wiederhergestellt werden? Danke.

Antworten (1)

Das erste Problem mit getbalanceist ein bekanntes Problem, das in der nächsten Version behoben wird. Sie können den Pull-Request dafür hier sehen: https://github.com/bitcoin/bitcoin/pull/14602

Letzteres kann ich jedoch nicht nachvollziehen. Meines Wissens listunspentwurde es in Version 0.17 nicht geändert und es scheint wie erwartet zu funktionieren, wenn ich es auf der Befehlszeile teste. Hat es vorher funktioniert? Vielleicht verursacht PHP das Problem, könnten Sie versuchen, die Zahl stattdessen als Zeichenfolge einzuschließen, nur um es zu testen?"minimumAmount" => "0.00005"

Erwähnen Sie vielleicht, dass dies mit umgangen werden kann getunconfirmedbalance.