State of Development: Week of July 16th, 2018

Release 0.18.0 was successfully deployed to æternity’s Testnet last week.

The focus of the release was the introduction of a new peer pooling strategy.

This new pooling strategy makes sure that as the peer network grows, epoch nodes can effectively gossip with other nodes without being overwhelmed by the number of connections they have to manage. The strategy is based on a stochastic pool as described in the protocol documentation. As a result, there are now limits on the maximum number of inbound and outbound connections. Inbound connections over the limit are made temporary and are only used for gossiping a ping exchange, and then they are closed.

As a result new configuration parameters were added:

(`sync` > max_inbound) : The maximum number of inbound connections after which inbound connections are temporary (only used for a single ping); Default: 100.
(`sync` > max_inbound_hard) : The maximum number of inbound connections; Default: 1000.
(`sync` > max_outbound) : The maximum number of outbound connections; Default: 10.
(`sync` > single_outbound_per_group) : If the extra outbound connections should be to nodes from different address groups (IP netmask /16); Default true.

The following parameters were removed:

(`sync` > max_connections) : This configuration key has been renamed to (`sync` > max_inbound_hard) for consistency.

Additionally, the following improvements were introduced in the release:

  • Enabled the HTTP path /contract/decode-data to decode return values from Sophia contract calls.
  • The Sophia syntax for record type definitions was modified to record keyword (rather than type).
  • A new configuration parameter was introduced — beneficiary, an encoded form of account pubkey that will receive rewards from mining on a node. This parameter is to be set in User provided configuration and is mandatory to start a node.
  • Added a new field — beneficiary — to block. This impacts consensus.
  • Improved the stability of the garbage collection of transactions in the mempool.
  • Added a new channel transaction channel_snapshot_solo for unilaterally providing state_hash and round to the chain.
  • Refactored channels’ closing transaction to add more clarity around closing amounts.

Keep up with æternity’s dev team progress by following the Pivotal Tracker tool.


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 *