15th Sep 2023
4 min read

ARK Development Report - September 15, 2023

Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, we have introduced a minor update for ARK Scan and made progress in implementing Mainsail’s API. Let’s review the changes below.

Development Summary

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

Project Commits Authors
Mainsail 18 2
ARK Scan 38 2
ARK Vault 0 0

Overall, the team has demonstrated consistent productivity and engagement over this period, with a total of 56 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 released a minor update that includes the following improvements:

  • Ensured consistency in page subheadings throughout the application.
  • Resolved an issue where the header was hidden in the mobile-responsive version.
  • Expanded the addressing width to fix address truncation in the transactions table.
  • Fixed the query string between tabbed tables.
  • Updated PHP dependencies.

For more details, you can refer to our v2.14.1 release log .

In the upcoming week, continue adding sorting options to tables on the ‘Delegates’ page. Following that, our primary focus will shift towards redesigning ARK Scan’s homepage to bring it in line with the UI in other areas of the application.

Mainsail Weekly Report

This week, our main focus was on developing a dedicated API, which is entirely new in Mainsail, along with some improvements related to P2P. To be more specific:

  • P2P: Node disposes of a peer when there are request errors inside plugins. We also refactored peer discovery. When a peer is accepted, the node pings peer ports to detect which ports are open and checks their peer list. Newly discovered peers are verified, and the GetCommonBlocks endpoint is removed. We addressed issues such as app termination and the requirement of network and token flags.
  • API: The API is now a standalone process. Common commands like start, restart, stop, setup, update, get status, or version are implemented within the API package. The package structure resembles that of the core. This approach allows users to install a standalone instance consisting solely of API packages. Deploying Mainsail or Mainsail API will create a folder with the same name in the default path. Each folder includes at least app.json and .env files that define plugins and parameters for the application.
  • API Sync: Additional tables have been created and synced from the Mainsail process to the database. These tables include Peers, MempoolTransactions, and State. The first two tables are synced periodically, while State is updated with every commit.
  • State: Wallet attributes have been refactored. Support for nested attributes like validator.username has been dropped. All attributes are now at the wallet’s root level, e.g., validatorUsername. We introduced attribute types to support attribute cloning and runtime verification. Supported attribute types include String, Number, Boolean, BigNumber, and Object. All wallet properties, except an address, are instances of these new attribute types. This feature was added to implement wallet delta comparison, support attribute cloning and verification, and add serialization for state storage. Wallet indexers were removed and will be replaced with a better implementation.

In the upcoming week, we will continue extending the API implementation with additional options and work on refactoring state storage.

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.