обновление до 0.17.0 сломало несколько вызовов API rpc, которые работали в 0.16.3, как правильно перенести мой код?

После обновления ядра Bitcoin с версии 0.16.3 до версии 0.17 я обнаружил, что несколько вызовов RPC не работают, и я не знаю, как перенести/обновить свой код (PHP).

На данный момент сломано:

  • getbalance: не обнаруживает неподтвержденный баланс, эта команда показывает только подтвержденный баланс там, где она раньше (и должна) показывать подтвержденный+неподтвержденный баланс. Ожидается, что он будет работать как в 0.16.3.

    $btc->getbalance("*", 0);
    
  • listunspent: не обнаруживает неподтвержденные входы, ничего не показывает и возвращает ошибку с указанием «Неверная сумма». Ожидается, что он будет работать как в 0.16.3.

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

Я добавлю больше в список, как только они будут обнаружены. Нет упоминаний об этих проблемах в Интернете, в журнале изменений 0.17 или где-либо еще, что я мог найти.

Уже обновлен некоторый другой php-код, в котором использовался validateaddressустаревший вызов, и еще несколько, возможно, здесь все еще отсутствует редактирование.

Как восстановить функциональность, как ожидалось? Спасибо.

Ответы (1)

Первая проблема с getbalance, является известной проблемой, которая будет исправлена ​​в следующем выпуске. Вы можете увидеть пул-реквест для него здесь: https://github.com/bitcoin/bitcoin/pull/14602.

Последнее, однако, я не могу воспроизвести. Насколько мне известно, listunspentон не был изменен в версии 0.17, и, похоже, он работает так, как ожидалось, когда я тестирую его в командной строке. Раньше работало? Возможно, проблема связана с PHP, не могли бы вы попробовать заключить число в виде строки, а не просто для проверки?"minimumAmount" => "0.00005"

Возможно, упомянуть, что это можно обойти с помощью getunconfirmedbalance.