Ворклог. Итоги июля

Ворклог. Итоги июля

Category: Development Report

Title image, read title

Всем привет!

Мы возвращаемся с традиционным дайджестом новостей от команды Cellframe. Пришло время рассказать о прогрессе разработки и важных обновлениях. Приятного чтения!

Web-разработка

В июле мы активно работали над сайтом голосования Cellframe. С его помощью пользователи смогут создавать собственные голосования и влиять на определенные параметры экосистемы в удобном формате. Проголосовать сможет каждый владелец нативных токенов CF-20, но вес его голоса будет пропорционален количеству токенов на балансе в момент участия. Мы уже протестировали функционал сайта в сети Raiden и добавили окно с выбором всех голосований. В процессе тестирования также внимание было уделено UX сайта, благодаря чему были дополнены требования, например, мы подготовили текст, который отражает порядок голосования и будет динамически меняться в зависимости от характеристик голосования.

Кроме того, мы продолжаем работу над редизайном сайта Cellframe Explorer, который отображает все операции в сети Cellframe. Для лучшего восприятия на главной странице реализован график, который будет отражать статистику транзакций.

Из небольших доработок — на сайте стейкинга Cellframe появилась ​​кнопка для быстрого доступа к началу списка стейков. Теперь, если у пользователя много разных стейков, то ему не придется прокручивать вверх вручную.

Cellframe Dashboard

В июле мы изменили схему установки и обновления Cellframe Dashboard и Cellframe Node. Раньше эти два продукта сильно зависели друг от друга. Так, например, чтобы обновить и выпустить Cellframe Dashboard, нужно было провести тесты сборки ноды, обновить ноду в составе приложения, затем провести тесты еще раз и только после этого выпускать релиз Дашборда. Теперь же мы разделили процессы, и между приложениями больше нет жесткой связки. Таким образом, все обновления в ноде теперь могут быть доступны пользователям раньше, вне зависимости от обновлений Дашборда. Также мы разработали механизм, при котором новая версия Дашборда сама находит нужную ноду и предлагает её к скачиванию.

Еще в Cellframe Dashboard появился компонент для отображения статуса инициализации ноды. Мы добавили алгоритм обработки прогресса, полученного через notify рассылку, который обеспечит более точное и своевременное обновление информации по загрузке ноды для пользователей.

И, наконец, мы завершили разработку вкладки для запуска мастерноды через Дашборд и сейчас активно занимаемся ее отладкой. Сейчас для установки мастерноды требуются навыки работы с командной строкой — такой опыт есть далеко не у всех наших пользователей. Мы разработали функционал, который сделает процесс запуска проще и удобнее. Что было сделано за последнее время:

● Проработали алгоритм запуска мастерноды

● Сделали степпер для переключения этапов запуска мастерноды

● Добавили панель с историей транзакций по кошельку мастерноды

● Реализовали новую модель отображения и фильтрации ордеров

Cellframe Node

Мы всегда стремимся сделать процесс взаимодействия пользователей с сервисом ноды более понятным и доступным. Недавно у нас появилось трей-приложение, которое упрощает управление нодой.

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

За июль в релиз-кандидате мы наладили работу с файлами чейна. Раньше, при использовании map-указателя — специального типа данных, который хранит пары «ключ-значение», — возникали ошибки, но теперь сбоев и потерь данных будет значительно меньше.

Доработали механизм автоматического разрешения форков — механизма, который необходим для стабильной работы блокчейна. Мы устранили проблему, из-за которой нода «падала» при удалении транзакции во время разрешения форков.

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

Еще мы ускорили обработку хеш-таблиц, что увеличило скорость загрузки ноды минимум в 10 раз и положительно сказалось на всех аспектах ее работы.

Существенные изменения коснулись и http-клиента. Теперь система быстрее отвечает на запросы, а работа с нодой происходит в рамках одного соединения, без необходимости постоянного переподключения. Это упрощает взаимодействие с нодой и повышает общую производительность.

Плагины Python

Cellframe Node и SDK пишутся на чистом С, который обеспечивает высокую производительность и портируемость, но из-за специфики этого языка некоторые действия на нем выполняются дольше и сложнее. Поэтому мы создаем вспомогательный Python SDK, который сделает нашу технологию более доступной для разработчиков. Наша цель — создать обертки и плагины на Python для всего функционала Cellframe Node.

Версия ноды 5.3 значительно отличается от текущей, нам пришлось переделать под неё и плагины Python. Фактически нам потребовалась переработка всех инфраструктурных плагинов. Эмиссионный центр и мост уже подготовлены, а сейчас мы работаем над рефакторингом плагина стейкинга.

За июль мы переосмыслили математическую модель управления стейкингом. С точки зрения пользователя всё останется как прежде, в разработке же произошли значительные изменения. Мы улучшили внутреннюю структуру кода без изменения его видимой части, что повысило скорость работы. А еще доработали систему начисления наград и подготовили её к тестированию.

Также мы дорабатывали функционал конфигуратора ноды — специального инструмента для настройки параметров ноды на различных ОС — и внедрили систему запусков для Linux и Windows.

Мы продолжаем работать над улучшением всех аспектов Cellframe Network. Спасибо, что остаетесь с нами!