Skip to content

Emercoin 0.8.2

Compare
Choose a tag to compare
@maxihatop maxihatop released this 21 Aug 01:59
· 50 commits to master since this release

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