
Комментарии 4
фигасе, платный твитер на блокчейне!
единое что - а где тыкать? ссылок одновременно много, но при этом они хаотически раскиданы по тексту (и сам текс немного сумбурный, явно не нейронка). Хотя б в конце статьи сделайте нормально ссылку
Технические детали пропустил все, потому что не понял главного - кто и как потом видит все эти комменты? Видимо, автору это настолько понятно и очевидно, что он даже не коснулся этой темы. Ну никак не хотят авторы писать статьи для других людей, а не для себя.
В блокчейне (в частности, в сети Ethereum) развернута сеть смарт контрактов. Данные могут храниться внутри смартов в их storage (типа базы данных), а так же могут храниться как "логи" самой сети - внутри смарта это называется event. Данные внутри смарта можно редактировать, логи - нет. Код смарта удалить нельзя (ранее для этого была функция selfdestruct(), но с 2024го она deprecated, и уже не удаляет** код).
Собственно, текущие комменты хранятся именно как события/логи, привязанные к определенному адресу смарта, плюс в каждом логе есть от 0 до 3 "индексируемых" полей, по которым может идти дополнительная фильтрация данных. Чтобы получить комменты, читаются логи для смарта через метамаск (или другой провайдер) по блокам. Такое чтение, говорят, быстрое, за раз можно прочитать что-то порядка 10-50 тысяч блоков, что грубо примерно 1 неделя всех логов всей сети (при условии, что 1 блок создается в 12 секунд).
Чтобы не читать все логи со времени создания смарта, внутри смарта хранятся номера блоков, в которых были оставлены комменты. Фронт тянет из смарта список номеров блоков и некоторые другие данные для фильтрации событий, группирует номера блоков так, чтобы 1 запрос включал до 50 тыс блоков, и выполняет эти запросы на чтение логов (при чтении логов указываются блоки с-по). Потом прочитанные логи фильтруются на фронте и уже преобразуются в список комментов.
Да, "злоумышленник" может затереть данные в смарте - сохраненные в смарте номера блоков - но это всего лишь чуть притормозит чтение с фронта, потому что смарт никуда не делся, как и его логи. Но да, при таком развитии событий придется читать все логи смарта, без фильтрации по блокам.
Так лучше?))
Архитектурные изыски моего solidity pet-проекта, который принес $100k+ до релиза