Пришло время программировать сбор данных. Решено было брать блоки методом 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к, но вероятность этого есть. Жду условий для спикеров (потому что к тому моменту есть хорошие шансы уже показать прототип толстого клиента и подготовить выступление для публики).
Предыдущий пост из серии: Как понять - является определенный сайт Толстым или Тонким клиентом.
@on1x, отличные материалы, подпишусь. А что думаете про бумажные битки? https://golos.id/ru--bitkoin/@bospo/prokak-bitcoin-budet-vyglyadet-na-bumage
Спасибо, взаимно. Отвечу в посте.
эх, страшный пусть выбрали вы=)
вы снепшот будите делать, или хранить историю?
Нам бы познакомиться получше. 80% времени на Голосе с вами общаюсь :D Я в Телеграмме: https://t.me/AsWeAre
Хранить историю я не буду, но воссоздать конечный слепок по операциям в блокчейне попытаюсь. Это будет быстрее в разы, чем мониторить обновление и обновлять ВЕСЬ контент дополнительным запросом. Надо экономить на операциях. Меня напрягает, что контент записан как юникод, а в udiff правках кириллица записана как %20%67 ASCII мнемоники.
Ваш пост поддержали следующие Инвесторы Сообщества "Добрый кит":
damm, natasmr, svinsent, on1x, prost, alternativamira
Поэтому я тоже проголосовал за него!
Если Вы проголосуете за этот комментарий, то поможете сделать "Доброго Кита" сильнее!