NKN主网v.2.0.5发布

NKN主网v.2.0.5发布

我们在https://github.com/nknorg/nkn/releases上发布了主网版本v2.0.5。该版本引入了自动TLS证书应用/更新,提高了共识稳定性,减少了区块同步期间的内存/磁盘使用并修复了之前存在的漏洞。同时,新版本也包含一些较为重要的变化:

  1. NKN节点将尝试从let 's encrypt申请及更新它的TLS证书:端口80需为打开状态,并使用nknd作为root(管理员)运行。您也可选择不进行上述操作,但nknd将无法服务于TLS客户端;
  2. 从v2.0.5开始,所需的最低Golang版本为1.13。如果您运行的是DO/GCP/AWS老式1-click一键部署节点,你可以ssh远程登录到机器,复制粘贴下面一行脚本来自动升级Golang:

curl https://gist.githubusercontent.com/yilunzhang/2f5edffc16c2b6a999c33cb1c13d6728/raw/495ed090913ae9755e046b610779cef2152134e4/nkn-old-1-click-upgrade-golang.sh | sh

本次版本更新主要事项

HTTP / Websocket

  • 使用let 's encrypt添加自动TLS证书申请/更新,需要打开端口80

共识

  • 为了达到更快的收敛,使用随机共识拓扑
  • 减少请求区块建议消息的周期

区块同步

  • 为减少同步过程中的磁盘使用容量,区块链账本将在第一次同步期间进行修剪。因包含修剪过程,同步将需要更多时间,但同步兼修剪的总时间保持不变
  • 为减少同步期间的RAM内存使用,将批量同步头文件

其他

  • 修正回滚后当前区块高度的错误
  • 重新组织代码结构,以减少go SDK的内存使用

如何升级

  • 如果您正在使用nkn-commercial或nknx快速部署,则不需要进行任何额外操作
  • 如果您正在使用1-click DO/AWS/谷歌云一键部署,只需停止——重启——矿机,NKN主网将自动升级
  • 如果您下载了release的二进制文件版本,只需在https://github.com/nknorg/nkn/releases上再次下载,替换文件并重启nknd
  • 如果您准备从头开始,只需再次进行编译。
  • 如果您正在使用带有自动更新的脚本或教程,则在自动更新脚本正常运转的情况下,NKN主网可自动更新

我们不建议任何人手动下载ChainDB快照,在无法避免的情况下,您可以使用https://nkn.org/ChainDB_pruned_latest.zip或https://nkn.org/ChainDB_pruned_latest.tar.gz来下载已经修剪的ChainDB。