NKN MainNet v1.0.7-beta Release

We released a new version v1.0.7-beta. This release limits the memory usage of txpool and block syncing and also fix a few bugs. The following parameters in config.json can be used to control memory usage:

  • TxPoolMaxMemorySize, in unit of MB, default to 32MB
  • SyncBlocksMaxMemorySize, in unit of MB, default to 10% of max RAM

This is a compatible upgrade, but upgrade is highly recommended since it controls RAM usage much less likely to crash due to out of memory issue. The old version might be deprecated at some point to accelerate the upgrade process.

  • If you are using one-click on DO/AWS/Google Cloud or one-click GUI, you just need to restart your instance (or kill nknd process and let it restart).
  • If you downloaded the release version, you just need to download it again https://github.com/nknorg/nkn/releases , replace your nknd and nknc and run 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-updator, then it should be automatic if the auto-updator is working properly.

You probably don’t need to download the ChainDB snapshot manually, but if you really want or need, you can use https://nkn.org/ChainDB_latest.zip .

To update to the new version, please stop your nknd, rebuild (or download the latest binary from https://github.com/nknorg/nkn/releases ), and then restart. If you are using the GUI miner or auto-updater, then you just need to stop and restart and miner and it will upgrade automatically.

Thank you for the quick resolution of some crucial issues.
If I may ask, does TxPoolMaxMemorySize has any effect on how many transaction a node can handle?
Does it affect the capacity of node’s relayed msgs?
Or better yet simple, what part does TxPoolMaxMemorySize play in the node’s configuration and capacity to participate in the network.

It plays a very simple role: the max size of pending txn (not packed into block yet) to store in memory. When your node is selected as the block proposer, it will grab some pending txns (ordered by fee) from the txpool and put into the block.

So the short answer is: it will NOT affect your node’s relay message or chance to mine a block, it basically ONLY controls how much RAM your node uses. As a side effect, setting it too small may also cause your node to use slightly more bandwidth because if it needs a txn that is removed from memory due to RAM limitation, it will ask from its neighbors.

1 Like


1 Like