Investigate Merge of Bitcoin latest changes. Merge of 0.11
Motivation
During the last 3 years, many useful changes and improvements have been made to Bitcoin source code. The current version of Bitcoin is 0.15, Crown is on 0.9.
- Refactoring of different Bitcoin modules (decomposition etc.)
- Moving from BOOST to C++ 11/14 features
- Other functional changes (should be analyzed)
Proposal
Since Crown originally is a fork of Bitcoin and it's going to move to another direction (building an application platform), it makes sense to merge the most important changes from Bitcoin to Crown.
- Analyze commits history of Bitcoin from 0.9 to 0.15 versions
- Create a research report
- Merge Bitcoin 0.10.1
- Merge Bitcoin 0.10.2
- Merge Bitcoin 0.11
- Perform full testing
Bitcoin 0.10.1, 0.10.2, 0.11 integration analysis
0.10.1 Bugfixes of RPC, database, p2p network, wallet update, GUI, build system, tests
0.10.2 Minor bugfixes
0.11.0 New features and bugfixes
https://bitcoin.org/en/release/v0.11.0
-
Transaction flooding improvement
-
Block file pruning. 550 MB min for 288 blocks.
-prune=N
option. Disabled by default. -
Experimental Big Endian support
-
Memory usage optimization
-
Fee estimation changes
-
Privacy: Disable wallet transaction broadcast. An option to broadcast transaction using third-party services
-
Privacy: Stream isolation for Tor. Improves connection reliability as well as privacy, especially for the initial connections.
-proxyrandomize
option -
REST and RPC changes
-
Configuration and command-line options
-
Block and transaction handling
-
P2P protocol and network code
-
Validation (BIP2 rule 6, BIP66)
-
Build system (including c++11)
-
Wallet and GUI
-
Tests
Links/references
https://github.com/bitcoin/bitcoin https://bitcoin.org/en/release/v0.11.0