Skip to content

Emercoin 0.8.0 is released

Compare
Choose a tag to compare
@maxihatop maxihatop released this 23 Jul 03:08
· 66 commits to master since this release

There is lot of fundamental changes, and we recommend making a backup of your wallet.dat before upgrading,
and re-downloading the blockchain.

What is new:

Core (Wallet):

Emercoin has been ported to Bitcoin Core 0.19.1. This core contains a number improvements in terms of performance.
Together with our optimizations, this greatly improved efficiency of CPU usage, ~5x times.

Added dynamic balancing of download queues, which speeds up the blockchain download. Downloading a full blockchain with a good network takes less than an hour.

Added mechanism for sending your own transactions from mempool upon receiving a block that does not contain these transactions. This helps to propagate stuck transactions in the mempool faster.

Added the ability to sign messages with signmessage addresses beech32 (by the way, Bitcoin can't do that).

Increased detail information in JSON responses. So getinfo returns both difficulty, and name_show/name_history - shows the vout for the name.

SegWit:

If the 0.7.X releases introduced SetWit support in the kernel, then this version of SegWit is used by default, including generation an address for change coins, or a new address for payment or a name. If you need a legacy address of the old format (say, to receive coins from an old client or from an exchange), then when creating an address in the "Receive" menu, deselect the default checkbox item "Generate native segwit (Bech32) address".
If you need to create a name for a new legacy-address, then in the address bar for name "New address" enter the word "legacy".
That is, if there is an empty string, a new beech32 address will be created, and if the word is "legacy", then the address of the old format will be created.

Randpay (Probabilistic payment system):

The interface to the Randpay subsystem has been completely changed, it has become more high level and simpler.
Now there are new commands (old commands have been removed/replaced):

  • randpay_mkchap - set a riddle from the server to the client
  • randpay_mktx - create a transaction, the answer to the riddle puzzle
  • randpay_accept - accept the answer, and get money if you're lucky.

Use help in console for these functions for options.

Using segwit beech32 address by default, still able to generate legacy addresses by specifying a flag when requested. See help randpay_mktx for details.

NVS (Name-Value Storage):

Prepared but not activated (activation will occur at 90% updating the network to a new version, including PoW miners) the ability to include multiple operations with names in one transaction. While working with names as before, only the default addresses have become beech32. But even after the activation of the new functionality the old name operations will continue to work. But now the command "decoderawtransaction" returns the names and information inside the UTXO, and not in the information about the transaction, as in the new format it will be possible to have multiple UTXOs with names in one transaction.

Added config parameter "-nametxoutamount", which allows you to add to a name-UTXO amount greater than the default subcent. This is useful when sending a name whose recipient does not have coins, and he will need to do name_update, for example in blockchain voting systems.

EmerDNS (Alternative domain system):

Added a filter to block DGA requests from botnets.
Added support for SRV, CAA, and TLSA records

STUN (Wallet IP detection mechanism):

Added periodic requests for external IP address via STUN. It may be useful when changing the network configuration, such as enabling or disabling a VPN.

Added config parameter "-stuntimio", indicating the initial interval between stun requests, which increases by ~1% after each request.
By default, its 15 min. Special values: 0 - requests once, during startup (as the current 0.7.X does), -1 - don't use STUN.

Updated the STUN server list to over 1000 entries.

ENUMER (for IP Telephony):

Added the ability to declare enum zones without checking signatures verifiers. Servicing only requests of type NAPTR, the rest are ignored.

Known bugs:

When downloading the blockchain at the time of the transition from the synchronization of headers to while downloading blocks, the deserialization of some messages fails. Currently, the client simply disconnects from that peer, and continues work. If the blockchain download is frozen, just restart the Emercoin client. This happens rarely, in the initial download only. Thus, bug is not significant, it has a low priority.

The BIP70 is not activated, since requires protobuf, which is not within dependency libraries.
Since BIP70 is just a option for purchase from sites through a URI like bitcoin:// which is disabled and rarely used even for Bitcoin, then for Emercoin it is also not relevant or important.