Sophia and VM Improvements, Preparing for Minerva, and Getting Closer to Stratum Support

Last week the æternity core developers team continued its work on Stratum, improving the usability of state channels, adding new functionality to the VM and the Sophia language, as well as adding features that will make it much easier for enthusiast miners to deploy an æternity node in a home environment.

Some of those changes were included in Release 1.3.0 that was tagged on 25.01. Namely:

  • Internal debug API endpoints are now disabled by default; to enable http > internal > debug_endpoints to true in yaml config file.
  • http > endpoints > debug and http > debug configuration params are marked as deprecated.
  • the æternity node now supports UPnP/NAT-PMP protocol that, if supported by a router, enables port mapping working out of the box; to enable UPnP/NAT-PMP a new configuration parameter sync > upnp_enabled has been added, which (if true) starts UPnP/NAT-PMP service to handle UPnP/NAT-PMP discovery and automatic port mappings.

In addition we made some changes related to our decision to rename the “epoch node” into the “aeternity node”. Namely:

  • deprecated Docker Hub repository aeternity/epoch in favor of aeternity/aeternity: older images have been migrated to aeternity/aeternity; the latest tag of aeternity/epoch will always point to 1.3.0 until the repository is deleted in the future.
  • users fetching the Docker image must fetch it from the new Docker Hub repo aeternity/aeternity.
  • changed Docker images, username and home path to aeternity.
  • users specifying for the Docker image a custom user configuration or persisting the chain data must update how they use the image. Please refer to the dedicated [page][docker] for details.
  • updated package names to use aeternity prefix e.g. aeternity-1.3.0-ubuntu-x86_64.tar.gzinstead of epoch-1.3.0-ubuntu-x86_64.tar.gz
  • users retrieving the published release binaries for this release and following must update their scripts.
  • renamed OSX/macOS package name to use macos-x86_64 suffix e.g. aeternity-1.3.0-macos-x86_64.tar.gz instead of epoch-1.3.0-osx-10.13.6.tar.gz
  • users retrieving the published macOS release binaries for this release and following must update their scripts.
  • deprecated the bin/epoch binary for operating the node in favor of bin/aeternity; the bin/epoch binary prints a deprecation warning to standard error then redirects the invocation to the bin/aeternity one until aeternity/epoch is deleted at the next major version.
  • deprecated GitHub repository aeternity/epoch in favor of aeternity/aeternity; traffic is redirected from aeternity/epoch to aeternity/aeternity.

For further details about the release refer to the release notes.

Also, a number of consensus-breaking improvements to VM, which will be introduced with Minerva release, were completed last week including:

  • VM instructions for bit shifts were introduced to replace current implementations that rely on MUL and EXP (A bsl B = A * 2^B and A bsr B = A / 2^B), that had undesirable overflow properties and was not correct for negative A (and were failing for negative B).
  • Sophia became an often-requested function for verifying validity of cryptographic signatures: ecVerify
  • a generic hash function Crypto was introduced in Sophia. Before it was only possible to hash strings; the new function will allow for hashing of arbitrary values. The Crypto hash functions accept an element of any (first-order) type and allow for computing sha256, sha3, blake2b hashes of the input.

If you have any comments or questions, send them to use either in GitHub or in the development category of the Forum.

Get in touch:

GitHub | Forum | Reddit | Twitter | YouTube| LinkedIn

Leave a Reply

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