Мне нужно создать базу данных SQL (предпочтительно SQLite3) для каждой транзакции, которая произошла в блокчейне. Есть ли эффективный способ сделать это с помощью программного обеспечения с открытым исходным кодом? Я пытаюсь сделать это сам, используя сценарий Haskell, который выполняет системные вызовы bitcoind, но у меня возникают проблемы с достаточной скоростью.
Я создал форк blockparser с помощью команды csvdump, которая будет генерировать дамп данных блокчейна в формате CSV. В этом репозитории также есть несколько сценариев поддержки для создания, заполнения и периодического обновления базы данных PostgreSQL.
Имейте в виду, что результирующая база данных довольно велика; вы можете рассмотреть PostgreSQL вместо SQLite для этого.
Возможно, проверьте ABE - альтернативный анализатор блоков. Он использует Python и базу данных на основе SQL, но вы можете подключить другие базы данных на основе драйвера.
Вы всегда можете использовать BlockchainSQL Server для запросов SQL к цепочке биткойнов.
Веб-версия бесплатная, сервер платный.
Отказ от ответственности: я разработчик.
Для переноса в базу данных SQL Server вы можете попробовать BitcoinDatabaseGenerator.
Вы можете скачать его с https://github.com/ladimolnar/BitcoinDatabaseGenerator/releases
Исходники и вики: https://github.com/ladimolnar/BitcoinDatabaseGenerator
Трансфер очень быстрый. На момент написания этой статьи передача 266 файлов блокчейна общим объемом 33 ГБ заняла на моем компьютере для разработки менее одного часа и 30 минут. Конечно, время будет варьироваться в зависимости от оборудования и конфигурации.
Доминик Танкреди
Майк