Worklog. December results

Worklog. December results

Category: Development Report

Title image, read title

Hello everyone!

While snowstorms swirled outside, our developers, web designers, and technical writers made the most of their time. In December, we put in maximum effort to enhance Cellframe products and technologies, and now we've compiled all the highlights in our traditional format. Enjoy reading!

Web Development

Voting Website

This month, we launched the Cellframe Voting Website. Now the community can fully participate in the development of our project by voting on network changes and updates. The voting conditions are as follows: only holders of native CELL (CF-20) tokens can participate, and voting power is determined by the number of CELL tokens you hold in the Backbone network, including those locked in staking.

We’ve already successfully completed three votes on the platform. These included decisions on emission rates for staker and validator rewards, changes to the LP staking program, and the distribution of the reward pool for 2025. The community's voice has been heard. Be sure to participate in our upcoming votes!

You also have the opportunity to initiate votes in the Backbone network among the Cellframe community. Currently, proposals can only be created via a node using a CLI command, but in the near future, this functionality will also be available on the website. Once approved by our team, your proposal will be launched on the Cellframe platform.

Additionally, we’ve added dynamic display functionality for voting conditions in the Voting Procedure section. All parameters and conditions now update automatically.

You can find the link to the voting website in the footer of the main Cellframe site.

Cellframe Bridge

We’ve added support for the NYS token in the Cellframe mainnet. This is a significant step in our partnership with Node.sys, a decentralized platform for a universal Internet of Things (IoT). Integrating their token helps expand our ecosystem and opens new horizons for our projects. The NYS token is now available for deposits and withdrawals through the Cellframe Bridge.

We’ve also updated the bridge fee structure for withdrawing tokens from the Backbone and KelVPN networks to external networks.

Cellframe Network

On the main page of the Cellframe website, we’ve revised the site’s meta tags to enhance SEO optimization and improve user experience (UX).

Cellframe Explorer

On the Cellframe Explorer, which tracks all blockchain transactions, we’ve fixed footer display issues and made email links clickable.

Cellframe Staking

On the Cellframe staking platform, we’ve fixed footer bugs and refined the interface for mobile and tablet users to enhance usability.

Cellframe Dashboard

We’ve implemented several important improvements to the Cellframe Dashboard to make the application even more stable, user-friendly, and faster.

First, we optimized the transaction queueing process. Everything now runs smoothly, ensuring that operations are executed quickly and reliably.

We also eliminated flickering issues in transaction history and wallet data displays. Updates now occur seamlessly, without unnecessary screen jumps, making the interface much more stable and comfortable to use.

Special attention was given to the masternode setup process via the dashboard. Previously, there was an issue at the stake lock stage, where a transaction locks your mCELL tokens and delegates the certificate you selected earlier. We’ve resolved this issue, and now masternodes can be launched without any disruptions, making the setup process even simpler and faster.

Lastly, we fixed the operation of the `voting_dump` command via the Web3 API. Users can now easily request and export voting data through the Web3 API, and the command functions correctly.

Cellframe Node

In December, our team focused on enhancing the functionality of Cellframe Node.

We implemented an auto-update mechanism for time-limited records in GDB groups. Outdated data is no longer taking up space — it is either automatically updated or deleted, freeing the blockchain’s storage from “digital clutter.”

A new CLI command, `srv_stake reward`, was added to check the rewards accumulated by validators for performing network functions. Now you can quickly and easily track your earnings directly from the command line.

In the node-tool, we introduced a new command, `srv_stake`, designed to search for public keys by hash. Even if you only know the hash, you can quickly find the corresponding key. We’re doing everything possible to simplify working with the system.

To speed up the wallet, we optimized the process of searching for available outputs in its cache. Enhanced algorithms now allow the system to locate free outputs for new transactions much faster, significantly reducing transaction processing times and wait periods.

To improve performance, we implemented data caching technology in the exchange module (`srv_xchange`). Token pair and rate information is now stored in RAM, ensuring instant data access. This solution reduces system load, even during high user activity.

For increased reliability, we developed a pinning mechanism for GDB records, which is now undergoing testing. This feature ensures that critically important data remains unchanged for a set period. Record pinning preserves information, preventing its deletion or modification without prior approval.

In addition to these new features, we also addressed several critical issues:

● Fixed crashes when sending bridge transactions from CF20 to BEP20/ERC20.

● Resolved an error in the exchange module: the `srv_xchange token_pair list all` command now correctly returns all token pairs, and transaction searches by chains work even without local records.

● Fixed an issue with displaying the average DEX rate and synchronized validator fees on Windows and Ubuntu.

● Resolved a shared wallet file access issue.

● Optimized the atom saving process.

● Fixed a bug with node list deletion, improving system stability.

Python Plugins

Python plugins are separate modules that extend the functionality of the system by adding new features and improvements without altering the main code. We are continuously working to enhance the functionality of all these modules, and in December, we focused our efforts on refining the staking plugin.

Our team has completely redesigned the reward recalculation mechanism: we fixed errors that impacted accuracy and sped up the entire process. Additionally, we conducted extra checks at every stage. As a result, the recalculation mechanisms now run smoothly, ensuring the stability of the staking system.

Staking rewards are calculated every minute. For each stake, the reward for each minute is determined based on the tokenomics formula, using the annual percentage rate (APR). Based on this data, the APY is calculated, reflecting the potential yield of staking.

Tech Writing

In the past month, our technical writers have contributed to the project’s knowledge base — the Cellframe Wiki.

By popular request, we released a simple step-by-step guide for setting up a masternode with Cellframe Dashboard. This guide will help both beginners and experienced users set up and configure a masternode without complications and start earning rewards in our network.

We also prepared an article that describes remote command execution in Cellframe DEX via JSON commands. The article covers three scenarios in detail: fully and partially closing orders, and placing an order to exchange via XChange Service (DEX).

The Cellframe Wiki also features a detailed description of the IO Reactor in DAP SDK (Part 1). This low-level part of our platform is aimed at third-party developers who create their own applications. The IO Reactor provides multi-threaded processing for high-load network tasks. This functionality can serve as the foundation for developing applications or services that require their own IO reactor.

This December has been busy and productive for us, but the most exciting things are yet to come. Happy New Year! We wish you energy, inspiration, and many amazing projects. Let’s make 2025 unforgettable together!