Обновить

Комментарии 4

фигасе, платный твитер на блокчейне!

единое что - а где тыкать? ссылок одновременно много, но при этом они хаотически раскиданы по тексту (и сам текс немного сумбурный, явно не нейронка). Хотя б в конце статьи сделайте нормально ссылку

добавил ссылку на "платный твиттер" в конце статьи. все остальные ссылки пока затер, но теперь выглядит как полотно текста... некоторым может быть интересно походить по ссылкам, посмотреть инфу...

Технические детали пропустил все, потому что не понял главного - кто и как потом видит все эти комменты? Видимо, автору это настолько понятно и очевидно, что он даже не коснулся этой темы. Ну никак не хотят авторы писать статьи для других людей, а не для себя.

В блокчейне (в частности, в сети Ethereum) развернута сеть смарт контрактов. Данные могут храниться внутри смартов в их storage (типа базы данных), а так же могут храниться как "логи" самой сети - внутри смарта это называется event. Данные внутри смарта можно редактировать, логи - нет. Код смарта удалить нельзя (ранее для этого была функция selfdestruct(), но с 2024го она deprecated, и уже не удаляет** код).

Собственно, текущие комменты хранятся именно как события/логи, привязанные к определенному адресу смарта, плюс в каждом логе есть от 0 до 3 "индексируемых" полей, по которым может идти дополнительная фильтрация данных. Чтобы получить комменты, читаются логи для смарта через метамаск (или другой провайдер) по блокам. Такое чтение, говорят, быстрое, за раз можно прочитать что-то порядка 10-50 тысяч блоков, что грубо примерно 1 неделя всех логов всей сети (при условии, что 1 блок создается в 12 секунд).

Чтобы не читать все логи со времени создания смарта, внутри смарта хранятся номера блоков, в которых были оставлены комменты. Фронт тянет из смарта список номеров блоков и некоторые другие данные для фильтрации событий, группирует номера блоков так, чтобы 1 запрос включал до 50 тыс блоков, и выполняет эти запросы на чтение логов (при чтении логов указываются блоки с-по). Потом прочитанные логи фильтруются на фронте и уже преобразуются в список комментов.

Да, "злоумышленник" может затереть данные в смарте - сохраненные в смарте номера блоков - но это всего лишь чуть притормозит чтение с фронта, потому что смарт никуда не делся, как и его логи. Но да, при таком развитии событий придется читать все логи смарта, без фильтрации по блокам.

Так лучше?))

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

Публикации