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. As we enter the final month of the year, this week has been dedicated to cleaning up the ARK Scan codebase. Our efforts included addressing reported bugs and refactoring some sections of the code. Meanwhile, the Mainsail team has made good progress in improving blockchain management and resolving bugs identified on our internal testnet.
Development Summary
Below is a breakdown of total commits and authors by project for development activity over the last week from November 24th through December 1st, 2023.
Project | Commits | Authors |
---|---|---|
Mainsail | 32 | 3 |
ARK Scan | 22 | 2 |
ARK Vault | 0 | 0 |
Overall, the team has demonstrated consistent productivity and engagement over this period, with a total of 54 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
During this week, we have finalized design and specifications for the upcoming changes and additions to the ‘Statistics’ page. Development done this week mainly consisted of cleaning up the legacy codebase, fixing some bugs, and refactoring some items:
- Streamlined and generalized the sorting logic.
- Handle an error that could appear between deployments if browser tabs remained open without refreshing.
- Implemented pagination for multipayment transaction recipients to enhance user experience.
- Adjusted the default lineheight for improved readability.
Looking ahead to next week, our focus will shift to initiating the development phase for the additions to the ‘Statistics’ page. These additions will provide users with insightful on-chain and market information to track.
Mainsail Weekly Progress
This week, our focus was on introducing new class responsible for managing environment variables and further improving blockchain management. To provide more details:
- Implemented the
Environment
class to facilitate the reading of environment variables. Default values can be specified for theget
methods when an env variable is set. TheisTrue
method is included to interpret boolean values, returning True when the env variable is set to true or 1. This adjustment enhances clarity in settings, as previously any set value was treated as true, including false and 0 values. - Addressed
apy-sync
initialization by running the migration script first, followed by the utilization of boot procedures by the package. - Reincorporated unconfirmed transactions into the Postgres database during the boot process.
- Disabled total count estimation for the
peers
table inapi-http
. - Modified the Node to exclusively accept serialized transactions on the
POST api/transaction-pool
endpoint. JSON transaction support is removed, leading to skipped transaction serialization on the server side and improved performance. Transactions are deserialized and handled as provided, eliminating the need for additional serialization steps. - Introduced schema validation on the
POST api/transaction-pool
endpoint, replacing theHapiAjv
plugin with the built-inJoi
schema validator. - Enhanced the
CommittedBlockProcessor
to await consensus completion before proceeding to the next block during block synchronization. Height and rounds are increased atomically during consensus. - Implemented
Bech23m
address factories and addressed various other fixes.
Looking ahead to next week, our focus will be on developing support for API node discovery and distribution, along with improving high payload block synchronization. As we continue testing and monitoring the internal testnet, any discovered bugs will be promptly addressed.
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.