13th Oct 2023
4 min read

ARK Development Report - October 13, 2023

Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. In this edition, we highlight the ongoing efforts of our development team. This week, we released a new version of ARK Scan featuring an updated homepage design. Additionally, we are making progress in implementing the API for Mainsail and enhancing blockchain state management.

Development Summary

Below is a breakdown of total commits and authors by project for development activity over the last week from October 6th through October 13th, 2023.

Project Commits Authors
Mainsail 10 2
ARK Scan 32 2
ARK Vault 0 0

Overall, the team has demonstrated consistent productivity and engagement over this period, with a total of 42 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, we launched a new version of ARK Scan with a redesigned homepage that adheres to our simplified and user-friendly design.

For more details about this release, please refer to our blog post, which outlines all the changes made to the homepage.

Next week, we will focus on resolving reported bugs, implementing the new style for the ‘Support’ page, and beginning the process of aligning the ‘Statistics’ page with our updated design style.

Mainsail Weekly Progress

This week, we’ve undertaken several enhancements and expansions to our API. Notably, improvements to the blockchain state have also been a focal point. To provide a more detailed overview:

  • The API now includes a delegates controller.
  • Database migrations for the api-database are exclusively initiated from the api-sync package, rather than the api-http package.
  • Hapi has been updated to version 21, alongside relevant packages such as @hapi/boom and joy.
  • The synchronization procedure, responsible for storing new commit data in the database, has been moved outside the commit method. During the commit process, a new sync job is created. This alteration has reduced the duration of the commit phase, allowing more room for consensus-related processing. Additionally, the job is periodically reattempted in the event of a connection error during the sync. If the sync is not completed, and a new commit occurs, it is temporarily paused until the preceding job concludes.
  • In the event of an unhandled error during the commit phase, the application is terminated. This precaution is taken due to the suspicion of state corruption, which could potentially create vulnerabilities.
  • A new proposer package has been introduced to extract ProposerSelector logic that was originally part of the consensus package. Notably, ProposerSelector no longer relies on the private validatorMatrix but instead utilizes the StateStore attribute, which is exported in the snapshot.
  • State snapshots are now a part of the system, encompassing the entire blockchain state, including the StateStore with registered attributes and the complete WalletRepository (comprising wallets, their attributes, and indices). These snapshots are exported in the .gz format on the data path. New environment variables have been introduced to control this feature:
    • CORE_STATE_EXPORT_DISABLED, which optionally disables exporting.
    • CORE_STATE_EXPORT_INTERVAL, which determines the export frequency (default set to 1000 blocks).
    • CORE_STATE_EXPORT_RETAIN_FILES, specifying the number of snapshots to retain, with a default value of 2.

Looking ahead, our development team will primarily concentrate on API changes in the coming week. By channeling our efforts toward these API refinements, we aim to provide a more robust, efficient, and user-friendly experience, ultimately contributing to the continued growth of our platform.

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.

Share:

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.