This fork is a collection of improvements to Bitcoin Core maintained out of the master git tree. == Patch files == This patchset is distributed as 8 independent patch files: === syslibs === Adds options to build Bitcoin Core against system LevelDB and libsecp256k1 libraries (see ./configure --help for usage). Please note this may be dangerous and make theft from you possible if used with versions of the libraries which have not been audited to meet the bug-for-bug compatibility required by Bitcoin's consensus protocol. The patch leaves these options disabled by default for this reason. It also extends the OpenRC init script to be more configurable, and adds options to disable building bitcoin-cli or bitcoin-tx individually. See also: - configure: BITCOIN_SUBDIR_TO_INCLUDE: Improve compatibility with paths including space and multiline cpp output https://github.com/bitcoin/bitcoin/pull/5872 - Support for building against system LevelDB https://github.com/bitcoin/bitcoin/pull/2241 - configure: Add unsupported --with-system-libsecp256k1 configure flag https://github.com/bitcoin/bitcoin/pull/5416 - configure: Make it possible to build only one of bitcoin-cli or bitcoin-tx https://github.com/bitcoin/bitcoin/pull/5618 - Add BITCOIND_SIGTERM_TIMEOUT to OpenRC init scripts https://github.com/bitcoin/bitcoin/pull/6401 === ljrF === This is a collection of fixes and functionality improvements: - Parse URIs with non-BTC amounts https://github.com/bitcoin/bitcoin/pull/553 - -acceptnonstdtxn option to skip "non-standard transaction" checks https://github.com/bitcoin/bitcoin/pull/559 - Support for Tonal Bitcoin units (ᵇTBC, ˢTBC, and TBC) https://github.com/bitcoin/bitcoin/pull/929 - Send 'mempool' P2P command at the start of each P2P session https://github.com/bitcoin/bitcoin/pull/1918 - Add user interface to set dust limit and filtered addresses https://github.com/bitcoin/bitcoin/pull/2383 - Added -whiteconnections= option https://github.com/bitcoin/bitcoin/pull/5288 - [REST] JSON support for /rest/headers https://github.com/bitcoin/bitcoin/pull/5486 - Restore ability to display addresses in GUI https://github.com/bitcoin/bitcoin/pull/5861 - [Qt] support for persisted rpc console history https://github.com/bitcoin/bitcoin/pull/5891 - Add absurdly high fee message to validation state https://github.com/bitcoin/bitcoin/pull/5913 - add key generation type https://github.com/bitcoin/bitcoin/pull/5916 - Reduce checkpoints' effect on consensus. https://github.com/bitcoin/bitcoin/pull/5927 - [RPC] Add optional locktime to createrawtransaction https://github.com/bitcoin/bitcoin/pull/5936 - Bugfix: Fix testnet-in-a-box use case https://github.com/bitcoin/bitcoin/pull/5987 - [REST] Add memory pool API https://github.com/bitcoin/bitcoin/pull/6013 - fundrawtransaction https://github.com/bitcoin/bitcoin/pull/6088 - Do not inv old or missing blocks when pruning https://github.com/bitcoin/bitcoin/pull/6130 - Fix various warnings https://github.com/bitcoin/bitcoin/pull/6133 - Buffer log messages and explicitly open logs https://github.com/bitcoin/bitcoin/pull/6149 - Add setban/listbanned RPC commands https://github.com/bitcoin/bitcoin/pull/6158 - Prevent block.nTime from decreasing https://github.com/bitcoin/bitcoin/pull/6177 - Refactor EvalScript into a CScriptExecution class, so single-stepping can be done https://github.com/bitcoin/bitcoin/pull/6178 - [Qt] extend rpc console peers tab https://github.com/bitcoin/bitcoin/pull/6209 - [Qt] disconnect peers from peers tab via context menu https://github.com/bitcoin/bitcoin/pull/6217 - Be even stricter in processing unrequested blocks https://github.com/bitcoin/bitcoin/pull/6224 - Add getblockheader RPC call https://github.com/bitcoin/bitcoin/pull/6247 - Add `paytxfee` and `errors` JSON fields where appropriate https://github.com/bitcoin/bitcoin/pull/6257 - Return all available information via RPC call "validateaddress" https://github.com/bitcoin/bitcoin/pull/6262 - New RPC command disconnectnode https://github.com/bitcoin/bitcoin/pull/6271 - [Qt] fix debug console window handling when e.g. minimized https://github.com/bitcoin/bitcoin/pull/6288 - Prevent peer flooding inv request queue (redux) https://github.com/bitcoin/bitcoin/pull/6306 - rpcban fixes https://github.com/bitcoin/bitcoin/pull/6307 - banlist.dat: store banlist on disk https://github.com/bitcoin/bitcoin/pull/6310 - [Qt] allow banning and unbanning over UI->peers table https://github.com/bitcoin/bitcoin/pull/6315 - acceptnonstdtxn option to skip (most) "non-standard transaction" checks, for testnet/regtest only https://github.com/bitcoin/bitcoin/pull/6329 - Avoid "Unknown command" messages when receiving getaddr on outbound c… https://github.com/bitcoin/bitcoin/pull/6344 - Add OP_RETURN support in createrawtransaction RPC call, add tests. https://github.com/bitcoin/bitcoin/pull/6346 - Show softfork status in getblockchaininfo https://github.com/bitcoin/bitcoin/pull/6353 - Delay initial pruning until after wallet init https://github.com/bitcoin/bitcoin/pull/6356 - Use real number of cores for default -par, ignore virtual cores https://github.com/bitcoin/bitcoin/pull/6361 - Fix null id in RPC response during startup https://github.com/bitcoin/bitcoin/pull/6362 - banlist updates https://github.com/bitcoin/bitcoin/pull/6371 - rpc: Implement random-cookie based authentication https://github.com/bitcoin/bitcoin/pull/6388 - Option -limitunconfdepth to reject transactions dependent on a long chain of unconfirmed ones https://github.com/bitcoin/bitcoin/pull/6403 === zeromq === - Add ZMQ support. Report blocks and transactions via ZMQ. https://github.com/bitcoin/bitcoin/pull/6103 === cltv === This is a policy change implementing BIP 65 (OP_CHECKLOCKTIMEVERIFY) as a soft policy. It does not enforce it as a consensus rule, and is therefore safe to use even prior to actual BIP 65 deployment. See also: - Mempool only CHECKLOCKTIMEVERIFY (BIP65) verification, unparameterized version https://github.com/bitcoin/bitcoin/pull/6124 === cpfp === This is a policy change that makes mining resolve transaction dependencies when considering fees. See also: - CreateNewBlock: Child-pays-for-parent / Add transaction fee later https://github.com/bitcoin/bitcoin/pull/1647 === spamfilter === This is a policy change that improves the spam filtering capabilities of Bitcoin Core, notably including pattern matching for notorious spammer scripts. Specifically, spam created by the following are identified and ignored: - BetCoin Dice - Correct Horse Battery Staple - Old spammy Counterparty encoding (NOT current versions of Counterparty) - Lucky Bit - Mastercoin - SatoshiBones - SatoshiDICE (Note that the organizations and people /responsible/ for the spam are /not/ filtered, only the spam itself.) === dcmp === This is a policy change by Peter Todd that enables multiple data pushes in datacarrier transactions. See also: - Accept any sequence of PUSHDATAs in OP_RETURN outputs https://github.com/bitcoin/bitcoin/pull/6424 === rbf === This is a policy change by Peter Todd that replaces transactions if the new one has a sufficiently higher fee. See also: - Add replace-by-fee logic to the mempool https://github.com/bitcoin/bitcoin/pull/4298 Note that this patch is Peter Todd's replace-by-fee-v0.11.0 git branch, slightly hand-modified to cleanly apply to both vanilla v0.11.1 as well as derivatives patched with this patchset. == Git access == It is also available via git from git://github.com/luke-jr/bitcoin.git in the following branches: 0.11.x-syslibs 0.11.x-ljrF (includes syslibs, ljrF, and zeromq) 0.11.x-ljrP (includes everything except rbf) zeromq-0.11.x minedeps (cpfp) spamfilter