Толстый клиент: выкачивание блокчейна

Пришло время программировать сбор данных. Решено было брать блоки методом get_block (кстати, сейчас последний блок 7095867). Начинать с первого и продвигаться все дальше и дальше.

Настроен cron, скрипт работает автоматически, берет блок, заносит его в базу, смотрит транзакции и заносит их в отдельную таблицу. Не совсем понятно, зачем в транзакции поле operations описано как массив. Я собрал уже 10 000 блоков, и нигде не было, чтобы в 1 транзакции было 2 операции. Всегда размерность равна 1 операции.

Сколько же времени уйдет, чтобы через API получить все блоки, и содержащиеся в них транзакции? Замерив скорость я получил сбор ~1000 блоков за 1 минуту.

7095867/1000=7095.9 минут, это 118,3 часов или 4,9 дня. Отлично, 5 дней сбора данных и все блоки будут у меня в Базе Данных. Только вот в сыром виде. Необходимо написать анализатор транзакций, составить список операций в них, разбить на категории (нужные/не нужные) и каждую операцию направить в свою таблицу.

И это необходимо сделать быстро. Места на винте не так много свободного (пока разработку веду на сервере, где полно других проектов), а как было понятно по размеру блокчейна Голоса и Stemmit становится очевидным - служебную информацию нет никакого смысла хранить. Главное - восстановить переводы, upvote, посты и комментарии и все важное распихать по таблицам.

Если вам интересно следить за моей работой - голосуйте и подписывайтесь, я всегда рад комментариям и советам. Пока не ясно, поеду ли на #яИдуНаГОЛОСфест, как никак поездка + конференция обойдется в ~25к, но вероятность этого есть. Жду условий для спикеров (потому что к тому моменту есть хорошие шансы уже показать прототип толстого клиента и подготовить выступление для публики).

Предыдущий пост из серии: Как понять - является определенный сайт Толстым или Тонким клиентом.

голосgolosпрограммированиеобсуждениеяидунаголосфест
25%
0
19
1.655 GOLOS
0
В избранное
Анатолий Пискунов
web-developer
19
0

Зарегистрируйтесь, чтобы проголосовать за пост или написать комментарий

Авторы получают вознаграждение, когда пользователи голосуют за их посты. Голосующие читатели также получают вознаграждение за свои голоса.

Зарегистрироваться
Комментарии (5)
Сортировать по:
Сначала старые