BitShares Core 3.2.0
UPDATE: this release has a stability issue, please use 3.2.1
.
The BitShares Core software has been updated to the 3.2.0 Feature Release. The Core software is used to build the validation nodes that perform consensus of all transactions on the BitShares blockchain. This release includes additions and improvements but does not include any changes to the consensus protocol.
Documentation for users may be be found at How BitShares Works.
Documentation for BitShares developers may be now be found at the new BitShares Developer Portal.
Who Should Upgrade?
No upgrade is required by any operator of a validation node. Yet many operators will benefit by upgrading.
Operators of API nodes should upgrade
- to avoid duplication of results in the
get_key_references
API call, - to enable configurable limits on many API calls,
- to provide better responses to malformed API calls,
- to improve failure handling in the
get_accounts
API call, and - to return more complete information in the
get_full_accounts
call, and - to support new APIs.
Note: some API changes may break existing clients, described in the API section.
Users of the command line interface wallet (CLI) will benefit from stability improvements (1690, 1772), improved security while unlocking and improved logging.
Upgrade Process
Precautions
A replay will automatically be executed after the upgrade.
If the config file (config.ini
) includes the setting required-participation = false
, the corresponding line should be removed or commented out, or change false
to an appropriate number between 0 and 100, otherwise witness_node won't start.
Please check the 3.1.0 Release Notes for more information if you are upgrading from a version prior to 3.1.0.
How to Upgrade from Source Code
Note: the minimum build requirements have changed since this release:
- The code base now requires a compiler that supports the C 14 standard (previously C 11).
- The minimum supported boost version is now 1.58 (previously 1.57).
- The minimum supported CMake version is now 3.1 (previously 2.x).
Obtain the Source Code
The source code may be obtained by checking out the 3.2.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
UPDATE: links to binaries were removed due to stability issue in the code.
Binaries of the command line interface (CLI) wallet, node software, and delayed node are pre-built and available for download.
Platform | SHA256 Checksum |
---|---|
Microsoft Windows | 2d5bfee4de04431280e9717ae5b8f73cb81ffe5e1176a8b2bdbfb3f765b798b5 |
Mac | c83ed7f9fd3851b4f3cf87450535d947fb5821cfc18f70a9606fe2b4fb3c0f6d |
Linux | 76cccb29d2d2d8ce455f3700ab34bf7092327b53717eaa8e7e6607b32879c2f9 |
Changes
The changes for 3.2.0 Feature Release are summarized below.
Core Functionality
Description | Issue | Pull Request |
---|---|---|
Fix Market Fee Sharing percentage check | 1775 | |
Disallow temp-account to withdraw vested balance | 1800 | 1813 |
API
Description | Issue | Pull Request |
---|---|---|
Dedupe results of get_key_references API |
1209 | 1795 |
Add support for optional parameters | FC-126 | |
Fix get_accounts error handling |
1734 | 1765 |
Add missing data to get_full_accounts , add new APIs get_assets_by_issuer , get_call_orders_by_account and get_settle_orders_by_account |
1654 | 1749 |
Add set_auto_subscription API, fix subscription issues found in get_assets , get_accounts and lookup_accounts |
726 777 | 1731 |
The get_full_accounts
API
- will return different fields: two fields (
withdraws
andhtlcs
) have been removed and are replaced by four fields (withdraws_from
,withdraws_to
,htlcs_from
,htlcs_to
); - lists returned by the API are limited to certain sizes (configurable by node operator), a
more_data_available
field is added to indicate what lists are incomplete due to the limit. Clients need to call other APIs to query for next pages of data.
Calls to get_full_accounts
, get_accounts
, and get_assets
will no longer produce error messages when querying for non-existent accounts or assets. Instead,
get_full_accounts
will return an empty result,get_accounts
will return null, andget_assets
will return null.
Node Functionality
Description | Issue | Pull Request |
---|---|---|
Reduce Logging | 1798 | 1799 |
Fix required-participation parameter |
1786 | 1787 |
Configurable API call limits | 783 | 1673 1817 |
Fix JSONRPC error handling | 1688 | FC-135 |
Command Line Interface Wallet (CLI)
Description | Issue | Pull Request |
---|---|---|
Safer unlock and set_password commands in cli_wallet |
1171 | FC-97 1382 |
Fix crash on exit, improved TAB completion and command history navigation (non-Windows) | 1690 | FC-119 FC-129 FC-136 1695 1788 |
Replace broken HTTP parser, -H option now serves websocket connection as well, -r option will be deprecated |
1772 | 1782 |
Logging improvements | 1149 1567 | 1528 1814 |
Software Design
Description | Issue | Pull Request |
---|---|---|
Performance improvement in Market fee sharing | 1801 | |
Extend static_variant with is_type helper |
1769 | FC-138 1792 |
Use explicit template instantiation to speed up builds | FC-133 1768 1818 | |
Upgrade C standard | 847 | FC-114 FC-131 1668 1747 |
Fix endianness issues | 1196 | FC-122 1714 |
Refactor protocol definition into separate library | 1506 | FC-123 1737 |
Simplify FC | FC-120 | |
Revert "wallet compatibility issue" | - | 1815 |
Minor fixes | FC-118 FC-130 1746 1748 1752 1793 |
Build Process
Description | Issue | Pull Request |
---|---|---|
OpenSSL 1.1.1 linking issue | 1791 | FC-139 |
Wrong chain ID on windows | 1754 | 1756 |
Fix cross-compiling for windows | 1724 | FC-125 |
Fix windows build | FC-111 FC-113 FC-132 | |
Fix docker build and config | 1823 1824 | 1825 |
Unit Tests
Description | Issue | Pull Request |
---|---|---|
Travis / sonar fixes | 1750 |
Release Contributors
@abitmore
@cogutvalera
@crypto-ape
@cwyyprog
@dyakovitsky
@emfrias
@jmjatlanta
@manikey123
@nathanhourt
@oxarbitrage
@pmconrad
@tperalta82