Monday, December 9, 2024
API
Protocol
WASM
Tooling

Release: Spica Patch 1 - v1.8.6


Introduction

Over the past month, we’ve got community feedback regarding transactions occasionally getting stuck or delayed before processing. After analyzing these issues, we determined that fluctuations in EGLD prices (activating third party arbitrage bots) and an inefficient selection model were leading to sub-optimal outcomes, such as blocks not being fully utilized concluding in delays on transaction processing. Additionally, certain scheduled processes were negatively impacting both transaction selection and nonce notification, further contributing to the delays.

What we did?

We have revised our transaction selection mechanism. Transactions will now be chosen based on their price per gas unit, while the total amount of gas per block is capped. Non-executable transactions will be excluded from selection. Furthermore, we’ve transitioned away from relying on notifications to detect nonce gaps. Instead, the mempool now has direct access to query the blockchain state, ensuring more efficient and accurate transaction processing going forward.

Key implementations:
  • Mempool improvements [#62]
  • Mempool: improve selection algorithm [#6581]
  • Mempool: handle not-executable transactions related to guardians [#6603]
  • Mempool: adjust sender constraints [#6644]
  • Mempool: lower "maxNum" when selecting transactions [#6645]
  • many others.

No Activation Epoch

There is no activation epoch needed for this release given the fact that this release is fully backwards compatible with v1.8.4.0.

Actions Required

This release is not mandatory but is highly recommended, as it introduces a significantly more optimized method for selecting transactions, resulting in better-filled blocks.

Governance

Given the nature of the release → Maintenance Upgrade (as it contains some improvements) as proposed on Agora, there is no need for a governance call.

The Governance call for Spica Release passed with 98.65% YES.

Important links

Mainnet Config: https://github.com/multiversx/mx-chain-mainnet-config/releases/tag/v1.8.6.0

Github Link to Spica - v1.8.6: https://github.com/multiversx/mx-chain-go/releases/tag/v1.8.6

Do you need more information?

Explore projects, tokens, and integrations built on MultiversX