BLTG Core Wallet 3.1.1 Mandatory Release 02/17/2020
cpass last edited by cpass
BLTG Core version 3.1.1 is now available from: https://github.com/Block-Logic-Technology-Group/bltg/releases
This is a new major version release, including various bug fixes and performance improvements.
Please report bugs using the issue tracker at github: https://github.com/Block-Logic-Technology-Group/bltg/issues
As Block-Logic is based on open-source code from the pivx project, an exhaustive description of all changes can be found at https://github.com/PIVX-Project/PIVX/releases
BLTG Core v3.1.1 is a mandatory update for all users. This release contains new consensus rules and improvements that
are not backwards compatible with older versions. Users will need to update their clients before enforcement of
this update goes into effect.
Update enforcement goes into effect at the following times:
Mainnet: Friday, February 21st, 2020 4:00:00 PM GMT / Following Version 2 Stake Modifier block
Masternodes will need to be restarted once both the masternode daemon and the controller wallet have been upgraded.
How to Upgrade
If you are running an older version, shut it down. Wait until it has completely shut down (which might take a few minutes
for older versions), then run the installer (on Windows) or just copy over /Applications/BLTG-Qt (on Mac) or
bltgd/bltg-qt (on Linux).
BLTG Core is extensively tested on multiple operating systems using the Linux kernel, macOS 10.10+, and Windows 7 and later.
Microsoft ended support for Windows XP on April 8th, 2014, No attempt is made to prevent installing or running the software on Windows XP, you can still do so at your own risk but be aware that there are known instabilities and issues. Please do not report issues about Windows XP to the issue tracker.
Apple released it's last Mountain Lion update August 13, 2015, and officially ended support on December 14, 2015. BLTG Core software starting with v3.0.0 will no longer run on MacOS versions prior to Yosemite (10.10). Please do not report issues about MacOS versions prior to Yosemite to the issue tracker.
BLTG Core should also work on most other Unix-like systems but is not frequently tested on them.
Internal (Core) Changes
Version 2 Stake Modifier
A new 256-bit modifier for the proof of stake protocol has been defined,
It is computed at every block, by taking the hash of the modifier of previous block along with the coinstake input.
To meet the protocol, the PoS kernel must comprise the modifier of the previous block.
Changeover enforcement of this new modifier is set to occur at block
Block index batch writing
Block index writes are now done in a batch. This allows for less frequent disk access, meaning improved performances and less data corruption risks.
Eliminate needless key generation
The staking process has been improved to no longer request a new (unused) key from the keypool. This should reduce
wallet file size bloat as well as slightly improve staking efficiency.
Removal of zero-fee transaction option
The long term viability of acceptable zero-fee transaction conditions is in need of review. As such, we are
temporarily disabling the ability to create zero-fee transactions.
Show latest block hash and datadir information tab
A QoL addition has been made to the Information tab of the UI's console window, which adds the display of both the current data directory and the latest block hash seen by the client.
Require valid URL scheme when preparing/submitting a proposal
submitbudgetRPC commands now require the inclusion of a canonical URL scheme as part of their
urlparameter. Strings that don't include either
https://will be rejected.
The 64 character limit for the
urlfield is inclusive of this change, so the use of a URL shortening service may be needed.
Testing Suite Changes
Functional testing readability
Several changes have been introduced to the travis script in order to make the output more readable. Specifically it
now lists tests left to run and prints the output of failing scripts.
Build System Changes
OpenSSL configure information
When the configure step fails because of an unsupported OpenSSL (or other library), it now displays more information
on using an override flag to compile anyways. The long term plan is to ensure that the consensus code doesn't depend
on OpenSSL in any way and then remove this configure step and related override flag.
3.1.1 Change log
Detailed release notes follow. This overview includes changes that affect behavior, not code moves, refactors and
string updates. For convenience in locating the code changes and accompanying discussion, both the pull request and git merge commit are mentioned.
ac8cb7376d[PoS] Stake Modifier V2 (random-zebra)
454c487424[Staking] Modify miner and staking thread for efficiency (Cave Spectre)
9c5a300624Modify GetNextWorkRequired to set Target Limit correctly (Cave Spectre)
7ab673f6fa[Staking] Prevent potential negative out values during stake splitting (Cave Spectre)
0ac0116ae4[Refactor] Move ThreadStakeMinter out of net.cpp (Fuzzbawls)
924ec4f6dd[Node] Do all block index writes in a batch (Pieter Wuille)
918852cb90[Travis] Show functional tests progress (warrows)
2c9f624455[Build] Add info about '--with-unsupported-ssl' (Warrows)
P2P Protocol and Network Code
e47fe3d379[Qt] Add blockhash + datadir to information tab (Mrs-X)
3d7e16e753[RPC] require valid URL scheme on budget commands (Cave Spectre)
a03fa6236d[Refactor] Combine parameter checking of budget commands (Cave Spectre)
b9ce433bd5[RPC] Correct issues with budget commands (Cave Spectre)
37ad934ad8[Wallet] Remove (explicitely) unused tx comparator (warrows)
8b81d8f6f9[Wallet] Remove Bitcoin Core 0.8 block hardlinking (JSKitty)
a0a1af9f78[Miner] Don't create new keys when generating PoS blocks (random-zebra)
2269f10fd9[Trivial][Tests] Do not fail test when warnings are written to stderr (random-zebra)
12de5ec1dc[Refactor] Fix stake age checks for regtest (random-zebra)
6ce55eec2d[Scripts] Sync github-merge.py with upstream (Fuzzbawls)
4a2b4831a9[Docs] Clean and re-structure the gitian-keys directory (Fuzzbawls)
9e4c3576af[Refactor] Remove all "using namespace" statements (warrows)
fa40040f80[Trivial] typo fixes (Cave Spectre)
fdd0cdb72f[Doc] Release notes update (Fuzzbawls)
Thanks to everyone who directly contributed to this release:
- Cave Spectre
- Chun Kuan Lee
- Isidoro Ghezzi
- Pieter Wuille
- Steven Roose
and of course
- PIVX team for an awesome codebase