Welcome to our latest weekly development report, where we spotlight the diligent efforts and advances of our development team. Looking back on the past week, we’re thrilled about the progress we’ve made across our various projects, with our main focus on the ongoing enhancements to ARKScan, Mainsail, and Dashbrd.
Development Summary
Below is a breakdown of total commits and authors by the project for development activity over the last week from June 9th through June 16th, 2023.
Project | Commits | Authors |
---|---|---|
Mainsail | 32 | 2 |
ARKScan | 51 | 3 |
ARKVault | 0 | 0 |
Dashbrd | 101 | 6 |
Overall, the team has demonstrated consistent productivity and engagement over this period, with a total of 184 commits across all projects.
The number of commits and data for each project will fluctuate on a weekly basis depending on internal sprints, objectives and difficulty.
ARKScan Weekly Progress
As we continue to review and refine both the function and design of ARKScan, our attention is currently on the “Address” page. We are currently in the process of re-designing this page to be easier to read and to provide more information to users.
Here is a brief recap of the work completed over the past week:
- Page Re-Design: The address page has been completely redesigned to be easier to read and provide a more organized flow of information. The header design now includes two blocks for all of the relevant information. One block is dedicated to the address information, while another new area is specifically tailored towards registered delegates and provides quick access to delegate information such as current rank, status, productivity, etc.
- Simple Sharing: New icons make it easier than ever to copy your address and public to share with others.
- Revamped Send Modal: We have redesigned the pop-up modal that allows you to send funds to a specified address. It offers the option to specify the desired amount or send funds directly from ARKVault.
- Better Organization: We have completely redesigned the tabs to allow easier browsing of information related to your address, especially for our delegates and voters. You can now easily browse the ‘Transactions,’ ‘Validated Blocks,’ and ‘Voters’ tabs and get all of the most important information at a glance. These streamlined tables will soon be implemented in other parts of ARKScan as well.
- Performance Enhancements: We continue to work on enhancing the performance of ARKScan to make it feel more fluid and responsive to user requests. We have identified several areas of improvement and have been hard at work on these optimizations.
Our current focus remains on completing the updates to the “Address” page and it will be our next major release.
Dashbrd Weekly Progress
Dashbrd development is currently in full swing. We have dedicated significant effort to ensure that all aspects of the app are thoroughly addressed prior to its release. Here is a summary of our progress this week:
- Transaction Improvements: Implemented the functionality to display token information when opening the Send Transaction Slider in the Wallet app.
- Transaction UI: Added a user interface for token transaction overview.
- Visual Improvements: Introduced placeholders for collections and NFTs, enhancing the app’s visual presentation.
- Collections Updates: Integrated an NFT activities table into the collections page, alongside various improvements related to NFT activity.
- General Optimizations: Streamlined the addressing formats for ETH, ensuring consistency throughout the app.
Our next sprint will be focused on obtaining and storing transaction history, as well as sending transactions, starting with the Polygon network.
Mainsail Weekly Progress
Mainsail has made great progress in implementing the new consensus mechanisms and general clean-up of the codebase. Let’s delve deeper into the details:
-
State cleanup: DPoS (Validators) related logic was removed. We will implement a new package similar to the validator-set-static that will implement the vote-weighted validator selection. Round-related logic was also removed from the state package. It contained methods like
detectMissedBlocks
anddetectMissedRound
, which are no longer part of the new consensus. - Commit block: We added initial support for the commit block. This is a new structure that consists of block and aggregated signatures. Aggregate’s signatures are proof that more than 2/3 of validators signed the pre-commit message for the particular block. Once the node gathers enough pre-commits it aggregates them and forms a committed block. A committed block is stored in the database and is considered final and irreversible.
- Validator indices: Instead of a validator public key we use validator indices to represent a validator from the validator set. This results in much smaller messages and faster serialization.
- Serialization: Serialization and deserialization fixes were applied and we can now successfully transfer propose, prevote and pre-commit over the P2P network. A delayed start was implemented which allows nodes to start consensus at the same time. This is a temporary feature, which is going to be replaced with more effective bootstrapping and message downloading. With the applied fixes we can successfully keep two or more nodes in the synced state while they are producing blocks.
- Validator Registration: The registration transaction was updated. A Validator now registers their username and consensus public key. The consensus public key is different from than wallet public key. It uses BLS instead of Schnorr signature. The consensus public key is used for pre-vote, pre-commit and pre-vote message verification. BLS also allows message aggregation.
- Reboot: The Genesis block was regenerated with the validator transaction updates. The static validator set now consists of the validator wallets that are registered in the genesis block.
Next week, our primary focus will be on improving serialization support for the Locked Block and implementing serialization for verification schemas. Additionally, we’ll be investing our efforts in enhancing the downloading process of messages over the P2P network, enabling faster and more efficient communication between nodes.
Community Feature Requests
If you are using our open-source products and would like to provide feedback or request a feature, please feel free to contact us via the contact pages for the specific product you are using or open an issue on GitHub.
Quick access links to GitHub issues pages:
What’s Next?
We expect to be able to release the updates to the ARKScan “Address” page within the next couple of weeks. We will have a better idea of a specific release window in our next weekly development update.
A great way to keep in touch with our ongoing developments is to follow us on Twitter .
We deeply appreciate your ongoing support and remain filled with enthusiasm for the promising future of ARK.