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. Throughout this week, efforts were dedicated to addressing reported ARK Scan bugs, accompanied by adjustments in the presentation of certain information. The Mainsail team has worked on improving blockchain management and implementing fixes to enhance validation processes.
Below is a breakdown of total commits and authors by project for development activity over the last week from November 10th through November 17th, 2023.
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, our main focus was addressing reported bugs and making user experience improvements:
- We relocated the main price chart from the Statistics to the Exchanges page.
- An Exchanges button was added to the homepage price chart for easier access.
- Possible discrepancies between prices in the UI have been addressed.
- The loading state of the paginator in tables was fixed.
- The table’s top row padding was corrected.
- General improvements to the delegate monitor and how it handles favorited delegates.
- Alignment issues between the table loading state and data top account were corrected.
- Code refactors and cleanups to get rid of the components that became obsolete after the UI redesigns
Next week we’ll start work on the additions to the Statistics page which will feature a lot of new and interesting insights about the ARK network.
Mainsail Weekly Update
This week marked significant progress as we focused on enhancing various aspects in preparation for thorough testing on the internal Testnet. The following tasks were completed:
TransactionProcessorwas extracted from the
BlockVerifier, taking on the responsibility of transaction verification, fee checks, transaction processing, and validator balance updates.
- The username attribute is no longer exclusive to validators. Validator registration now only necessitates a consensus public key, allowing registration without a previously registered username.
- Two new transactions were introduced in new packages:
core-transaction-username-resignation. The former is utilized for registering or updating wallet usernames, open to any wallet, while the latter facilitates username resignation.
- The genesis block now includes username registration for genesis validators. Mainsail logs the validator’s username if available; otherwise, it logs the validator’s public key.
- The API Database can be truncated using the
CORE_API_SYNC_TRUNCATE_DATABASEenvironment variable. The bootstrap processor detects the Postgres database’s height and loads the appropriate snapshot based on that height.
- The Base58 checksum calculation has been corrected to adhere to the specification’s double SHA256 calculation.
- Minimum fees in schemas have been standardized to 0, and the BypassGenesis option has been removed. Validation of fees is now handled by the fee matcher. This simplification in schemas is driven by the understanding that, from a performance standpoint, setting the minimum fee to 0 or 1 has no impact, given that the check will have to go through the matcher.
- A new package,
crypto-signature-schnorr-legacy, has been added to align with the Schnorr library used in V3. Mainsail’s default
crypto-signature-schnorruses Schnorr from bcrypto, while
crypto-signature-schnorr-legacyuses secp256k1 from bcrypto.
Looking ahead to next week, our focus will be on:
- Eliminating separate transactions from the LMDB store, opting to store full blocks.
- Updating the username schema with new rules.
- Verifying fees on proposed blocks.
- Implementing additional API improvements.
- Initiating work on basic ARK Scan integration and support for Mainsail in preparation for the internal Testnet.
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 X (Formerly Twitter)
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.