Ворклог. Итоги ноября

Ворклог. Итоги ноября

Category: Прогресс разработки

Title image, read title

Всем привет! Последний месяц осени пролетел незаметно, но за это время мы добавили массу улучшений и обновлений в наш проект. В ноябре мы доработали мост, сделали Dashboard ещё функциональнее, улучшили работу ноды и плагинов, а также добавили полезные статьи на Wiki. Читайте наш обзор, чтобы узнать все подробности!

Веб-разработка

Cellframe Bridge

В прошлом месяце мы запустили двусторонний режим моста, а в ноябре продолжили расширять его возможности. Теперь Cellframe Bridge поддерживает вывод популярных стейблкоинов USDC и DAI в сети BSC и Ethereum, а также вывод BNB и ETH в их нативные сети.

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

Для удобства пользователей мы сделали кликабельными ссылки в футере раздела Contact Us. Теперь вы можете легко перейти по нужному адресу для связи с нашей командой или получить дополнительную информацию.

В режим обратного моста мы добавили кнопку MAX. С её помощью вы сможете отправить всю доступную сумму токенов CF-20 с вашего кошелька одним нажатием.

Еще одна важная доработка — мы установили минимальные лимиты для отправки токенов в режиме обратного моста. А также исправили отображение адресов смарт-контрактов токенов, баланса токена OLD CELL и символов токенов при отключенных кошельках MetaMask (Trust Wallet) и Cellframe Dashboard.

Напоследок, мы устранили ошибку, из-за которой появлялось сообщение «Smart contract type is not valid» при отправке токенов CELL из CF-20 в BEP-20. Теперь такие транзакции выполняются корректно и без сбоев.

Cellframe Shop

Мы продолжаем совершенствовать наш магазин. В этом месяце стартовал предзаказ точки доступа KelVPN. Мы добавили карточку с описанием устройства, чтобы вы могли узнать всю необходимую информацию о продукте перед заказом.

Для вашего удобства мы добавили возможность оплаты криптовалютой. Теперь вы можете выбирать сеть и токен для оплаты прямо во время оформления заказа. После выбора вам будет предложен адрес кошелька для перевода. Дополнительно введены статусы методов оплаты: вы сразу видите, доступны они или нет. Обратите внимание, что оплата криптовалютой может быть ограничена в зависимости от вашего местоположения и местного законодательства.

А для лучшей индексации и удобства поиска в интернете мы обновили метатеги.

Интерфейс сайта также был улучшен. Мы сделали кнопку «Orders» более удобной. Она становится активной, если товары добавлены в корзину. И добавили модальное окно для просмотра изображений или видео товаров в увеличенном формате для более детального изучения.

На сайте Cellframe Explorer мы устранили проблему бесконечной загрузки, которая возникала при попытке проверить баланс пустого кошелька. А на основном сайте Cellframe мы обновили иконки в блоке «О токене» для бирж Custody Coinbase, Swapzone, stealthEX.

Cellframe Dashboard

В ноябре наша команда активно поработала над Cellframe Dashboard — функциональным интерфейсом ноды.

Прежде всего, мы внедрили механизм автоматического перевода ноды в онлайн или офлайн режим в зависимости от статуса GUI. При включении Dashboard нода подключается к сети, а при выключении интерфейса переходит в автономный режим.

Мы перешли на формат JSON-RPC для обработки всех записей мемпула. Этот популярный и удобный протокол обмена данными сокращает время ожидания при отправке транзакций и обеспечивает более стабильную работу сети для пользователей. Для разработчиков переход на JSON-RPC означает упрощение работы с API и улучшение совместимости с другими компонентами.

К тому же, мы восстановили отображение всех токенов, которые зарегистрированы в сети, на странице DEX. Пользователи могут увидеть полный список. Корректно отображаются теперь не только токены, но и транзакции в сети Backbone.

Помимо этого, мы устранили еще две проблемы, которые мешали взаимодействию пользователей приложения с нодой.

• Исправили некорректное отображение статуса сервиса ноды, который теперь верно отражает её текущее состояние.

• Устранили сбой интерфейса при вводе определённых команд на вкладке консоли — теперь система стабильно обрабатывает все операции, обеспечивая надёжность и удобство использования.

Cellframe Node

В ноябре нам удалось продуктивно поработать над функционалом Cellframe Node.

Мы, как обычно, сделали все для улучшения производительности, реализовали новые функции, а еще завершили работу над замечаниями, которые были выявлены во время внешнего аудита кода версии ноды 5.3.

Важным нововведением стал механизм удаленного доступа к ноде с авторизацией по публичному ключу. Это упростило управление нодой в удалённых сценариях.

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

Ещё одним важным обновлением стало внедрение механизма динамического выделения памяти для выходов транзакций. Теперь система автоматически адаптирует объём выделяемой памяти под нужды конкретной транзакции, упрощая обработку сложных и объёмных операций.

Для оптимизации работы сети мы разработали механизм кеширования транзакций. Он временно сохраняет транзакции в оперативной памяти устройства для их предварительной проверки и обработки без обращения к леджеру.

Механизм кеширования фиксирует все транзакции, связанные с локальными кошельками, и обеспечивает моментальный доступ к ним. Более того, кеш хранит индекс транзакций, и нода проверяет эти данные по списку вместо перебора всего блокчейна. Когда работа ноды завершается, кеш автоматически очищается. Такой подход идеален в условиях высокой нагрузки.

Протокол JSON-RPC, представляющий собой аппаратно-программный интерфейс (API), значительно упрощает взаимодействие с нодой. Основное преимущество заключается в том, что благодаря использованию этого протокола взаимодействие сторонних программ с нодой стало проще и быстрее.

Оптимизация сериализации и десериализации данных в протоколе JSON-RPC уменьшила задержки при обработке запросов, особенно при интенсивной нагрузке. Это улучшение важно для разработчиков и пользователей, которые активно используют API.

Мы выполнили адаптацию PostgreSQL под новую архитектуру ноды. После недавнего обновления архитектуры возникли несовместимости, которые сделали работу с PostgreSQL невозможной. Теперь пользователи смогут использовать эту систему управления базами данных для работы с нашей GDB.

Кроме того, мы провели рефакторинг модуля dap_io, и как результат, упростили его структуру и подготовили к дальнейшему развитию. Этот модуль отвечает за ввод-вывод данных, изменения сделали его более устойчивым и лёгким для доработки.

За ноябрь в работе Cellframe Node мы исправили:

• Ошибку, из-за которой не собирались награды с некоторых блоков.

• Падения при просмотре списка кошельков.

• Проблему с INCORRECT_SYNC_SEQUENCE во время синхронизации.

• Падение SIGBUS, которое возникала после ввода команды net_list.

• Дублирование записей в истории транзакций.

Плагины Python

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

Во-первых, мы значительно оптимизировали систему мониторинга событий в Web3. Раньше отслеживание новых транзакций и их обработка могли занимать много времени. Теперь этот процесс стал гораздо проще и удобнее.

Еще одним важным обновлением стала переработка разделения стейков на группы. В нашей сети стейки классифицируются в зависимости от нескольких параметров: места создания (нативные или LP), типа токена и используемой сети. Это разделение важно, так как для каждой группы предусмотрен отдельный пул наград. Ежеминутно из этого пула выделяется точная сумма вознаграждений, которые распределяются между участниками в рамках конкретной группы.

Не обошлось и без улучшений стабильности работы системы. Теперь ошибки обрабатываются в более автоматизированном режиме.

Кроме того, мы улучшили защиту базы данных за счет внедрения механизмов блокировки, которые активируются во время синхронизации данных. Принцип их работы таков: если один процесс начинает запись данных в файл, этот файл временно становится недоступен для других процессов. Доступ восстанавливается только после завершения операции. Благодаря механизмам блокировки предотвращаются возможные сбои.

Tech writing

Мы завершили работу над туториалом по использованию инструмента cellframe-sign-tool, который предназначен для безопасной офлайн-подписи транзакций. Этот инструмент позволяет подписывать транзакции на устройствах без установленной ноды и отправлять подписанные данные на сервер, где нода работает.

Мы начали описывать модуль IO в Cellframe DAP SDK. На данный момент подготовлено описание файлов dap_worker, dap_context и dap_events. Материалы станут доступны позже, когда будет завершена работа над описанием компонента dap_events_socket. Этот раздел особенно важен для разработчиков, которые хотят глубже погрузиться в архитектуру SDK и воспользоваться его возможностями.

Ещё одним значимым текстом ноября стала статья о типах транзакций в Cellframe Network. Мы постарались структурировать информацию о различных типах операций, доступных в сети. Одновременно с этим мы дополнили материал о типах комиссий существующими типами.

Мы также завершили работу над описанием команды exec_cmd. С помощью этой команды можно взаимодействовать с Cellframe Node через интерфейс командной строки (CLI), которая позволяет отправлять команды для выполнения операций на удалённых нодах сети.

Наконец, мы дополнили статьи по установке и конфигурации ноды. Новый раздел "Node installation above already installed node" подробно объясняет, как правильно обновить конфиги при повторной установке ноды поверх существующей версии. Ознакомьтесь со статьёй Cellframe Node Installation в нашей Cellframe Wiki!

Всем тепла и уюта в декабре! Спасибо за ваш интерес к проекту — впереди ещё больше развития!