Как найти utxo?
Я мог бы подумать об этом, но я пытаюсь найти лучший способ построить неизрасходованный выходной пул. Должен ли я просто наивно разбирать каждый блок? Каждый вход удаляется из набора хэшей, и каждый выход добавляется обратно? Кажется ужасно неэффективным. Дело в том, что не все равно точно построить этот пул utxo, не пройдя по цепочке блоков хотя бы один раз и конструируя его. Должен ли я быть осведомлен о четко сформулированном сокращении? Указатели приветствуются.
Я предполагаю, что сначала могу выполнить итерацию по блокам на диске, а затем обновить их, когда появятся блоки.
4 ответа
Существует уже пул с информацией, которую вы готовы построить: the UTXO set
. Вы можете получить к нему доступ, запросив LevelDB, расположенный в .bitcoin/chainstate
полного узла.
Однако, нет простого способа сделать это с помощью команд RPC, вы должны извлечь информацию самостоятельно.
Я могу предоставить способ сделать это, если вам нужно, и подробное объяснение того, что вы найдете в каждой записи LevelDB.
Нет простого способа получить то, что вы хотите, кроме того, как вы пытаетесь описать.
RPC не поддерживал какую-либо команду того, что вы хотите.
Если вам нужны UTXO, вы должны разобрать каждый двоичный файл *.dat
последовательно из первого и сохранить каждый вывод для проверки расходов будущее.
Вы можете напрямую установить UTXO из биткойна, используя вызов listunspent
RPC.
Следующие действия работали для меня в командном окне Bash:
curl https://blockchain.info/unspent?active=place_bitcoin_address_here