Ворклог. Итоги августа
Category: Прогресс разработки
Всем привет! В расширенной версии ворклога мы делимся последними достижениями в разработке Cellframe Network. Август выдался по-настоящему насыщенным, сейчас обо всем расскажем.
Web-разработка
Главное событие этого месяца — запуск сайта магазина Cellframe Shop. Здесь пользователи могут приобрести эксклюзивный мерч Cellframe и оставить предзаказ на аппаратные ноды.
Параллельно наша команда продолжает работу над сайтом моста Cellframe. Мы перевели его на обновленные смарт-контракты, чтобы повысить стабильность и безопасность и наладили совместимость сайта моста с нодой версии 5.3 для стабильной работы кроссчейн-транзакций. Также мы поработали над UX сайта: поведение инпутов теперь более корректное, а обработка адресов кошельков в сети Ethereum улучшена.
Cellframe Dashboard
В этом месяце мы завершили бета-тестирование и выпустили новую версию Cellframe Dashboard (3.0-52). Ключевое обновление — изменилась схема установки Cellframe Dashboard и Cellframe Node. Мы разделили приложения на уровне установщика, теперь они обновляются и устанавливаются по отдельности. В новую сборку также вошло множество других опций:
● Очередь транзакций: раньше при одновременной отправке двух и более транзакций блокчейн отклонял вторую и последующие, пока не обработает первую, теперь из них можно сформировать очередь на отправку
● Упрощенный режим Cellframe DEX: мы добавили еще одну, более простую, панель для операций с токенами. В ней изменился подход к выбору пары токенов и вводу данных. Предыдущая версия панели также доступна для пользователей, поэтому вы сможете выбрать наиболее удобный вариант
● Обновленный механизм обращения Cellframe Dashboard к ноде: это позволило снизить нагрузку на устройство пользователя и повысить производительность приложения
● Вкладка для запуска мастерноды: если прежде для этого требовались навыки работы с командной строкой, сейчас процесс запуска стал гораздо проще и удобнее
● Теперь можно управлять сервисом ноды через вкладку Settings
Помимо этого, мы обновили Web3 API для работы с нодой. Web3 API — это интерфейс, который используется для взаимодействия блокчейн-сети с интернет-пространством, в нашем случае между нодой и дашбордом. Для улучшения работы системы мы добавили новые команды и функции:
● Команда GetQueueHash — дает возможность получать хэш транзакции, используя ID очереди, даже если она уже попала в мемпул. Помогает отслеживать состояния транзакций и выполнять отложенные операции
● Команда RemoveItemQueue — принимает на вход ID очереди и возвращает хеш транзакции, если она уже попала в мемпул
● Функция вывода ошибок при отправке условных транзакций через Web3 API: пользователи смогут быстрее выявлять и устранять проблемы
● Команда StakeLockTake теперь выполняется стабильно
Команда разработчиков Cellframe начала работу по объединению сервиса и GUI в Cellframe Dashboard. Наша цель — создать единую и интуитивно понятную систему управления. После завершения объединения и отладки, мы планируем интегрировать интерфейс управления Cellframe Wallet в Dashboard.
Еще было сделано:
● Мы оптимизировали количество запросов дашборда к ноде. Раньше избыточные обращения снижали ее производительность
● Стабилизировали работу вкладки DEX
Cellframe Node 5.3
В августе мы выпустили долгожданный релиз ноды 5.3. В нее вошло множество важных обновлений, среди которых можно выделить главное:
● Внедрили новые механизмы синхронизации нод: машину состояний синхронизации и эпидемическую рассылку обновлений
● Перешли к кластерной архитектуре, которая является первым шагом для будущей реализации двухуровневого шардинга
● Внедрили механизм автоматического разрешения форков, чтобы стабилизировать работу блокчейн-сети
● Обновили реализацию квантово-безопасного протокола Kyber 512 в DAP SDK
Более подробно про обновления Cellframe Node 5.3 мы расскажем в одной из наших следующих статей.
Мы уже завершили внутренний аудит безопасности Cellframe Node 5.3 и передали код на внешний аудит, чтобы независимые эксперты проверили безопасность системы.
Наша глобальная задача — максимально расширить возможности портирования платформы Cellframe на разные устройства. Мы постоянно работаем над этой задачей и август не стал исключением. В этом месяце мы выпустили специальную noopt-сборку для поддержки устройств без AVX2 (Advanced Vector Extensions).
Еще мы внедрили безопасные итераторы для работы с сериализованными данными. Итераторы — это объекты, которые позволяют последовательно получать элементы коллекции, например, массива или списка, без знания их внутреннего устройства.
Для групп GDB добавили фильтры, которые автоматически удаляют некорректные записи во время расчета хеша актуальной информации. Этот функционал существенно повысил отказоустойчивость и стабильность работы мастернод.
Чтобы предотвратить возможные атаки, связанные с выполнением условных транзакций, мы внедрили проверки безопасности в верификаторы. Эта мера повысила защиту от потенциальных угроз.
Условные транзакции — это одна из особенностей Cellframe Network. Они помогают организовать взаимодействие между заказчиком и исполнителем сервиса и зафиксировать результат в блокчейне. Как следует из названия, в таких транзакциях сразу прописываются условия, которые должны быть выполнены для передачи средств второй стороне. А если говорить на языке блокчейна, то выходом такой транзакции можно воспользоваться только при выполнении определенного условия.
Мы проверили рефакторинг сортировки, которая играет значительную роль в процессе синхронизации ноды — это позволило увеличить скорость ее работы 2,5 раза. Пользователи теперь могут получать актуальную информацию вовремя.
Также мы добавили кроссплатформенный logrotate-механизм, который контролирует размер файла логов. Файлы логов — это записи, которые фиксируются в блокчейне и отслеживают подключения пользователей, подтверждение транзакций, обновления блоков и ошибки. Это важный инструмент для анализа и диагностики работы системы, но со временем эти записи начинают занимать слишком много места на диске, что приводит к заполнению хранилища и снижению производительности системы. Механизм logrotate оптимизирует управление логами и предотвращает переполнение дискового пространства.
Кроме того, мы решили проблему спама логов. Сейчас они содержат только полезную информацию по диагностике и мониторингу. Эффективность технической поддержки также повысилась.
Cellframe Network уже значительно разрослась, поэтому мы внедрили маппинг чейнов в память. Этот подход значительно снижает требования к нодам в блокчейне, сокращает объем необходимой памяти и тем самым улучшает производительность сети.
Плагины Python
Каждый раз, когда мы обновляем или расширяем функционал Cellframe Node, мы вносим соответствующие изменения в PythonSDK, вспомогательный плагин, который упрощает взаимодействие с нодой.
В августе мы оптимизировали работу эмиссионного центра, который отвечает за выпуск токенов в нашей сети, а именно внедрили новый алгоритм консенсуса для мостовых нод.
Помимо этого, мы усовершенствовали механизм обнаружения активных нод, который определяет, какие из них в данный момент готовы принять участие в консенсусе. Обновление повысило скорость и стабильность сети.
Также мы проработали механизмы определения порога консенсуса — установили минимальное количество нод, необходимых для принятия решения об обработке эмиссии.
Вместе с тем продолжается рефакторинг плагина стейкинга:
● Мы оптимизировали и ускорили алгоритм, который рассчитывает награды для всех групп стейкинга
● Обновили парсер истории стейкинга, систематизирующий информацию. Сейчас он лучше справляется с обработкой транзакций стейкинга и анстейкинга. Нам удалось сократить время обработки транзакций и улучшить его производительность
С выходом Cellframe Node 5.3 нам нужно было адаптировать предыдущий плагин стейкинга и его верификаторы для обеспечения совместимости с новой версией.
Наконец, мы настроили конфиги эмиссионного центра для сетей Backbone и KelVPN. В результате этой работы были значительно улучшены механизмы выпуска токенов.
Читайте новости Cellframe в наших социальных сетях. Увидимся в следующем месяце!
Последние записи
-
АМА-сессия с Дмитрием Герасимовым, 29 августа 2024
05 Сен 2024
-
Ворклог. Итоги июля
09 Авг 2024
-
АМА-сессия с Дмитрием Герасимовым, 25 июля 2024
31 Июл 2024
-
АМА-сессия с Дмитрием Герасимовым, 27 июня 2024
10 Июл 2024