Binance Chain Mainnet Nightingale Upgrade Announcement

Following the successful testnet Nightingale upgrade, Binance Chain validators agree to have a scheduled hardfork upgrade at block height 99,550,000. Based on the current block generation speed, it is forecasted to be around 2020/07/09 5:00 AM (UTC). The validators and all the full node runners are expected to switch their software version to v0.7.2 by 2020/07/09.

1. Background Story

1.1 Who is Florence Nightingale?

This upgrade is named after Florence Nightingale, in the honor of her key pioneering works of building the foundation of professional nursing. She set an example of compassion, commitment to patient care, and diligent and thoughtful hospital administration, which is crucial in response to this challenging time.

1.2 What is a hardfork upgrade?

A hardfork is an upgrade that is not compatible with the previous release because some breaking changes are introduced in the latest release. A hardfork in Binance Chain requires +⅔ validators to successfully upgrade to keep making blocks. If the existing full nodes in the network do not upgrade, they will not be able to receive and execute further blocks normally after the hardfork block height.

1.3 What happens during a network upgrade?

Logic changes will occur at block height 99,550,000 for this upgrade. After the activation of the upgrade, the blockchain is able to handle a series of new business logic.

2. How does this upgrade affect me?

2.1 As a BNB holder, what do I have to do?

If you use any exchanges which support BNB (such as Binance.com, BitMax or Gate.io), one of the wallets, or a hardware wallet (such as Ledger, Cool Wallet), you do not need to do anything unless your exchange or wallet service specifies otherwise.

2.2 As a Binance DEX user, what do I have to do?

There are no changes to Binance DEX matching engine logic. You do not need to do anything.

2.3 As a fullnode operator, what do I have to do?

This release is breaking and you need to switch to v0.7.2. Upgrade instructions are (all the below should be done before the hardfork block height:

  1. If your node is already synced with the network, please download the new v0.7.2 binary and replace the previous version
  2. Replace the config.toml and app.toml under home folder with the latest versions. You can customize those parameters.
  3. Stop the bnbchaind process and restart it with v0.7.2.
bnbchaind start --home   

2.4 What will happen if I forget to upgrade my fullnode in time?

If you cannot upgrade your software, you cannot sync with the upgraded Binance Chain peer/validator nodes. You will not be able to connect or send transactions.

How to recover?
Detailed can be found at the doc-site

  • Download the tool state-recover from node-binary repo for fixing the upgrade issue
  • Backup your home directory
  • Since the height of the upgrade is set to be 99,550,000, you can run the following command to recover the state to just one block before the upgrade, which is 99,549,999 :
./state_recover 99549999 
  • Restart with the version v0.7.2 of bnbchaind
bnbchaind start --home 

2.5 As a Binance Chain wallet provider or service consumer, what do I have to do?

If you are a wallet provider, please pay attention to the changes in HTTP API and new functions for BEP8 tokens https://docs.binance.org/changelog.html#http-api

3. Upcoming Changes

3.1 What will be changed with the blockchain feature?

3.1.1 NEW FEATURES OF BINANCE CHAIN NODE:

  • Introducing BEP8 Token: Currently, the cost to get a BEP2 token listed on Binance DEX is about 1500BNB, which is a big barrier to many small, promising projects. To build a more comprehensive venue for token trading, the idea of BEP8 Tokens is raised to accommodate the small or micro-projects, intellectual properties, and other small token economies. Based on the limitation usage of the network, the cost of issuing and listing of such BEP8 tokens are minimized to a different magnitude. Besides, any BEP8 token issuer can choose to directly list against BNB and BUSD without the voting process of validators. Stablecoin pairs of BEP8 will provide a UX advantage and make any two BEP8 tokens exchangeable. Please read the proposal for details.
  • List and Trade BUSD Pairs: As discussed in BEP70BUSD-BD1 is one of the most influential stable coins worldwide and the most dominant stable coin on Binance Chain. However, token issuers have to choose BNB as quote-asset in their proposals first, then choose BUSD in the second proposal.
    With the implementation of BEP-70, BEP2 token issuers can list their assets against BUSD-BD1 without the requirement of creating BNB pair first. Listing and trading BUSD pairs on Binance Chain will facilitate token owners and exchange traders, making the markets more liquid and healthier.
  • Improvements
    • BEP-67Introduce Different Expiration Span in Binance DEX
      Binance DEX supports two order types: Immediate Or Cancel (IOC) and Good Till Expiry (GTE). GTE orders can quote on the exchange until they are filled by the opposite orders satisfying the limit price, or canceled by the client themselves, or expire after 72 hours after 00:00 (UTC). A small fee will be charged for the network usage if there is no fill at all for the order. This unique design will force traders to place new orders again, once their GTE orders are expired.
      BEP67 is aimed to help improve the process. It suggests that the matching engine should keep orders at the best 500 price levels for 30 days rather than 72 hours. Orders in top levels are more likely to get traded. Thus, if your orders are making contributions to overall liquidity, you should benefit from a longer expiration period.
  • Bug Fix
    Fix the bug of IVAL Library: On 2020/05/30, an issue was reported on GitHub by a community member that may cause v0.6.3-hf.1 binary to fail to replay a block due to AppHash conflict. The root cause was identified in the dependent IAVL library of Binance Chain and a work-around patch for Binance Chain Mainnet is also available as version v0.6.3-hf.2.

3.1.2 NEW FEATURES OF BINANCE CHAIN CLIENT:

Release of Binance Chain Client with BEP8 Support: You can now use bnbcli to issue/transfer/mint/list BEP8 assets. The full User Guide can be found here

3.2 Underlying Library Changes

  • Node RPC:
    Extra paths are available for querying information about BEP8 tokens and trading pairs.

New Query Path

  • /mini-tokens/info
  • /mini-tokens/list
  • /dex-mini/pairs

Changelog: https://docs.binance.org/changelog.html#node-rpc

3.3 API Updates

In the latest update of HTTP API for mainnet, there are the following changes:

  • /api/v1/depth

Example: https://dex.binance.org/api/v1/depth
Changes:
Add pendingMatch flag to orderbook query response
The pending_match flag in the response is to indicate below orderbook status. When there are new orders created in current block, but the matching process has not started for this block, then pending_math=true. As a result, there could be orders with cross prices: ask-price is lower than bid-price. If you set pending_match=true, the response will include those pending orders. If not, the response will exclude those pending orders
The full changelog is here: https://docs.binance.org/changelog.html

Thanks for your cooperation and let’s make Binance DEX a modern and secure marketplace for issuing and exchanging digital assets

Binance DEX Community
2020/07/02