GXB-Core Release v1.0.200327
This is a protocol release for upgrading. All nodes shall upgrade before 2020-03-27 04:00:00 UTC.
Release Notes
The GXB-Core software has been upgraded to the new v1.0.200327 release. This release modified the voting logic form "multiple vote"(one vote to an unlimited number of accounts) to "one token, one vote" (each token can vote to only one account). From now on the reward as a node is divided into two parts. The first part is for the node which producing the block, and the other part is the nodes which's weight of the voting ranking must be top "35"(The number is not fixed and could be modified by the commission proposals) in all nodes.This release also contains the new contract api and database api.
New features:
- Add smart contract api:
get_asset_precision
- Add database api:
get_unsigned_transaction_hex
- Modify smart contract api:
assert_recover_key
api support public_key of type string - Modify database api: add ref_block_prefix field in
get_block
api - Smart contract development support set/map
- Add the code for the new votes counting logic
- Add the cli_wallet api:
staking_create
, which can be used to create staking objects(votes) - Add the cli_wallet api:
staking_update
, which can be used to update a staking object from one trustnode to another trustnode - Add the cli_wallet api:
staking_claim
, which can be used to withdraw the staking when the vote has expired - Add the cli_wallet api:
witness_set_commission
, the witness can set the dividend ratio with it - Add the cli_wallet api:
witness_unbanned
, which can be used to release the witness form the blacklist - Add the database api:
get_staking_objects
, you can get the staking objects of one account with it - Add the database api:
get_staking_objects_by_witness
,this api is to get staking objects with specified witness_id, position and number - Add the macro
ACTION
PAYABLE
TABLE
CONTRACT <contractname> : public contract
As alternative usage of
//@abi action
//@payable
//@abi table [tablename] i64
Class <contractname> : public contract
Bug Fix
- Fix log issue "ERROR_WHILE_CONVERTING_VALUE_TO_STRING"
- Fix switch chain bug when apply block
- Fix elastic search plugin adaptation bug
- Fix query_txid plugin static link leveldb error
- Fix OOM bug of elasticsearch plugin
- Fix contract update does not set code hash error
Other
- Support full-node account history plugin with elastic search database
- Support query transaction rows by txid plugin
SHA256 checksum
- d5a939ed81a14e9bdf89feeeb580d29722e9df6ef6c24e6fdef5d960cb231338 gxb_1.0.200327-osx.tar.gz
- 383e5834683424b0a58f47fb1fecf6186ee0accdf63c0f104391bc3f24ddbb37 gxb_1.0.200327-ubuntu-14.04.tar.gz
- 14f10e4bce5bf24c22b6a9e9bbc5740cb6e90328bdac54b4c916693e3a8eab9a gxb_1.0.200327-with-plugin-osx.tar.gz
- 8a61a1cb540cf28671a25fab2c2a546650ea59d974a4c9c7190fd22e79b1803d gxb_1.0.200327-with-plugin-ubuntu-14.04.tar.gz
Who Should Upgrade?
This is a protocol upgrade release and requires a replay block. ALL NODES should upgrade before 2020-03-27 04:00:00 UTC.
Old logic and votes will be deprecated,so make sure you have switched to the new version before 2020-03-27 04:00:00 UTC.
Upgrade steps
-
Download the latest release package, and unzip:
wget 'https://github.com/gxchain/gxb-core/releases/download/v1.0.200327/gxb_1.0.200327-ubuntu-14.04.tar.gz' -O gxb_1.0.200327-ubuntu-14.04.tar.gz && tar zxvf gxb_1.0.200327-ubuntu-14.04.tar.gz
-
Stop witness_node:
kill -s SIGINT $(pgrep witness_node)
- Restart (with parameter --replay-blockchain --fast-replay)
nohup ./programs/witness_node/witness_node --replay-blockchain --fast-replay [other-options] # (The parameters are omitted here,each node is started differently)