Clean Up, Optimizations and Stability Testing

Image by Carrie Yang

A new release — 0.24.0 — is now available!

As we draw closer to announcing our first release candidate for the Mainnet, we are focusing more on tasks involving clean up, optimization and stability testing. So, last week we completed a maintenance update Release 0.24.0, where we implemented several new features, while the emphasis was on bringing the external libraries up-to-date and optimizing the existing code.

This release:

  • Adds efficient implementation of Sophia maps. Internally the VM maps are implemented as hash maps and support fast lookup and update. Large maps can be stored in the contract state and the size of the map does not contribute to the gas costs of a contract call reading or updating it [PT task].
  • Upgrades IDNA library for introducing character and label validation according to IDNA 2008 [PT task]. Big thanks to benoitc and his erlang-idna project!
  • Releases enoise version 1.0.0 — available at and used it in node [PT task].
  • Makes the retries of the peer host name resolution configurable by the user. See configuration parameters sync > resolver_max_retries and sync > resolver_backoff_times [PT task].
  • mempool refactored/optimized for better throughput and latency
  • Adds load regulation queues made configurable and mempool refactored/optimized for better throughput and latency: a few weeks ago it was found that the epoch mempool can get overloaded with transactions, therefore some form of overload detection and backpressure seems warranted [PT task].
  • Renames transaction’s type in user HTTP API to match swagger definition name (e.g. spend_tx is SpendTx now) [PT task].
  • Allows state channel off-chain contracts to use on-chain data: balances, names and oracle responses [PT task].
  • Changes the API from using hex encoded strings as contract call data, byte code, and return values to using base58c encoded byte arrays with the prefix cb_ [PT task].
  • Adds Cross-Origin Resource Sharing (CORS) support [PT task].
  • Adds computation of gas of all transactions based on their size. Contract transactions also have gas for their execution [PT task].
  • Replaces seed node with address in region eu-east with seed node with address in region eu-west-2.

Interested in æternity? Get in touch:

GitHub | Forum | Reddit | Telegram | Twitter | Facebook | Mail

Leave a Reply

Your email address will not be published. Required fields are marked *