BHD wallet updated to v1.2.4

Updated On May 13, 2019

This version of the wallet will be hard forked at 168300 height, enable dynamic ratio and block signature consensus.

About the consensus:
1. Enable dynamic ratio consensus at 168300 height (test network is 72550 height), from 168300 height to 172332 height (test network is 76582) will smoothly reduce the previous consensus height calculation to normal value, equivalent to the conditional capacity certificate coefficient from 3.75 BHD/TB is reduced to 3.00 BHD/TB;

2. Starting from the height of 172333, the logarithmic smoothing of the previous week's average power and the 1250PB multiple continues to reduce the conditional capacity certificate coefficient. The coefficient adjustment is performed once a week, and the calculation power is limited to 20% of the adjacent week. See the information returned by the “getmininginfo” interface for details.

3. The 168300 height (test network is 72550 height) begins to require the use of the private key of the block address to sign the block. Unencrypted wallets automatically sign the entire block using the private key already in the wallet. The encrypted wallet or watchful address cannot automatically obtain the private key from the wallet. You need to manually use the “addsignprivkey” interface or configure “signprivkey=YOUR PRIVATE KEY” in the btchd.conf file. The manually imported private key will not be saved in the wallet. Every time you start your wallet, you need to do it manually. It is recommended to use the way to configure the private key in btchd.conf and delete the private key after starting the wallet. Make sure your wallet environment is secure and use "rental" and don't leave too much usable amount in your wallet.

About the RPC interface:
1. The "listbindplotterofaddress" interface adds a "capacity" field to the returned result, indicating the power calculation value. Add the verbose parameter to control whether to output "bindheightlimit", "unbindheightlimit", and "active". The default is not output for performance reasons. "bindheightlimit" can be obtained by using the "getbindplotterlimit" interface alone. "unbindheightlimit" can be obtained by using the "getunbindplotterlimit" interface alone.

2. The "bindPlotters" in the results of "getpledge" and "getpledgeofaddress" are changed to "plotters", "pledgeLoanBalance" is changed to "loanBalance", "pledgeLoanBalance" is changed to "loanBalance", "pledgeDebitBalance" is changed to "borrowBalance", "availablePledgeBalance" Change to "availableMiningBalance". For performance reasons, the "plotters" are no longer output by default, you can use the "verbose" output "plotters" data.

3. Add the "getbindplotterlimit" interface to query the binding limit information of the computing power.

4. Add the "getunbindplotterlimit" interface to query the unbinding limit information of the bound transaction.

5. Add the "addsignprivkey" interface to add the private key of the block address to sign the generated block.

6. Add the "listsignaddresses" interface to view the list of outbound addresses that the private key in the wallet can sign.

7. "getminginfo" interface adds network capacity and dynamic ratio information.

8. The block height "height" in the result values of several interfaces is modified to "blockheight".