Как проверить выдачу компактного фильтра блока Bitcoin
Серверу для лёгкого клиента нужны данные компактного фильтра и его заголовок для конкретного блока. Обычный запрос блока не проверяет работу этого индекса.
Получите basic-фильтр по хешу блока
Используйте ноду с включённым и синхронизированным для нужной высоты индексом basic-фильтров. Пример берёт текущую вершину и переводит длину возвращённой шестнадцатеричной строки в байты.
hash=$(bitcoin-cli getbestblockhash)
bitcoin-cli getblockfilter "$hash" basic | jq '{filter_bytes: (.filter | length / 2), header}'
Сохраните привязку к блоку
Сохраните хеш запрошенного блока вместе с заголовком фильтра. Этот заголовок относится к цепочке фильтров и отличается по смыслу от заголовка Bitcoin-блока. Если блок доступен, а фильтр нет, проверьте состояние индекса через getindexinfo. Получение фильтра само по себе не подтверждает платёж в кошелёк.
bitcoincore.org getblockfilter · bitcoincore.org getindexinfo