Skip to content

BitShares Core 7.0.0 "Suez"

Compare
Choose a tag to compare
@abitmore abitmore released this 26 Sep 09:53
· 13 commits to master since this release
c07ea53

The BitShares Core software has been updated to the 7.0.0 Protocol Release. The codename of the 7.x releases is "Suez". The BitShares 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 (hard fork) time is Thursday, November 16, 2023 14:00:00 UTC (2023-11-16T14:00:00Z).

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 nodes need to be upgraded to handle the protocol upgrade (hard fork).

Command-line wallets need to be upgraded to connect to upgraded nodes.

How To Upgrade

Precautions

  • All validation nodes must complete their upgrade prior to Protocol Activation (hard fork).
  • A blockchain replay will be performed automatically when the validation node software starts for the first time. This typically takes few hours on a modern CPU.
  • This release contains breaking changes regarding limit orders and individual settlement fund that may break existing client applications. Please check the Protocol Changes section before upgrade.
  • There were some breaking changes in the 6.1.0 release (the previous version). If you are upgrading from an earlier version, please see the 6.1.0 release notes for more information.

How to Upgrade with Docker

The pre-built Docker image can be found on the BitShares Core Docker page and can be downloaded with the following command.

docker pull bitshares/bitshares-core:7.0

How to Upgrade from Source Code

Note:

  • The code base requires a compiler that supports the C++ 14 standard
  • The minimum supported boost version is 1.58, the maximum is 1.74
  • The minimum supported CMake version is 3.2
  • For Ubuntu users, it is recommended to build in Ubuntu 20.04 LTS (Focal Fossa).
    • Ubuntu 18.04 LTS (Bionic Beaver) and earlier versions are no longer supported.
    • Ubuntu 22.04 LTS (Jammy Jellyfish) is not yet supported.

Obtain the Source Code

The source code may be obtained by checking out the 7.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.

Binaries for download

Binaries of the command-line interface (CLI) wallet and the node software are pre-built and available for download.

Note:

  • These binary builds are reproducible and were built using Gitian. Please check the README of Gitian if you want to verify and/or contribute.
  • Starting from version 7.0.0, pre-built Linux binaries will not run on Ubuntu 18.04 LTS (Bionic).
Platform SHA256 Checksum
Microsoft Windows 984401f1e46c0458e8991ec61719f4e7c1bd1d96a351c3013e01592efacbd75d
Mac edfc685d6c9af6008fb35b3fed3e0368dbc256ab8fbaeb32118f58f558fc954c
Linux 4229c0ae8b64c7edd607c705815d79c4c925c4e0486c403a13eab7eef443fad6

Changes

The changes for 7.0.0 Protocol Release are summarized below.

Protocol

Description Issue Pull Request
Add Order-Sends-Take-Profit-Order (OSO) feature for market making 2535 2749, 2759, 2762
Add new operation to modify existing limit order (see notes about breaking changes) 1604 2743, 2776
Add credit deal auto-repayment feature 2595 2735, 2755, 2757, 2760
Add operation to update liquidity pools 2604 2720, 2754
Tighter peg when collateral price rises and settlement fund is not empty or settlement order exists (see notes about breaking changes) 2591 2721, 2727, 2748, 2768
Allow settling more than total debt amount in individual settlement fund when no sufficient price feeds 2587 2716, 2764

Node Functionality

Description Issue Pull Request
Add return value (what and how much is refunded) to virtual limit_order_cancel operation - 2729
Update default values of market history plugin options - 2702
Update seed nodes - 2769

Node Performance and Stability

Description Issue Pull Request
Improve node networking stability by better handling asio operation cancellation exceptions - FC-249, 2775

Node Plugins

Description Plugins Issue Pull Request
Support ElasticSearch 8 (see notes about deployment) ElasticSearch Operations, ElasticSearch Objects 2706 2707, 2709
Add missing is_virtual field in account history in ES, and fix a related API ElasticSearch Operations - 2730

API

This release does not contain any API changes.

Command-Line Wallet (CLI)

Description Issue Pull Request
Improve performance of account history wallet APIs by using the block_time field in operation_history_object 2643 2644
Fix "gethelp command in CLI wallet built with Ubuntu 20 lacks docs for command parameters" 2770 2771

Software Design

Description Issue Pull Request
Improve safe<T> 2147 FC-248, 2739
Fix Network Mapper Tool - 2718
Fix code smells - 2703, 2705, 2745, 2747

Build Process and Continuous Integration (CI)

Description Issue Pull Request
Use gcovr to process code coverage data - 2739, 2742, FC-248
Set a timeout for running unit tests in Github Actions - 2732
Remove SonarCloud cache and threads configuration as it is now by default 2738 2736, 2737, FC-248
Stop supporting Ubuntu 18.04 LTS 2670 2707, FC-248, Gitian-72
Update dependency versions used in Github Actions - 2724, 2752, 2775, 2779
Bump docker/build-push-action from 3 to 4 - 2722, 2726

Documentation

Description Issue Pull Request
Fix Doxygen warnings - 2780
Update project links, version and description in sonar-project.properties - 2714, 2715, 2740
Update license year - 2731
Update project brief and version in Doxyfile - 2767

Release Contributors

@abitmore (https://github.com/abitmore)
@litepresence (https://github.com/litepresence)
@mpaladin (https://github.com/mpaladin)
@nathanielhourt (https://github.com/nathanielhourt)
@technologiespro (https://github.com/technologiespro)