Welcome to our latest weekly development report, where we spotlight the valiant efforts of our development team. As of the first week of August, we have achieved significant milestones, including another ARK Scan update, the initiation of a fresh development sprint, comprehensive internal testing of Dashbrd, and significant progress on Mainsail. Let’s explore the details of these exciting developments.
Development Summary
Below is a breakdown of total commits and authors by project for development activity over the last week from July 28th through August 4th, 2023.
Project | Commits | Authors |
---|---|---|
Mainsail | 36 | 2 |
ARK Scan | 41 | 2 |
ARK Vault | 0 | 0 |
Dashbrd | 94 | 8 |
Overall, the team has demonstrated consistent productivity and engagement over this period, with a total of 171 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.
ARK Scan Weekly Progress
This week marked the release of a new ARK Scan version, which showcases a redesigned block details page, harmonizing with our recently updated transaction details page. For full details on this release, read our official release notes.
We have also commenced a new sprint focusing on the ‘Delegates’ page which will be our next update to ARK Scan.
Dashbrd Weekly Progress
Throughout the week, our main focus remained on internal testing, gradually adding other team members to identify and report potential issues. Additionally, we made progress in completing all major outstanding tasks for the initial release.
Key updates from this week include:
Dashbrd General Items
- Optimized queues and queue prioritization for major fetching jobs, resulting in a snappier user experience.
- Improved handling of token decimals during data seeding, accommodating tokens with varying decimal points.
- Refactored certain components and decoupled them from Inertia.
- Added attribution for services used by Dashbrd to retrieve data.
- Implemented custom error pages for common error codes users might encounter.
Dashbrd Wallet Items
- Introduced a new feature that prefetches token data upon user wallet connection, leading to smoother interactions on Dashbrd’s initial connection.
- Enhanced pagination and sorting for wallets with a large number of tokens.
- Displayed chain icons in the token dropdown list for easier identification.
- Ensured proper display of transaction fees in native tokens on transaction details.
- Various improvements to sorting logic for collections and NFTs.
- Resolved issues related to chart loading when a wallet has many tokens.
- Fixed the “Max” amount selection, which previously did not factor in the correct transaction fee when sending a native token.
- Resolved an issue where attempting to send tokens with 18 decimals displayed numbers in scientific notation.
- Reorganized transaction elements into reusable components.
- Fixed a bug in the send form, which prevented users from deleting a “0” entry in the amount field.
Dashbrd Gallery & Collection Items
- Improved Gallery loading speeds by lazy loading additional data and applying placeholders
- Extended Lazy Loading to overview pages for galleries (most popular / newest / most valuable).
- Implemented a new feature to improve the handling of large NFT collections (ENS Domains, Unstoppable Domains, OpenSea Shared Storefront, etc.).
- Fixed an issue where hiding and unhiding collections led to duplicated NFTs appearing in the “My Collections” column of the table.
- Corrected collection sort values to accurately calculate and display values.
Looking ahead, our agenda for the next week involves ongoing extensive internal testing and fixing of any reported bugs by our extended testing team. We are also currently in the design phase for the new landing page of Dashbrd’s homepage, with plans to begin development sometime in the following week, in preparation for the upcoming public release.
Mainsail Weekly Progress
During the past week, our team made notable progress in the area of P2P optimizations, particularly focusing on rewriting the PeerVerifier
module.
The specific details of the week’s progress are as follows:
- Deprecated the usage of NodeJS
Buffer.slice
and replaced it withBuffer.subarray
to enhance performance. - Modified the Propose, Prevote, and Precommit classes to expose a serialized property, enabling better efficiency by avoiding repeated serialization during message broadcasting.
- Updated the block timestamp representation to be in UNIX milliseconds instead of seconds. This change allows for finer tuning of the minimal block time and minimizes the delay between each block.
- Separated the signature aggregation logic from
RoundState
into its own Aggregator class, improving code organization and maintainability. - Conducted cleanup in the
StateStore
to enhance its overall efficiency. - The revised
PeerVerifier
module benefited from the block finalization process, leading to a simplified peer verification process. The acceptance of new peers now depends on the fulfillment of the following conditions:- Validity of the peer’s IP address.
- Absence of blocking or pending status for the peer.
- Presence of a valid version for the peer.
- Matching nethashes between peers.
- Consistency with the highest block among peers.
Moving forward, our focus for the upcoming week will be on consensus optimizations, while simultaneously initiating work on improving the BlockProcessor
module.
Feedback & 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
Our current priority is the internal testing of Dashbrd and squashing any reported bugs to prepare for the initial public beta release. We will also continue pushing forward on the ARK Scan updates and making progress toward an initial testing phase for Mainsail. We are excited to get Dashbrd ready for launch and get it in the hands of our users in the coming months, so keep an eye out for details on our first public testing.
Follow us on Twitter and keep checking the blog to stay up-to-date on all of our new releases. We post a weekly development report so you can easily see what we’ve been up to and follow along our journey towards making your decentralized future a reality.