Skip to content

Releases: nknorg/nkn

v2.2.1

14 May 08:40
Compare
Choose a tag to compare

This version supports WebRTC for client-node communication. WebRTC will be used to replace WSS for JavaScript clients running in https environments. It is the final and most important step towards fully decentralized communication in browsers. In addition, this version contains several performance optimization, bug fixes and security patches. Upgrade is required to support new WebRTC clients.

What's Changed

Full Changelog: v2.2.0...v2.2.1

v2.2.0

03 Mar 06:35
Compare
Choose a tag to compare

This version adds a few major features including client authorization, client message cache, transaction pool sync. In addition, this version contains several performance optimization, bug fixes and security patches. Upgrade is highly recommended.

What's Changed

  • Create localNode interface by @billfort in #871
  • Implement websocket client connection authorization by @billfort in #874
  • Implement client message cache expiration and memory limitation by @billfort in #876
  • Implement transaction pool sync by @billfort in #872
  • Upgrade docker build base image by @yilunzhang in #889
  • replace deprecate lib ioutil with new one by @bufrr in #907
  • add ledger mode to node data and getnodestate rpc response by @yilunzhang in #905
  • support multiple domain name for node certificate by @bufrr in #910
  • support wildcard certs by @bufrr in #928
  • remove ledger usage when create localnode by @bufrr in #931

New Contributors

Full Changelog: v2.1.9...v2.2.0

v2.1.9

24 Jun 00:02
Compare
Choose a tag to compare

This version introduces new txn fee priority mechanism based on fee per size. In addition, this version contains several performance optimization, bug fixes and security patch. Upgrade is highly recommended.

What's Changed

New Contributors

Full Changelog: v2.1.8...v2.1.9

v2.1.8

24 Feb 03:25
Compare
Choose a tag to compare

This version introduces uptime-based routing, proposed in NKP-0021. The uptime and latency will be used together to compute an effective latency, resulting in a routing rule that prefers neighbors with lower latency (fast) and higher uptime (stable).

This is the initial implementation of NKP-0021. The curve and parameters are subject to change in later versions while we collect more data and feedbacks of this version.

v2.1.7

18 Oct 10:49
Compare
Choose a tag to compare

This version introduces fast sync and light sync for faster block sync and smaller ledger size.

Experimental release of fast sync and light sync

In this version we are introducing two new sync mode: fast sync and light sync.

  • Fast sync: node will sync the same full block history as before, but much faster by syncing the state trie directly. Think of it as a decentralized replacement of the ChainDB snapshot that many people are using.

  • Light sync: node will only sync headers of old blocks without transactions. The local ledger size will be much smaller than before (ChainDB size is about 4GB at the time of the release), but node will not be able to respond to getblock and gettransaction RPC requests for old blocks/transactions. We recommend using light sync only when node disk space is not enough.

Currently fast sync and light sync mode are still in experimental stage, and not enabled by default.

How to enable fast sync and light sync

Please note that fast sync and light sync can only be enabled when node has NO local ChainDB directory (i.e. a fresh sync). You need to remove the ChainDB directory and let node do a fresh sync if you want to enable them.

There are two ways to enable fast sync and light sync:

  • Add --sync fast argument when starting nknd to enable fast sync, or add --sync light argument when starting nknd to enable light sync.

  • Add "SyncMode": "fast" to config.json to enable fast sync, or add "SyncMode": "light" to config.json to enable light sync.

You should only choose one sync mode, not both.

Other changes

  • Add getheader RPC method
  • Add result cache to getsubscriberscount RPC method
  • Add MaxRollbackBlocks into config

v2.1.6

16 Aug 12:23
Compare
Choose a tag to compare

This version has two major changes:

  1. Change bonus mining reward adjust interval from 1,576,800 blocks to 1 block. This change only affects the bonus mining reward from donation contribution (including Generate ID fee contribution). The bonus mining reward will still be released at the rate of 50% per 1,576,800 blocks just as before, but with more smooth release curve. The change will be effective at block height 3,030,000. After the effective height, mining reward is expected to increase immediately by 0.58 NKN.
  2. Add get trie state message and handler as the phase 1 of fast sync upgrade. This change will enable nodes to respond to get trie state messages, in preparation of the next phase of fast sync.

Due to consensus change, this version is a mandatory upgrade. Please upgrade before block height 3,030,000.

v2.1.5

22 Jul 08:49
Compare
Choose a tag to compare

This version introduced enhanced security mechanism for sigchain miner selection, including using block random beacon as salt when selecting miner, and truncated exponential weight for each sigchain element. The new mechanisms will be activated at block height 2,900,000. Please make sure all nodes upgrade before this height.

v2.1.4

17 May 02:59
Compare
Choose a tag to compare

This version adjusts a few sigchain related consensus parameters to enhance network security. The change will be effective at block height 2,651,000. Please make sure all nodes upgrade before this height.

v2.1.3

11 May 11:33
Compare
Choose a tag to compare

This version contains a few important sigchain related consensus upgrades that will greatly increase network security:

  • Introduce sighash left shift mechanism
  • Implement sighash left shift for sigchain with skipped hops
  • Implement sighash left shift for sigchain with recent miners

The new mechanism will be enabled at block height 2,633,000. Please make sure all nodes upgrade before this height.

In addition, a few improvements and bug fixes are included in this version:

  • Reduce the log level of some common message
  • Fix the bug that node with certain local ledger cannot join the network
  • Prevent nknc from creating empty log file on each start

v2.1.2

26 Apr 16:32
Compare
Choose a tag to compare

This version disables sigchain objection.
This mechanism will be re-enabled after switching to new ID.