The BitShares Core software has been updated to the 5.0.0 Protocol Release. The code name of the release is "Splash". The Core software is used to build the validation nodes that perform consensus of all transactions on the BitShares blockchain. This release includes additions, improvements, and changes to the consensus protocol.
The scheduled protocol upgrade time is
Monday, September 28, 2020 17:00:00 UTC (
Documentation for users may be be found at How BitShares Works.
Documentation for BitShares developers may be found at the BitShares Developer Portal.
Who Should Upgrade?
All node operators must upgrade to handle the protocol upgrade.
- All validation nodes must complete their upgrade prior to Protocol Activation
- A blockchain replay will automatically be performed after the validation node software is restarted. This typically takes a few hours on a modern CPU.
How to Upgrade from Source Code
- The code base requires a compiler that supports the C++ 14 standard
- The minimum supported boost version is 1.58, the maximum is 1.69.1
- The minimum supported CMake version is 3.2
Obtain the Source Code
The source code may be obtained by checking out the 5.0.0 tag. Download the source at:
Build the Binaries
The binaries may be built by using your pre-existing process, or by following the standard instructions that can be found in the wiki:
Deploy the Binaries
Your standard process for deploying the node software may be used. No additional requirements or precautions will be required to deploy the new release.
How to Upgrade with Docker
The latest Docker image may be found at BitShares Core Docker page and updated with
docker pull bitshares/bitshares-core
Binaries for download
Binaries of the command line interface (CLI) wallet and the node software are pre-built and available for download.
The changes for 5.0.0 Protocol Release are summarized below.
|Automated Market Making (AMM) / Liquidity Pools||2260||2261|
|Remove voting power from liquid BTS and tickets||2262||2263, 2267|
|Update websocket to support TLSv1.2||2255||FC-207|
|Improve API logging, especially useful for nodes running behind a reverse proxy||844||FC-134, 2167|
|Add voting statistics during maintenance time||-||2247|
|Fix replay percent calculation||2020, 2243||2246|
|Show "testnet" text when running witness_node for testnet||1995||2257|
Node Performance and Stability
|Implement simple concurrent_unordered_set, potentially fix node crash issue||1256||FC-204, 1308|
|Fix websocket crash or hang issues||1784, 1856||FC-201, 2204|
|Fix race condition in websocket server close||-||FC-205|
|Fix reconnect of delayed node||2034||2038|
|Add extended history tracking for selected accounts||2258||2259|
|Improve ES plugin logging||1953||2189, 2245|
|Rethrow plugin exception||2241||2242|
|Add mto_id to ticker data||-||2237|
|Improve error messages of history APIs, check if required plugins are enabled||2021||2158|
|Support boost 1.72||-||FC-189, FC-190|
|Update bloom_filter to an new version in FC||-||FC-176|
|Make space+type ids constexpr and get rid of useless definition||-||2073|
|Fix macOS build warning wrt 'tuple_size'||2197||FC-202|
|Fix potential out-of-bounds access in HTTP request parser||-||FC-178|
|Remove some debug code from account_object.cpp||-||2189|
|Remove useless code||-||2086|
Build Process and Continuous Integration
|Add GitHub Actions auto-build workflow||2054, 2110, 2253||2062, 2112, FC-180, FC-187, 2170, 2177, 2178, 2179, 2230, 2254, FC-206, FC-208|
|Show more detailed messages when running test cases in CI||-||FC-197, 2148|
|Improve SonarQube scanning in CI||-||2218, 2221, 2226|
|Run node test with force-validate option in CI||-||2251|
|Fix race condition about embed_genesis.cmake||2188||2250|
|Fix for perl issue building cli_wallet on Ubuntu 20 with PERL5LIB in environment||-||2236|
|Cleanup CMake modules in FC||-||FC-177|
|Complement license info about the FC library||-||FC-13|
|Exclude fc/tests from Doxygen docs||-||2215|
|Update default parameters and config in docker README||-||2231|
|Clean up test suites||720||2046|