Skip to content

BitShares Core 6.0.0 "Mekong"

Compare
Choose a tag to compare
@abitmore abitmore released this 30 Nov 12:25
· 666 commits to master since this release
e52b9ff

The BitShares Core software has been updated to the 6.0.0 Protocol Release. The codename of the 6.x releases is "Mekong". 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 Tuesday, January 11, 2022 14:00:00 UTC (2022-01-11T14: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.

Note: some API changes may break existing client applications, as described in API changes section.

How To Upgrade

Precautions

  • 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 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:6.0.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 16.04 LTS (Xenial Xerus) is no longer supported.

Obtain the Source Code

The source code may be obtained by checking out the 6.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 6.0.0, pre-built Linux binaries will not run on Ubuntu 16.04 LTS (Xenial).
Platform SHA256 Checksum
Microsoft Windows b721383133d56fd2a6469a2aac73c92f7fe518f48a2d6a2484d1dd9dcf6c5527
Mac c5c2ee313233aa06c42ea08f9dd747261dec61399ff1011b9f93b3553a84b868
Linux 042740d4e816b80d909d8c82acbefb3ddd20e5b833cace2cfd1816be090eaac1

Changes

The changes for 6.0.0 Protocol Release are summarized below.

Protocol

Description Issue Pull Request
Add no-collateral funding feature (SameT Funds) 2351 2469, 2474, 2476, 2523
Add simple collateralized P2P funding feature (Credit Offers and Credit Deals) 2362 2479, 2502, 2511
Add 3 new black swan response methods 2467 2499, 2510
Add missing asset authorization checks for certain operations 972, 973 2468
Add option for MPA owners to disable collateral bidding 2281 2504, 2536
Allow bitasset options to be updated after GS 2282 2506
Match force-settlements with margin calls at normal margin call fill price 2481 2489
Revive GSed bitassets based on ICR rather than MCR 2290 2505
Skip asset authorization checks for from_account for override_transfer 2295 2465
Update liquidity pool exchange operations to comply with whitelist and blacklist market settings 2350 2462, 2507
Fix a bug that some non-UIA asset issuer permission bits (e.g. witness_fed_asset) can be configured on UIA via asset_update_operation - 2499
Allow borrowers to close debt positions even when there is no sufficient price feeds - 2499
Allow updating an existing debt position or creating a new debt position if to trigger a margin call and the debt position is not fully filled but the remaining debt position's CR is higher than ICR - 2499
Debt positions with CR not greater than MCR will pay margin call fees at the time of global settlement - 2489

Node Functionality

Description Issue Pull Request
Delete unneeded directories when writing object database to disk - 2485

Node Performance and Stability

Description Issue Pull Request
Clear operation_results when generating block 2527 2475, 2528
Remove BSIP-40 support for unused operations - 2482

Node Plugins

Description Plugins Issue Pull Request
Fix liquidity pool deposit statistics Market History - 2471
Notify all related accounts on account creation Account History 265 2480
Fix a crash when starting the ElasticSearch plugin ElasticSearch Operations 2490 2495

API

Please check the linked pull requests for more info and documentation.

Description Issue Pull Request
The get_block API will return an empty operation_results field for blocks produced by nodes with version 6.0.0 or higher. The operation results can still be retrieved via get_account_history and related APIs. - 2475
The unused extensions field is removed from asset_settle_cancel_operation - 2489
The return value of asset_settle_operation is now a new type extendable_operation_result - 2499
New APIs for querying SameT Funds - 2469
New APIs for querying Credit Offers and Credit Deals - 2479
Fix liquidity pool deposit statistics - 2471
Fix liquidity pool history APIs - 2517

Software Design

Description Issue Pull Request
Add defensive check to mute SonarScanner warning - 2540

Build Process and Continuous Integration (CI)

Description Issue Pull Request
Build Docker images with Github Actions 2472 2514
Upgrade the Docker base image to Ubuntu 20.04 LTS (Focal Fossa) - 2473
Fix Gitian Windows build string table overflow issue by using Ubuntu 20.04. LTS (Focal Fossa) 2520 Gitian-50
Phase out Ubuntu 16.04 2217, Gitian-49 Gitian-51
Add dependabot.yml for GitHub Actions - 2512
Add OS version to cache key in sonar-scan workflow - 2486, 2487
Update Sonar Scanner configuration - 2437, 2458, 2518

Documentation

Description Issue Pull Request
Fix an error in README.md - 2529, 2533, 2534

Release Contributors

@abitmore (https://github.com/abitmore)
@xiao93 (https://github.com/xiao93)