Я работаю над приложением Bitcoin, который разговаривает с Bitcoin Core. Он использует RPC команду, чтобы запросить информацию о том, каких Bitcoin адреса из HD семени UTXOs находятся на них. Я думаю о том, чтобы этом бумажнике работы синхронизации с обрезанным узлом.
Учитывая HD семян, один способ синхронизировать бумажник будет импортировать много часов только адреса в Bitcoin Ядра, а затем перезапустить его с -rescan. Для этого потребуется отброшенный узел перезакачает весь blockchain снова [возможно, несколько раз (!), Если я не импортировать достаточно смотреть только адреса], а затем использовать listunspent RPC.
Так что я имею в виду, чтобы запросить набор UTXO. Я бы не получить информацию об истории транзакций, но это нормально для этих целей. Мне нужен способ, чтобы перейти от адреса UXTOs.
1) Один из способов было бы просто использовать RPC вызовы getbestblockhash, getblock и gettxout пошагово все выходы во всей blockchain, проверяя, если наши адреса соответствует ни одному из них.
2) Второй способ будет писать новые вызовы RPC, которые позволяют заброс UXTO набора базы данных с нумерацией страниц в виде listtransaction, а затем проверить, если наш матч адреса.
3) Третий способ будет открыть файл базы данных UTXO BerkeleyDB (это может быть сделано в то время как Bitcoin Ядро работает?), А затем проверьте, совпадают наши адреса.
Другая проблема заключается в том, что в настоящее время обрезка отключает Bitcoin ядро бумажника так -walletnotify вероятно, не будет работать. Это не должно быть проблемой, как я мог бы просто опрашивать getrawmempool и использовать -blocknotify вместо этого.
Мысли? Какой самый лучший способ продолжить?