What is Bitcoin LJR?

Bitcoin LJR is a derivative of Bitcoin Core (since 2011 December) with a collection of improvements maintained out of the master git tree. It comes in a "functional" flavour with only improvements to the software itself, and a "combined" flavour which also includes enhancements to relay and mining policy code. More details on these changes are listed below the downloads.

Please note: Bitcoin LJR includes many new features that have not yet been tested to the same extent as those included in Bitcoin Core. While I make a reasonable effort to ensure they are safe, I cannot guarantee anything. Use of Bitcoin LJR is (as with Bitcoin Core) always at your own risk!

For service operators: Anyone running node(s) that need to send transactions for people other the node's operator should consider avoiding the policy/combined flavour for now. Due to its improved spam filtering, it is also impossible to participate in such spam. In principle, the decision whether or not to attempt it should arguably be up to the end user who owns the bitcoins, and not restricted by service operators.

Download Bitcoin LJR

Latest version: 0.11.2.ljr20151118

Please note: My webserver, like almost all webservers, is not under my exclusive physical access, and therefore cannot be trusted to not be compromised. Always verify the correct PGP signature (from my PGP key) on any downloads to avoid risk of malware. Note that my PGP key is also hosted on bitcoin.org, so you can (and should, if you don't already have it from another trusted source) download from two independent webservers and ensure they match.

Click here for SHA256 hashes of all downloads, signed by my PGP key

Enhancement sets

Features that will be available in the next release of Bitcoin Core are highlighted in green.

Packaging cleanups ("syslibs", included in both flavours)

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:

Functional enhancements ("ljrF", included in both flavours)

This is a collection of fixes and functionality improvements:

ZeroMQ support (included in both flavours)

Child-pays-for-parent ("cpfp", only included in combined flavour)

This is a policy change that makes mining resolve transaction dependencies when considering fees. See also:

Improved spam filter (only included in combined flavour)

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:

(Note that the organizations and people responsible for the spam are not filtered, only the spam itself.)

Data carrier multi-push ("dcmp", only included in combined flavour)

This is a policy change by Peter Todd that enables multiple data pushes in datacarrier transactions. See also:

Replace-by-fee ("rbf", only available as a source code patch)

This is a policy change by Peter Todd that replaces transactions if the new one has a sufficiently higher fee. See also:

Note that this patch is Peter Todd's replace-by-fee-v0.11.2 git branch, slightly hand-modified to cleanly apply to both vanilla v0.11.2 as well as derivatives patched with this patchset.

Git access

All these are also available via git from git://github.com/luke-jr/bitcoin.git in the following branches:


Bitcoin LJR began in 2011 December as Bitcoin Next-Test, a derivative of Bitcoin Core's "master" branch with upcoming and proposed features merged in manner as unbiased as possible toward the changes themselves. In 2014, due to time constraints and a desire to maintain a more stable and well-maintained derivative, I began instead to base the branch off the latest stable release, and include only modifications that both looked reasonably safe and I did not personally consider problematic or flawed; along with this change, since it was no longer an unbiased derivative, I renamed it to Bitcoin Core "ljr", and later Bitcoin LJR.