Development

Aeternity GitHub metrics

Developer activity (from Aeternity Coinlib.io)

The aeternity Testnet was successfully upgraded! (on schedule) The UAT is now running Lima RC 5 (5.0.0-rc.5) The developer community will monitor network performance & stability in preparation for the Mainnet hardfork, scheduled for Oct 30. Read the road to Lima update.

“The signalling using the key block header field info is backward compatible, as the meaning of the value of such field is not under consensus. The activation of the new consensus protocol based on miner signalling is meant to be a temporary measure during the time interval when the new protocol may be activated on the network while the node is running. Once the network reasonably settles on whether to activate the new consensus protocol, the user is meant to enforce such decision on the eventual node restart either by configuration or by upgrading the node to a new version.”

aeternity Developers Weekly Updates are back on (40). The team got together in Prague for aeUni and is now back to work full of inspiration and new ideas. Follow up close the preparations for Lima hardfork.

aeternity’s Developers provided another large portion of updates (41) Watch the recording below to get the news on SDKs, wallets, StateChannels, Naming System AENS and more. Learn how the Lima hardfork is coming about.

Working New version of contracts æpp with Lima support Working New version of playground with Lima support Aeproject issue with .gitignore is fixed Aeproject issue with return code 0 for test commands and CI tools fixed Allow spend with the deployer Fixed issue with interruption when calling aeproject init command Issue with travis builds were fixed

Changelog:

Fixes unsupported node version 5.0.0-rc4 (#159) Language names written in full (#145) UI fixes (#157) Add deployed token to Token Registry (#153) Ask user to add token in the registry (#154)

Off-chain pinned environment

Design: PR #406

Implementation: PR #2746

This change provides SC participants with the possiblitity to pin the on-chain environment in their requests to the off-chain updates execution. It is an instrumental tool to manage rise and ensure expectations are met when performing updates.

State cache encryption

Design: PR #396

Implementation: PR #2630, PR #2803

This change adds on-disk encryption of the state cache which prevents certain attacks on untrusted SC nodes. While the code of the functionality is kept, the feature has been disabled for 5.0.0-rc.3 to allow an improved version to be released as part of 5.1.0.

Making client reconnect more flexible

Implementation: PR #2785, PR #2790

The various options for re-connecting to a running channel have been consolidated to reduce the complexity for the client and improve reliability of the implementation.

Improve and fix tests

Implementation: PR #2767, PR #2768, PR #2789, PR #2792

Various improvements to the SC integration tests and node system tests which involve SCs.

Other improvements

Implementation: PR #2757, PR #2759

Improved logging and refactoring of the aesc_offchain_update versioning.

State Channel UAT Test Suite

Implementation: PR #13, PR #14

The test suite has been heavily extended leading up to the AE Universe One Conference which helped identifying protocol issues and verifying the fixes which are part of the changes described above. New changes will involve moving towards a repeatable test setup which can be integrated into our CI.

Port of AE Universe Demo Changes to master

Implementation: PR #2801

The accumulated changes which were previously made to a dedicated branch have been ported to the master branch. Thus the next minor release v5.1.0 will include these changes. For more information on these changes take a look at the report from End of September 2019.

System Test Hardening

Implementation: PR #2832, PR #2865, PR #2905

The aeternity project runs a set of long-running system tests to stress test the latest master branch. They’ve identified a few bugs in the test setup as well as actual bugs in the implementation which have been dealt with. The result are more stable system tests which indicate a stabilized implementation.

Integration Test Improvements

Implementation: PR #2810, PR #2824, PR #2827, PR #2838, PR #2844, PR #2875

The integration tests are continuously being improved. More tests were added and existing tests modified to improve coverage and fix incorrect assumptions. Most changes have also led to simple bug-fixes in the process.

Refactor FSM message log and ensure early start of chain watcher

Implementation: PR #2872, PR #2879

The order of log messages has been fixed. Moreover, the requirement, that the chain watcher is started before performing actions which depend on it, is handled by providing a helper function to ensure the ordering. This prevents race conditions which were seen before.

Fix client re-establish notification when connecting to existing channel

Issue: #2854

Implementation: PR #2902

The channel_id was missing in the report which was confusing and required clients to wait longer for the id to be known. This has been fixed.

Unify the WS and FSM client messages

Implementation: PR #2833

This PR unifies the info reports sent from the WS client and the FSM.

This results in a reduction of the amount of data copied between processes when opening a channel and removes gproc from the FSM suite when opening a channel.

State Channel UAT Test Suite

Implementation: PR #15, PR #16, PR #18

The UAT has moved towards using the ExUnit testing framework which is a pre-requisite for setting up CI. The goal is to keep the UAT and feedback from it as close to the aeternity master branch as possible as well as offload

AEX-draft 12 off chain state. This expansion points out possibility of using blockchain for maintenance off chain state. You can use transaction payload to build off-chain state (most likely when it’s small). You can use it to validate off chain data using hash in payload. It does not enforce any communication protocol, besides:

using specific zero spend transaction to yourself proposing to zip json payload of the transaction

It is probably one of the most common usages of blockchain, e.g. in Proof of Existence.

AEX standardizes way to emit data and reminds about this possibility, instead, growing on-chain state.

AirGap Wallet

Changed the date of the message when migrated tokens will be available to end of October.

AirGap Vault

Worked on a bug that prevented Base Aepp <=> AirGap Vault interaction

AirGap Coin Library

Worked on a new serializer that allows messages to be encoded in a more efficient way (eg. for QR codes)

Other

Discussions surrounding the AEX proposals with other people in the AE community

AEX-7 will be removed because of the overlap with AEX-2. A new AEX will be created that builds upon AEX-2

SDK JS 6.0.0 for aeternity is out!

Change AENS TLD for Lima from .aet to .chain

nstall it with pnpm/yarn/npm install aeternity/aepp-sdk

NPM is here.

Release is here.

Python SDK 6.0.0 for aeternity is out! #æsdk

Change AENS TLD for Lima from .aet to .chain and much more

Install it with `pip install aepp-sdk==6.0.0`.

PyPI is here.

Release is here.

As on 30th of october the aeternity Lima hardfork is scheduled, kryptokrauts team is preparing the aepp-sdk-java to support upcoming features like the ÆNS auctioning. Follow the progress in the board on github.

aeproject new version is out — 1.0.3. — Lima support added

Changed

Documentation is updated, requirements added SDK version updated to 6.0.0 Node version updated to 5.0.0rc.5 Compiler version updated to 4.0.0

Fixes