Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
on1x
7 лет назад

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

Пришло время программировать сбор данных. Решено было брать блоки методом 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к, но вероятность этого есть. Жду условий для спикеров (потому что к тому моменту есть хорошие шансы уже показать прототип толстого клиента и подготовить выступление для публики).

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

0
0.946 GOLOS
На Golos с May 2017
Комментарии (5)
Сортировать по:
Сначала старые