CESS Technology Monthly Report | Progress in May 2024
Important Submissions, Modifications, and Releases
Blockchain Network
The CESS Testnet v0.7.6 consists of consensus nodes and storage nodes. Consensus nodes maintain the global state of the CESS network (by CESS Node) and serve as "data certification stations" in the CESS network (by TEE Worker). Storage nodes are responsible for providing verifiable storage space and act as the "data storage pool" in the CESS network. Here are the updates for this month:
1. Consensus Node [v0.7.6]
Fixed the issue where the CESS Node reward query function could not return valid reward amounts;
Added a CESS Node reservoir module, allowing storage nodes to temporarily borrow tokens from the reservoir for staking;
Added a health check function for container images during CESS Node deployment;
Completed testing of various functional modules for the new version of CESS Node and TEE Worker;
Fixed the issue where the staking module of CESS Node failed to add stakes when the staker and transaction sender were inconsistent;
Fixed the issue where CESS Node could not clean up invalid TEE Workers;
Refactored the TEE Worker codebase, removing all outdated functions and data structures, and adjusted the position of the key exchange module to enhance code readability;
Fixed some hidden bugs and warnings in the TEE Worker codebase, improving overall program stability;
Fixed the issue where TEE Worker could not establish a valid gRPC connection with storage nodes after a restart;
Fixed the issue where idle space proof verification failed due to inconsistent algorithm library versions;
Optimized the registration and cleanup mechanism of TEE Worker to prevent the program from failing to provide effective services promptly after a restart;
Optimized the key sharing code logic of TEE Worker, enhancing security;
Fixed the issue where the nodeadm program could not accurately identify non-integer disk space sizes;
Optimized the execution results of the nodeadm program's withdrawal command, adding prompts for node exit status and operational suggestions;
Optimized the TEE Worker codebase, refactoring some functional modules for easier maintenance and upgrades;
Fixed errors triggered during TEE Worker event withdrawal and eliminated warnings from problematic code;
2. Storage Node [v0.7.10]
Fixed the issue of data transmission interruption when receiving user files;
Fixed the issue where mining rewards could not be effectively claimed;
Upgraded the boot node p2p module to periodically push the discovered storage node list to the entire network, further improving node discovery efficiency;
Optimized the status display command, adding reminders for reasons and operational suggestions when nodes are frozen;
Fixed the issue where some storage nodes could not timely report user data storage status to the CESS chain;
Added prompts for when the program fails to start normally, displaying the reasons for unsuccessful execution;
Completed testing of various functional modules for the new version of storage nodes;
Product
CESS is committed to providing practical storage services and CDN services for Web3, meeting large-scale commercial storage needs and achieving millisecond-level data retrieval and return. CESS pioneered decentralized object storage services (DeOSS), and the product ecosystem of the CESS network is gradually becoming richer and more prosperous. Innovative applications such as online file sharing tools (DeShare), public chain snapshot storage services, and CESS cloud storage have been incubated, and you are welcome to experience them. Here are the updates for this month:
1. Object Storage Service (DeOSS)
Optimized file upload logic, improved handling methods for data transmission failures, and increased transmission success rates;
Optimized the node selection module to prevent most storage nodes from being blacklisted, which would cause user data upload issues;
Optimized the service discovery and neighbor node selection mechanism for lightweight cache nodes, enhancing communication efficiency between nodes;
Completed the development of the lightweight cache module, supporting users to prioritize downloading data from cache nodes and enabling data sharing between nodes and between nodes and DeOSS;
Fixed the issue where newly discovered storage nodes could not be added to the available node resource list;
Fixed the issue where normal querying of on-chain data was not possible due to incomplete CESS chain block synchronization;
Improved the interface usage instructions and readme documentation for DeOSS and go-sdk codebases;
Upgraded lightweight cache nodes to support more diverse data download functions;
Added directory upload functionality for the lightweight CESS client, allowing users to package and upload entire directories to reduce space waste;
Added sub-file retrieval functionality for the lightweight CESS client, enabling users to search for specific sub-files within compressed directories;
2. Blockchain Explorer (Substats)
The new version of the blockchain explorer added chart display functions for account information and transaction data;
The new version of the blockchain explorer added query and display functions for the status, quantity, and other information of various types of CESS nodes;
3. Online File Sharing Tool (DeShare)
- Fixed the issue where some emails failed to send file information;
- Updated the email address used by DeShare to send emails to users to a dedicated DeShare email, making it easier for users to distinguish;
Technical Documentation Reference
GitHub: https://github.com/CESSProject