19th Jan 2024
3 min read

ARK Development Report - January 19, 2024

Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. Throughout the week, our team has addressed reported issues on ARK Scan and initiated the refactoring of certain portions of the codebase. On Mainsail, efforts were directed towards enhancing the readability of the state and P2P packages, and a CLI tool for testing all transaction types has been developed.

Development Summary

Below is a breakdown of total commits and authors by project for development activity over the last week from January 12th through January 19th, 2024.

Project Commits Authors
Mainsail 24 2
ARK Scan 20 2
ARK Vault 0 0

Overall, the team has demonstrated consistent productivity and engagement over this period, with a total of 44 commits across all projects.

The number of commits and data for each project will fluctuate every week depending on internal sprints, objectives, and difficulty.

ARK Scan Weekly Progress

In the past week, our focus has been on addressing reported issues and starting the refactoring process. Here’s an overview of the progress made:

  • Fixed a UI issue with chart corners
  • Fixed an issue with dark mode toggle being possible to spam, causing weird UI quirks
  • Improved overall price caching throughout the application and implemented rate-limits to optimize price updates.
  • Improve insights data by introducing specialized types for the data returned by various statistics, moving away from plain objects/arrays.

Looking ahead to the next week, our agenda includes further enhancements to the overall codebase of ARK Scan. Additionally, we plan to start on a Proof of Concept for streamlining data pooling, aiming to elevate both performance and user experience.

Mainsail Weekly Progress

During the past week, we focused on general improvements and introduced a straightforward CLI tool for testing transaction types. To provide a detailed overview:

  • Refactored identifiers for containers, following the Identifiers.<package/namespace>.<class/instance>.<optional: factory> pattern throughout the entire project.
  • Added a commit round to the api-database, distinguishing rounds in the block response: round (consensus round when the block was proposed), commitRound (consensus round when the block was committed), validatorRound (representing the validator round, e.g., round height in ARK V3).
  • Refactored and improved the readability of the state and P2P packages.
  • Extracted the Repository class for the state store and wallet, encompassing common logic for handling attributes. This class includes methods such as setAttribute, getAttribute, and forgetAttribute. The Repository supports nested cloning and manages data merging back to the original Repository on commit.
  • Removed workerPlugins from app.json. Each ServiceProvider now includes the requiredByWorker method, indicating whether the plugin should be loaded in workers. This enhances the readability of app.json by eliminating duplicated packages.
  • Integrated WalletRepository into the state. When a new block is processed, it alters the content of the state and the cloned WalletRepository. Changes are written back to the original state on commit. Multiple clones of the same state can be active concurrently in specific scenarios, such as when multiple blocks for the same height but different rounds are proposed.
  • Prepared a simple mainsail-tx-tester, enabling users to send all available transactions via the CLI. This is a standalone package.

In the upcoming week, our plans include making an initial release on npmJS, addressing validator set fixes and state export improvements, and continuing our work on documentation.

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:

Follow on Twitter (X)

Follow us on X (Formerly 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.


Get in Touch!

Whether you want to learn more about ARK Ecosystem, want to apply for developer bounty, become our partner or just want to say Hello, get in touch and we will get back to you.

An Ecosystem of Developers

Join us on our journey to create the future of Web3.