Из кода ядра биткоин github.com/bitcoin/bitcoin
вытащить часть отвечающую за синхронизацию, сделать так чтобы в дальнейшем адаптировать. Чтобы этот кусок работал отдельно, без сохранения сети на диск и с апи.
Нам для каких-то личных целей нужно иметь всю историю блокчейна имея удобный доступ к этим данным. Если брать оригинальный bitcoin и использовать его RPC или REST api – это работает долго и не удобно в некоторых случаях. Нет возможности сделать какую-то выборку (по нужным нам параметрам) и т.д.
На данный момент у нас есть приложение, которое берет данные через RPC из клиента bitcoin, их обрабатывает и закидывает в elasticsearch. Но, этот подход нам не совсем нравится, т.к. требует большого количества ресурсов как на bitcoin ноду так и на хранилище эластика.
Мы хотели бы обойти тот путь, а именно не синхронизировать ноду биткоина и потом наполнять elastic, а делать это напрямую.
Всё состояние сети берём и сбрасываем в эластик в активном режиме, больше ничего не надо.
Использование оригинального кода bitcoin на c++