The core development teams have updates for Elastos Essentials, DID SDK, the main chain, sidechains, and more in the Elastos Foundation Bi-Weekly Technical Update.
– Released Elastos Essentials 2.0.2 Android version that fixes several problems found in the early stage.
– Completed the docking of the wallet based on the RPC-API version with the backend service, and started testing and verification process. Currently, the main chain and the ESC sidechain are working normally. This version of the wallet uses a no-spv method to achieve data synchronization. Compared with the previous SPV version, it has the advantage of not waiting for synchronization and faster startup speed.
– Continued to develop the CR Voting application that will support operations such as CRC voting.
Continued to develop the DID SDK to meet the needs of multiple development platforms to integrate DID functions.
– Continued to improve the Java SDK and supported obtaining Root Identity through mnemonic
– Completed the implementation of the method to check whether the DID document contains the private key in Java/Native SDK
– Cleaned up and optimized Swift SDK code, and supplemented API documentation
– Native SDK has unified return value processing
– JS SDK testing, verification, and problem repair based on test cases
Continued to optimize the implementation of Hive SDK and Hive Node to meet the requirements of upper-level applications to integrate Hive storage capabilities.
– Hive Node is optimized and has updated the script/subscription/file module code based on the Restful API specification
– Java SDK has optimized the internal code structure, especially the implementation of interaction with Node Restful API
– Java SDK internal module script/subscription/file implementation improvements and while optimization of internal authentication implementation code
– Updated Swift SDK synchronously referring to Java SDK
– Deployed a trial version of Push Notification Server environment and verified the Native version of Push notification SDK. This feature will enable Carrier-based dApps with the ability to obtain real-time notifications, enriching the application scenarios of dApps.
– Continued to develop Carrier 2 related functions
– Refactored cross-chain recharge transactions, realized data transfer between the main chain and sidechains through the output payload, and added lua scripts for self-testing. After this function is launched, new data transfer methods will be added between the main chain and side chains, opening up the information channels between the main chain and sidechains, and enrich the ways for applications deployed on the sidechains to obtain information.
– Continued to test small fast transfer transactions. At present, the transfer time between the main chain and sidechains is relatively long, and the user experience is sub-optimal. Subsequent use of the small-value fast transfer function will effectively shorten the confirmation time when a certain amount of cross-chain transfer is made, thereby enhancing the user experience.
– Arbiter node has added the logic to regularly process the recharge correction transaction that arrives on the main chain, and continued to conduct the recharge correction transaction test. When a user conducts a cross-chain transaction, if the target address in the wrong format is entered, the transaction amount will neither be credited nor retrieved. After the follow-up transaction related functions are launched, when there is an error side chain recharge transaction, the node will automatically return the wrong recharge funds to reduce the user’s loss.
– Prepared supernode deployment scripts, and added commands to display version information for Arbiter nodes and DID nodes. This script is mainly used to assist users in building and maintaining super nodes. It is an important tool for CR committee members and community members to deploy and manage supernodes.
– Continued to sort out the code logic and analyze the code related to functions such as rollback. By analyzing the code of key modules, the problems with the code logic and optimized performance was checked.
– Adjusted the block data snapshot logic. After returning to the POW mode, a snapshot of each block will be taken to effectively prevent 51% attacks and other attack methods, and improve the security of the main chain.
– The new ID sidechain added a pre-compiled contract that supports contract access to DID data. Other contracts can access DID data on the chain through this contract, increase the interoperability between the contract and DID data, and enrich DID application scenarios.
– Completed the development of the DID data migration tool, and supported the migration of DID data up to 128 KB from the original ID chain to the new ID sidechain. The tool will be available online on the new ID sidechain, helping existing DID users to automatically migrate data to the new ID sidechain, and ensuring that users can move between the original ID sidechain and the new ID sidechain without any sense.
– Built normal and abnormal test cases to test the new ID sidechain and fixed the problems found. At present, the development work for the new ID sidechain has been completed, and subsequent rounds of function and performance testing are in progress. The sidechain focuses on the DID function, adopts the DPoS consensus, and guarantees the DID with a shorter block time under the premise of ensuring security. The fast and stable operation further improves the user experience and lays a solid foundation for the release of DID 2.0 related functions.
– Technical docking with CreDA and providing technical support.
Smart Contract Sidechain (ESC)
– Fixed a problem in the function of ESC nodes dynamically sensing the main chain on-duty nodes. Subsequent sidechain miners will expand to 12 CRC nodes and 24 voted DPoS nodes. Due to the volatility of voted nodes, sidechain nodes need to have the ability to dynamically perceive the main chain on-duty nodes. Through this function, the number of miners in the sidechain block will be expanded, and the stability and security of the sidechain will be increased.
– Preliminary discussion on the Layer 2 cross-chain scheme based on DPoS consensus.
– Conducted Layer 2 fraud proof test, investigated Layer 2 business processing logic, and accumulated related technologies.
– Continued to investigate the ETH 2.0 block generation process and fork processing logic. ETH 2.0 is an important part of the evolution of ETH technology, and it is also a direction that the development team focuses on. The development team will continue to track the progress of ETH 2.0 related technologies and apply them to the Elastos ecosystem.
– Added the conflict processing logic for 2 arbitrators to handle the same block at the same time to ensure the stability of the ETH sidechain.
– Added the logic that the sidechain cannot withdraw coins when the main chain reverts to the POW consensus to ensure the safety of sidechain assets under extreme conditions.
– Added the logic to automatically update the arbiter list based on the main chain block data to ensure the consistency between the side chain miners and the main chain on-duty nodes.
– Fixed the problem of insufficient judgment of the transaction balance created by the SDK core algorithm library, handling of Heco environmental parameter crashes, etc. The Elastos Essentials wallet has developed based on this core algorithm library will interact with the data on the chain through a node API to achieve a “ready to use” user experience.