[Active] AE Maintenance (Weeks 43-44, 2024)

Application Status

Status: Active

Hello Community,

Over the past two weeks, we have been busy working on various tasks and improvements. Here’s a quick overview of what we’ve been up to:

Weeks 43-44 (October 21 - November 3)


Valentin Atanasov

We focused on enhancing the stability and reliability of our integration tests, working diligently on this branch. We resolved issues with the transactions count route and fixed a missed migration.
Additionally, we addressed problems related to transactions for account listings and adjusted the balance history endpoint to ensure accuracy.
We also worked on setting up HyperChains and developing endpoints for epoch information and leaders, which you can check out in this branch.

Mihail Dobrev

We made significant progress by creating a pending transactions endpoint and developing a top miners endpoint.
We also spun up a local HyperChains instance and connected the MDW development environment to the local network as a HyperChain, which helps us test and develop new features more effectively.

Dincho Todorov

We updated the HyperChain configuration tools to support the latest node version and ensured that the HyperChain UI is compatible with the newest node. Additionally, we updated the HyperChains local network Docker Compose configuration to align with the latest node. We conducted hardware requirements research and documentation, aiding in efficient system setups.

Justin Mitchell

We continued working on the state machine for BFT voting and developed functionality for creating BFT voting, including generating and reading voting transactions, advancing our consensus mechanism.

Hans Svensson

We participated in discussions about the design of time-slots and vote-information distribution. Attending meetings regarding the configuration and setup of HyperChains, we focused on cleaning up the configuration. We streamlined the setup process by automatically calling the epoch initialization code.
Conducting code reviews and working on debugging HyperChains sync issues, we identified and fixed a tricky problem where child chain Sync failed if a microblock was the first element in an epoch, involving refactoring and improving the caching logic for the validator schedule.
We also began working on an off-chain transaction to propagate voting information at the end of an epoch (in progress).
Additionally, we improved the error message for bin/aeternity keys_gen.

Thomas Arts

We developed the first version of caching more of the leader schedule, enhancing efficiency. We cleaned up and deprecated old Proof-of-Stake code, streamlining our codebase. We also updated the code so that contracts are now aware of the leader in a generation, accommodating the new order where micro blocks come before the key block.

Måns af Klercker

We continued our work on pinning, successfully merging the feature after the weekend. We supported the MDW team by creating a HyperChain contract endpoint.
Currently, we’ve started working on improving pin rewards, addressing Issue 4469 and Issue 4470. You can follow our progress in this branch.

Dmytro Lytovchenko

We worked on test suites for block production and created a prototype of a “slow production” test. At Hans’s request, we added a log-checking feature to our new aehttp_hyperchains suite and submitted a pull request. This new check was detecting recoverable failures in various “successful” tests, so we worked together to investigate and fix them one by one to eliminate all issues.

Continuing our work on the HyperChains production test suites, we:

  • Added node stop/start support code because the support libraries were treating stopped nodes as if they were running.
  • Created a second test where only the first block from a chain of valid blocks is accepted.
  • Began work on a third test involving producing valid blocks that violate HyperChain rules, exploring ideas for rules not already handled by existing gossip and consensus code.

Regarding the test log-checking feature, Hans copied it to a new branch. While the CI passes cleanly, we’re still experiencing some issues with local tests.

Richard Carlsson

We dug into the block production code and documented how it works, enhancing our overall understanding of the system. We ensured alignment with best practices by revising the fundamentals of blockchains, consensus mechanisms, HyperChains, block production, and time synchronization. Participating in meetings and discussions, we assisted with merge problems that arose. We merged branches for Ubuntu 24 and dev containers, contributing to the platform’s compatibility and stability. Additionally, we studied HyperChains synchronization and timing details to support ongoing development efforts.


Thanks for staying up to date with us. We’ll be back soon with more updates. As always, your feedback is much appreciated!