Fixes related to bug in big::vector unpack (loading from stream) leading to fail state snapshot loading.
New command-line options:
- --dump-snapshot snapshot_name
- --load-snapshot snapshot_name
- --snapshot-root-dir directory_for_storing_snapshots (creates directory if it doesn't already exist)
Node management improvements
- Snapshot dump/load: A node’s state information can be stored to disk, then used to setup a new node, without requiring a time-consuming replay of the blockchain. Snapshots are stored in the snapshot root directory as a subdirectory with the snapshot name supplied when creating the snapshot. By default, the snapshot root directory is a directory called snapshot in the application's data directory.
- Replays can be stopped via Ctrl-C and resumed. To resume an interrupted replay, relaunch hived, and hived will auto-resume the replay if the state's headblock is less than the block_log's headblock.
A full replay currently takes 16-18 hours. Previously this took several days.
Huge reduction in memory requirements. A fully featured API node now only requires 16GB RAM.
New virtual operations to supply more information to hivemind and other microservices:
- Hive must be staked for 30 days before it counts towards witness and proposal voting tallies.
Updates to Decentralized Hive Fund
- steem.dao account has been replaced by hive.fund account: #25
- Hive in the treasury fund (hive.fund) will automatically be converted over time to Hive-backed Dollars (HBD). !97
- The HBD in the decentralized hive fund doesn't count towards the debt ratio !97
- Proposals can be updated after creation time using update_proposal operation. Changes include title changes and lowering the proposal payout request. !48
- Increased creation fee for long running proposals, the base price (10 HBD) increases by 1 HBD per extra day past 60 days !48
- Fixed bug in descending order in DHF API (another regression from when worker proposal code was originally merged in): #31
- Restored support for last_id parameter needed for proposal pagination (this was lost when Steemit merged in the original worker proposal code): #32
- Proposal votes are summed up and available via API queries before a proposal becomes active (previously this data was only available after the proposal became active): #33
- Airdrop for accounts voted for via proposal system.
- Major rebranding, replace all Steem/SBD references with Hive/HBD
- Updated code to allow for major release version changes (e.g. 0.23.0 → 1.24.0)
- Chain id changed from 0x0000… to 0xBEEABODE…
- Improved validate_invariants to detect any future code changes that might leave the ledger in an inconsistent state.
Long-standing bug fixes
- Fixed bugs in node shutdown (by Ctrl+C) that led to intermittent crashes at shutdown.
- Fixed fc bug unpacking flat sets that resulted in bug when restoring a snapshot.