Skip to content

Steem 0.16.0

Compare
Choose a tag to compare
@mvandeberg mvandeberg released this 30 Nov 17:47
· 4242 commits to master since this release

Steem 0.16.0 Release Notes

Hardfork is scheduled for 2016/12/06 16:00:00 UTC (11:00:00 EST)

All witnesses should now upgrade.

Please see the following blog posts for the high level changes.

https://steemit.com/steem/@steemitblog/final-review-of-steem-economic-changes
https://steemit.com/steem/@steemitblog/steem-0-16-0-official-release

Technical Notes

Steem 0.16.0 is using Chainbase as its underlying database. The format of the block log and chain database are different than 0.15.0. You will need to resync your node. We recommend witnesses do the resync on a node other than their block producing node and copy the resulting shared memory file. For this to work you will need to run the same binary for both nodes as different compilers and operating systems can generate different memory layouts of the shared memory file.

There are a few new config file and command line options that are new to this release.

shared-file-size specifies the size of the shared memory file. For full nodes we recommend 32G and for consensus nodes, 10-12G should be sufficient. You can and should over provision your file as running out of space will currently crash steemd. If you specify a larger shared file size than currently exists, steemd will grow the shared file size to the desired size. Shrinking of the shared file is not supported.

shared-file-dir specifies the directory to save the shared file in. By default this is witness_node_data_dir/blockchain.

flush will specify a target number of blocks to process before flushing the chain database to disk. This is needed on Linux machines and a value of 100000 is recommended. It is not needed on OS X, but can be used if desired.

read-only will launch steemd in read only mode. This is recommended for dedicated API nodes.

read-forward-rpc will allow a read node to forward write requests to a write node. This is primarily used for propagating transactions from the CLI wallet to a write node. This connects to the same rpc endpoint used by the CLI wallet and other applications.

There is a new plugin, account_by_key which maintains a reverse lookup index of accounts by the key on their authority. This is needed by the witness plugin for displaying information about the accounts associated with the keys in your wallet. This is not needed for consensus.

For those running steemd on linux there are several virtual memory configuration options we recommend. The Linux virtual memory writes dirty pages of the shared file out to disk more often than is optimal which results in steemd being slowed down by redundant IO operations. These settings were chosen to optimize reindex time.

echo    75 | sudo tee /proc/sys/vm/dirty_background_ratio
echo  1000 | sudo tee /proc/sys/vm/dirty_expire_centisecs
echo    80 | sudo tee /proc/sys/vm/dirty_ratio
echo 30000 | sudo tee /proc/sys/vm/dirty_writeback_centisecs