Development

Aeternity GitHub metrics

Developer activity (from Aeternity Coinlib.io)

The æternity ERC-20 AE token will become non-transferable on September 2, 2019. Approximate time when aeternity Ethereum ERC20 token will become non-transferable this year. 1567454169 is hardcoded into the contract — see here.

Dynamic transaction fee calculation

Implementation: PR #2588

The FSM used a hardcoded fee of 30 000 * local gas price (or

33 000) for all transactions. In certain cases this was insufficient and

transactions which should be ok were rejected. This was changes such that the

fee is computed dynamically for each transaction. The only exception is the

channel_mutual_close_tx transaction which requires a hard-coded fee.

Updated UML diagram

Implementation: PR #2591, PR #2596

The UML diagram describing the core states of the SC FSM has been updated.

Previously it was part of the source file itself. It has been moved out into its

own file 2 to ease maintenance. The resulting diagram can be viewed in the

wiki 1. The intention is to keep the UML diagram up-to-date with

changes to the source code and easily comprehensible.

Websocket client disconnect and reconnect

Design: PR #389

Implementation: PR #2602, PR #2603

Clients can now disconnect from the FSM without the FSM shutting down

immediately. Instead a client may reconnect using the new off-chain

channel_client_reconnect_tx transaction. The tx contains the information

needed to locate the right FSM, including the client’s public key.

It must be signed by the client, proving that it possesses the private key

(or other signing capability) for the account.

Improved hard fork detection

Implementation: PR #2608

The detection logic was improved to detect whether a protocol version was active

before.

Refactorings and general improvements

Design: PR #381, PR #383

Implementation: PR #2591, PR #2596, PR #2597

The FSM has grown quite large over the last year. Therefore, an ongoing effort

is to refactor parts of the code to make it easier to comprehend and

maintainable. Refactorings are meant to be done is small chunks to keep impact

low and feature development going.

The initial design of virtual state channels

Design: PR #382

An initial design of VSCs is in review, which is meant to act as a proposal for

further community discussion.

Contract monitor — an Elixir SDK example application. The app was done during the 2-day hackathon with the idea of showcasing some of the SDK’s features. It keeps track of a smart contract’s usage in realtime by utilizing the SDK’s event listener, as well as retrieving data from the past by using the middleware. It also lists any contract events that have been emitted after the monitoring has begun. Note: it works only with testnet contracts.

A guide on how to run the application is on github.

SDK JS 4.3.0 for aeternity is out! New stamp to manage multiple nodes! Install it.

Bug Fixes

State Channels: Fix onChainTx event params (#566) (11c85eb) State Channels: Fix websocket url (#558) (33c1fd8) Swagger: Pass query params in case of get request (#570)

Code Refactoring

State Channel: Do not include white space for outgoing websocket messages (#559)

Features

ACI: Implement sophia variant type (#567) (8505dcf) Contract: add ability to use call-static/dry-run without keyPair (#577) (c38edd9)

So now you can make static calls without keypair, instead will be use zero accounts with predefined amount of tokens NodePool: Implement NodePool stamp (#574) (674166c)

Change composition of AE stamp, compose it with NodePool instead of Node. Now you have ability to manage more then one Node. State Channel: make state channel compatible with aeternity@4.0.0 (#568) (0d0e09b) TxBuilder: Add helper for producing tx hash (#579) (e1b405e) AE Make all AE stamps composed with Accounts (#581)

a)Change composition of Universal stamp. Now composed with Accounts instead of b)MemoryAccount.

c)Now you have ability to manage more then one Account and init sdk without account at all

Docs

ACI Add some additional clarification to getContractInstance

CLI JS 2.3.0 for aeternity is out. SDK update and a few bug fixes.

Bug Fixes

Account: Fix — json for account commands. Add proper error code to AENS commands. (#90) (7de13eb) CLI: Fix exit codes around the CLI (#84) (c775e1d)

Features