Skip to content

Releases: nknorg/nkn

v2.1.1

23 Apr 06:41
Compare
Choose a tag to compare

This version contains several significant security updates that greatly enhance the network security. The most noticeable change is adjusting Generate ID fee while invalidating all existing node ID. There are two transition block height:

  • After block height 2570000, old ID is still valid, but cannot be generated. New ID can be generated after block 2570000.
  • After block height 2600000, old ID is no longer valid. Node without new ID will need to generate new ID before joining the network.

To minimize impact on existing network, the NKN Foundation will pay for this new Generate ID fee for all qualified existing nodes, see https://forum.nkn.org/t/security-enhancement-adjusting-fees-for-generate-id/3243 for more info.

In addition, there are a few other updates:

  • Enhanced signature chain verification that will be enabled at block height 2570000.
  • Add subscriberHashPrefix parameter in get subscribers and get subscribers count RPC.

The new version is not compatible with previous versions starting from block height 2570000. Please make sure all nodes upgrade before this height.

v2.0.9

18 Apr 09:01
Compare
Choose a tag to compare

This version will prevent very long sigchain to gain additional advantage caused by sigchain bit shift. The new change is consensus incompatible and will be effective starting from block height 2543000. Please upgrade before this height to keep node running normally.

  • Add length limit for sigchain bit shift
  • Fix http json rpc request body not closed
  • Init log module in nknc to prevent panic

v2.0.8

07 Apr 08:41
Compare
Choose a tag to compare

This version optimizes database operation when processing subscribe transaction.

v2.0.7

03 Dec 07:56
Compare
Choose a tag to compare

This version contains a few database optimization and consensus upgrade, including:

  • Add per node leveldb config with randomized value
  • Add mechanism to detect latest block fork and recover
  • Start consensus timer using proposal received time

v2.0.6

12 Oct 23:05
Compare
Choose a tag to compare

Fix the bug that caused block syncing fail at certain block

v2.0.5

24 Sep 02:48
Compare
Choose a tag to compare

v2.0.5 introduces automatic TLS certificate application/renewal, improves consensus robustness, reduces memory/disk usage during block syncing, and fixed a few bugs. Starting from v2.0.5, minimal Golang version required is 1.13.

HTTP/Websocket

  • Add automatic TLS certificate apply/renew using let's encrypt, this requires port 80 to be open

Consensus

  • Use random consensus topology for faster convergence
  • Reduce request block proposal message round

Block Syncing

  • Prune ledger during first syncing to reduce syncing disk usage. Syncing will take longer time because it now includes pruning time as well, but overall syncing + pruning time will not be changed.
  • Sync header in batch to reduce RAM usage during syncing

Misc

  • Fix incorrect current block height after rollback
  • Reorganize code structure to reduce go SDK memory usage

v2.0.4

26 Aug 19:53
Compare
Choose a tag to compare

Fix the bug that consensus timer can be triggered without proposal and cause nodes to be not synchronized.

v2.0.3

26 Aug 03:05
Compare
Choose a tag to compare
  • Don't overwrite orig wallet.json directly in NewWalletStore
  • Refine nknc wallet error handled
  • password.GetPassword API support customized prompts
  • Support restore wallet from seed
  • Bugfix for Uint160.SetBytes(b) API
  • Fix download link displaying wrong url
  • Update web compiled verison

v2.0.2

12 Jul 12:35
Compare
Choose a tag to compare

Disable live pruning by default to reduce i/o usage during mining state.

v2.0.1

11 Jul 01:32
Compare
Choose a tag to compare

v2.0.1 greatly reduces pruning downtime and improves network stability.

Pruning

  • Node will prune db when saving blocks, so nknd only needs to compact database on start

Network

  • Increase max random neighbors to 16 for better block propagation reliability
  • Connect to random neighbors without sleep if random neighbors set is not full

Bug Fix

  • Fix wrong slice length in CleanBlockValidationState that may cause panic
  • Fix compiled nknd/nknc do not have verison set

Others

  • Add support for 32bit arm version (v5, v6, v7)
  • Change import path to v2 to allow import from other packages