Как перевести оценку комиссии Bitcoin Core в sat/vB
Если виджет комиссии читает estimatesmartfee напрямую, ему нужно перевести единицы, учесть фактическую цель в блоках и обработать отсутствие оценки. Разберём эти три случая на одном запросе.
Запросите оценку на шесть блоков
bitcoin-cli estimatesmartfee 6 economical
Bitcoin Core 30 возвращает feerate в BTC на 1000 виртуальных байт. Например, 0,00002500 BTC/kvB — это 2500 сатоши на 1000 vB, или 2,5 sat/vB. Для вывода в sat/vB умножьте ответ на 100 000. Сохраняйте дробную часть до окончательного расчёта или округления для интерфейса.
При такой условной ставке комиссия транзакции объёмом 140 vB составит 350 сатоши. При другом виртуальном размере изменится и сумма, даже если ставка останется прежней. Если показываете сумму до подписания, используйте оценку виртуального размера конкретной транзакции.
Обработайте неполный ответ
Читайте blocks вместе с feerate: нода может скорректировать целевое число блоков с учётом накопленных наблюдений. При нехватке истории в ответе бывает errors без feerate. Покажите, что оценка пока недоступна, и сохраните диагностику для оператора. Подстановка нуля превратит отсутствие данных в правдоподобную ставку.
Сохраняйте вместе с оценкой выбранный режим. Режим conservative использует более длинную историю, поэтому два виджета на одной ноде могут получить разные оценки. Время включения в блок остаётся вероятностным.