Skip to content

v0.21.0: Merged registry into Agora

Compare
Choose a tag to compare
@Geod24 Geod24 released this 09 Sep 05:16
· 1094 commits to v0.x.x since this release

Major improvements since v0.20.0:

Removed backward compatibility PUT /transaction endpoint

Agora v0.20.0 introduced a POST /transaction endpoint, which is more correct than PUT.
The PUT endpoint was left for v0.20.0 release for backward compatibility, and has now been removed.

Maximum coin supply raised

In preparation for the implementation of block rewards, the maximum coin supply has been raised,
from 500,000,000 to 4,950,000,000.

Registry is now an integral part of Agora

The name registry, previously an independent server (built with dub -c name-registry),
and hosted in its own docker image (bosagora/registry) is now an integral part of Agora.
As a result, the aforementioned configuration has been removed, and the bosagora/registry
Docker Hub repository will no longer be updated (and removed in the near future).
Instead, one should set registry.enabled to true in the configuration file.
All previous registry options are available in the registry section.

Registry will now validate registered validators

Previously, any syntactically valid public key (essentially, any public key a user would generate)
was accepted for registration by the name registry. From this release, the registry will first check
its ledger, and only accept enrolled validators. The registry needs to follow the network as either
a full node or a validator.

Few databases improvements regarding fees

In preparation for block rewards, a few changes have been made to the database schema, requiring a reset.

Registry will now do more validation and return correct record type

A few extra validations have been added to the registry to ensure it complies with the DNS spec more accurately,
which should not have any visible effect on well formed queries.
Additionally, the registry now properly recognize IP addresses and domain name, and will return the correct
record type (CNAME) when a domain name is used for registration, instead of trying to convert it to an IP
address and ignore it on failure as it previously did.

Fixes a spurious formatting error on block reward error

When a full payout period does not contain any transaction, an error is currently triggered.
This error was however swallowed by another error which triggers as a result of the first one.
That second error has been fixed, and the corner case of a payout period without any fee will be
fixed in the upcoming release.

Talos: Dependencies upgrades

Talos dependencies have been overhauled and simplified, resulting in a more secure build.

Added support for zone configuration in the registry

Users can now configure the SOA record of a zone, using the following syntax:

registry:
  enabled: true
  dns:
    authoritative:
      # The zone name
      validators.bosagora.io:
        # Contact information. `dns.validators.bosagora.io` is also accepted,
        # as it is the SOA syntax.
        email: [email protected]
        # The following are optional but available
        refresh:
          minutes: 1
        retry:
          seconds: 30
        expire:
          minutes: 10
        minimum:
          minutes: 1