Skip to content

Releases: emercoin/emercoin

Emercoin 0.8.4

13 Feb 06:14
Compare
Choose a tag to compare

Release notes for Emercoin 0.8.4

This version contains several bugfixes and improvements:

  • Bugfix: Accept SegWit spending in mainnet.
  • Bugfix: Activate command name_scan_address.
  • Bugfix: Activate check signatures in ENUMER for individual phone numbers.
  • Improvement: Upgraded libevent version from 2.1.8 to 2.1.12.
  • Improvement: Added parameter max-value-length to command name_filter.
  • Improvement: Added extra 2 servers to the STUN list.

Upgrade is required, if:

  • You mining or minting EMCs.
  • You running ENUMER resolver.

For all others, upgrade is highly recommended, but is not required.

Emercoin 0.8.3

06 Sep 17:20
Compare
Choose a tag to compare

This vesrion contains several bugfixes, and a lot of improvements. It provides a more "rich and clean" view in the GUI, and
increases performance, security and stability for the Emer node. Upgradeing is recommended, especially for server applications.

Bugfixes:

  • Fix minig address for getauxblock to P2PK, to allow a miner to sign blocks.
  • Fix exception exit for getcheckpoint command.
  • Disallow adding transactions to mempool if marked by future time (no more than 2 hours of jitter allowed).
  • Activate full check for all Hard Checkpoints (previous 0.8.X checked only the last one).

Improvements:

  • Add output of RC4OK to entropy collection for SeedFast RNG.
  • RC4OK performance tuning, increased by ~15%.
  • Default modcache=1. This allows speculation caching of stake modifier for initial block download only.
  • Removed unnecessary code: coinbase UTXO for constake transaction.
  • GUI: Show the label or the P2PK address for coinstake TX. Now the GUI wallet prints label or EMC addresses for minting transactions.
    Note: if the input address is Segwit or P2SH, then the address, reflected in the minting TX list, is different from the original, because
    minting can be performed for P2PK address only, and representation of such advanced addresses is changed to legacy P2PK.
  • GUI: From GUI tab Minting, removed unmintable UTXOs (Name, multisig, etc).
  • Minting optimization. Unmintable UTXOs (Name, multisig, etc) and not-matured UTXOs aren't included into minting candidates.
    This saves CPU from useless attempts of "minting umnintable".
  • Optimized GetRandInt() function.
  • Added ban for peers, who provide incorrect historical blocks. These are 0.8.0, 0.8.1. Thus, if you are running one of these versions,
    it is strictly recommended for you to upgrade your Emer node, otherwise it can be banned by your peers.
  • Full redesign of PoS header spam protection. Instead of old code, where "PoW cooling" concept is used,
    this code utilizes the Token Bucket concept, which analyzes timestamps of headers and
    peers activity, and quickly bans peers, who send headers too often. Therefore, this code does not need PoW blcks anymore, and the new version
    has better stability, and can work on PoS only, if necessary, as same as testnet. Also, it does not need the config option posprotect.
    Pleaase remove it, if you used it before.

Emercoin 0.8.2

21 Aug 01:59
Compare
Choose a tag to compare

This release contains 3 bugfixes, and significant performance improvement. Upgrading is highly recommended. Details are the following:

Bugfixes:

  • Bug, reported by community member J.B. With this bug, Emer node does not accept into the mempool its own transaction, spent unconfirmed coins (i.e. previous transaction in mempool, too). This seems to suddenly turn balance to 0 after a minor payment, and no payments or name creations are allowed, until the ancestor TX is accepted into the blockchain. In this case, balance "returned back" to the wallet. This bug does not remove balance, but stops the user from creating a chain of transactions from a single UTXO, and makes the user nervous.
  • Bug, initially existing in 0.8.0 (see those release notes). It seems there is a de-serialization error for receiving a historical block. Debugging shows, this is happening on the sender's side, i.e. 0.8.0 prepares incorrect historical block for peers. As a result, such node is disconnected from the peer's side.
  • 3rd bug is result of performance increase. Node performs 1st check for end of initial block download after 15 minutes. It assumes - it is impossible to download the entire blockchain in time shorter than 15 minutes. If the blockchain downloads faster than this, the node will wait for the remaining interval. However, because of recent improvements, sometimes the blockchain will be downloaded faster than in 15 minutes. Best time from my tests: 11 minutes, with SSD drive and two peers on 1Gbit LAN. As a result, the node stuck in the phase "initial block download", when the actual download already ended. Now the initial interval decreased to 5 mins.

Improvements

Major improvement, allows for decreased blockchain download time from ~45 mins to ~20mins (entire blockchain from ~10 years). Changed original fast random generator, inherited from Bitcoin, to my RC4OK. Scientific article about RC4OK is in process, I hope, it will be published in several months. I did not modify the strong generator, to keep seed and privkeys secure.
Additional improvements related to wrappers around fast RND generator. I optimized it to use only the necessary quantity of bytes, instead of using 32 bytes per each request like in the original RND generation from Bitcoin. It also reduces the blockchain download time from ~20mins to ~15mins.

UPDATE

Added Linux binaries for non-tagged build 0.8.2.1, where is fixed bug in the function getauxblock. With this bug, a Pow-miner able to mine block, but unable send it to a peers. As result, block became orphan. Update is required for PoW miners only. Or, take the commit: f5f284e

Emercoin 0.8.1

08 Aug 15:45
Compare
Choose a tag to compare

This is a minor, but important change after 0.8.0 - The prefixes for the beech32 segwit address have changed.
New prefixes are:

  • em - for mainnet (was bc)
  • te - for testnet (was tb)

If you generated and use incorrect segwit addresses from 0.8.0 (bc/tb), please stop using them, and generate new addresses.
All your coins or names, held on bc/tb, are safe, and you can continue to hold them.

If you are using 0.8.0, you must upgrade to 0.8.1. If not, you may continue using your current version.

Emercoin 0.8.0 is released

23 Jul 03:08
Compare
Choose a tag to compare

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.

v0.7.12emc

04 Mar 19:31
Compare
Choose a tag to compare

EmerDNS:

  • Added support for SRV and TLSA records.
  • Added a DGA filter to combat botnets using emerDNS as a C2C tool.

ENUMER:

  • Added exceptions from the previous filter for the ENUM subsystem. This does not reduce security, since the correctness of ENUM records is confirmed by the verifier.
  • Added the ability to create a separate ENUM zone without verifiers. For such a zone, the prefix “~” is introduced.

Core:

  • Added changeaddress configuration parameter. If this parameter is specified, the change from transactions will be sent to this address, and not to the newly selected one from the keypool.
  • Added posprotect parameter, which is zero by default. The following explains why it is needed and how to use it.
  • Increased the limit of consecutive PoS blocks from 6 days to 90.

v0.7.11emc

03 Jan 02:54
05817b8
Compare
Choose a tag to compare

v0.7.11emc: Several important bugfixes. Upgrade is strictly recommended.

emerDNS:

  • Improved logging
  • Optimized ENUMER for NAPTR only
  • Bugfix: Set "_" as a valid name symbol

STUN:

  • Improved code, removed randfiller
  • Refresh STUN server list

emerSSL:

  • Fixed minor bug in GUI cert generator with 0 as Serial prefix

Core:

  • Added entropy cache for speedup blockchain download
  • Added hard chepoints
  • Migrate to boost 1.76, qt5

Randpay:

  • Fixed false mempool rejection 2nd RP TX
  • Fixed false mainnet mempool rejection
  • Added randpay-test.sh

Contrib:

  • Added app icons and .desktop file for Linux systems
  • Updated build tool for native build ARM, MacOS x86 and Mac M1

v0.7.10emc: Minor release. Upgrade is not required but recommended.

01 Oct 05:48
Compare
Choose a tag to compare

Minor release. Upgrade is not required, but recommended.

  1. CORE: Completely redesigned and rewritten PoS spam protection subsystem. Now it:
    deletes fake spam headers in a memory
    does not generate false bans for a correct peers.
  2. CORE: Added PoS spam protection to the testnet.
  3. CORE: Disabled build and maintain address->name index, used for API command name_scan_address. It speeds up blockchain download. You can activate this feature by nameaddress=1 config option, if you are using the command name_scan_address.
  4. RPC: fixed bug in API method name_scan_address.
  5. NET: Increased STUN server list to 701 entries. This is used to figure out your external IP address.
  6. CORE: PoW mining code is removed from release version, because some websites and antiviruses identify it as malicious miner. You can still activate this code in a debug version if you need to test things out.
  7. CORE: It is now possible to enter safe mode by receiving an alert from dev team. You can disable this feature by disablesafemode=0 config option.
  8. emerDNS: fixed dots-bug in TXT fields. Returns EDNS0 extension for NOERR answers only.
  9. emerSSL/GUI: removed fake root certificate “EMCSSL” from a *.p12 package.
  10. NET: Disabled propagate info about banned peers in a peer advertising process.

v0.7.9emc: Security release: fixes another bug in PoS spam filter. Upgrade is no…

18 Jun 21:19
Compare
Choose a tag to compare

Security update. Upgrade is not required, but recommended. It is however necessary to upgrade to at least version 0.7.7 or newer.

v0.7.8emc

08 Jun 16:40
Compare
Choose a tag to compare
Security: Improved PoS spam filter and checkpoint sync function.