NKN MainNet v2.0.5 Release

We released a new MainNet version v2.0.5 at https://github.com/nknorg/nkn/releases. This version introduces automatic TLS certificate application/renewal, improves consensus robustness, reduces memory/disk usage during block syncing, and fixed a few bugs. There are also some important changes that EVERYONE should be aware:

  • NKN node will try to apply and renew its own TLS certificate from let’s encrypt, which requires port 80 to be open and nknd is run as root. This is optional, but will enable nknd to serve TLS clients.
  • Starting from v2.0.5, minimal Golang version required is 1.13. If you are running old 1-click node from DO/GCP/AWS, you can ssh into the machine, copy and paste this line to upgrade Golang:
curl https://gist.githubusercontent.com/yilunzhang/2f5edffc16c2b6a999c33cb1c13d6728/raw/4101eee4b5e4a1406accbdf3ddeb1dc40189c484/nkn-old-1-click-upgrade-golang.sh | sh

Change Note

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

How to Upgrade

  • If you are using nkn-commercial or nknx fast deploy, you don’t need to do anything.
  • If you are using one-click on DO/AWS/Google Cloud, you just need to stop and restart and miner and it will upgrade automatically.
  • If you downloaded the release version, you just need to download it again at https://github.com/nknorg/nkn/releases , replace files and start nknd again
  • If you build from scratch, you just need to do the build again.
  • If you are using some scripts or tutorials that has auto-updater, then it should be automatic if the auto-updater is working properly.

We don’t recommend anyone to download the ChainDB snapshot manually, but if you really want or need, you can use https://nkn.org/ChainDB_pruned_latest.zip or https://nkn.org/ChainDB_pruned_latest.tar.gz for pruned ChainDB.

1 Like