BitShares Core 6.0.0 Release (codename "Mekong")

in #bitshares2 years ago

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).
PlatformSHA256 Checksum
Microsoft Windowsb721383133d56fd2a6469a2aac73c92f7fe518f48a2d6a2484d1dd9dcf6c5527
Macc5c2ee313233aa06c42ea08f9dd747261dec61399ff1011b9f93b3553a84b868
Linux042740d4e816b80d909d8c82acbefb3ddd20e5b833cace2cfd1816be090eaac1

Changes

The changes for 6.0.0 Protocol Release are summarized below.

Protocol

DescriptionIssuePull Request
Add no-collateral funding feature (SameT Funds)23512469, 2474, 2476, 2523
Add simple collateralized P2P funding feature (Credit Offers and Credit Deals)23622479, 2502, 2511
Add 3 new black swan response methods24672499, 2510
Add missing asset authorization checks for certain operations972, 9732468
Add option for MPA owners to disable collateral bidding22812504, 2536
Allow bitasset options to be updated after GS22822506
Match force-settlements with margin calls at normal margin call fill price24812489
Revive GSed bitassets based on ICR rather than MCR22902505
Skip asset authorization checks for from_account for override_transfer22952465
Update liquidity pool exchange operations to comply with whitelist and blacklist market settings23502462, 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

DescriptionIssuePull Request
Delete unneeded directories when writing object database to disk-2485

Node Performance and Stability

DescriptionIssuePull Request
Clear operation_results when generating block25272475, 2528
Remove BSIP-40 support for unused operations-2482

Node Plugins

DescriptionPluginsIssuePull Request
Fix liquidity pool deposit statisticsMarket History-2471
Notify all related accounts on account creationAccount History2652480
Fix a crash when starting the ElasticSearch pluginElasticSearch Operations24902495

API

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

DescriptionIssuePull 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

DescriptionIssuePull Request
Add defensive check to mute SonarScanner warning-2540

Build Process and Continuous Integration (CI)

DescriptionIssuePull Request
Build Docker images with Github Actions24722514
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)2520Gitian-50
Phase out Ubuntu 16.042217, Gitian-49Gitian-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

DescriptionIssuePull Request
Fix an error in README.md-2529, 2533, 2534

Release Contributors

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

Sort:  

Congratulations @abit! You have completed the following achievement on the Hive blockchain and have been rewarded with new badge(s):

You published more than 150 posts.
Your next target is to reach 200 posts.

You can view your badges on your board and compare yourself to others in the Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

To support your work, I also upvoted your post!

Check out the last post from @hivebuzz:

Hive Power Up Month - Feedback from Day 29
Hive Power Up Day - December 1st 2021 - Become an Orca!

Keep up the good work this is really awesome and a better improvement for the blockchain.

One of my favorite tokens. I hope that your work will give impetus to its development!

Happy to see network still being worked. Recently looked at account. Many projects seemed to be fading but not dead. Perhaps I need look more for the better projects on the network. Best of luck with the update.

Great news for BitShares!
Now I'm just curious what I am to do with the BEOS that I have.


@abit, sorry to see you have less Hive Power.
Your level lowered and you are now a Dolphin!

Check out the last post from @hivebuzz:

Christmas Challenge - Offer a gift to to your friends
Support the HiveBuzz project. Vote for our proposal!


Congratulations @abit!
You raised your level and are now an Orca!

Check out the last post from @hivebuzz:

Merry Christmas - Challenge Feedback - Win a 1000 HP delegation
Support the HiveBuzz project. Vote for our proposal!


@abit, sorry to see you have less Hive Power.
Your level lowered and you are now a Dolphin!

Check out the last post from @hivebuzz:

PUD - PUH - PUM - It's all about to Power Up!
Christmas Challenge - 1000 Hive Power Delegation Winner
Support the HiveBuzz project. Vote for our proposal!

🌹Thank you

thank you for sharing!

Awesome! But it's really complicated to me.

BitShares Core 6.0.0 Release @abit this is a great achievement and how to use it was very blunt thanks for sharing.