Full stack Bitcoin software

About

Current team Slack mirror with full history.

Libbitcoin Time 2026: the development history of the libbitcoin repositories.

Libbitcoin Time 2026

History

Libbitcoin was announced on the Bitcoin forum in July 2011, two and a half years after the genesis block. The plan was to "rewrite bitcoin" as a library anyone could build on, pluggable and configurable at every level, under a lesser AGPL license drafted for the project.

In 2013 the libbitcoin manifesto made the case for why it mattered: a Bitcoin of many implementations has no single point of failure, and no single party controls its standard. The same year brought obelisk, a query server, and sx, a command line toolkit, the ancestors of Bitcoin Server (bs) and Bitcoin Explorer (bx).

From 2014 the code was divided into the six repositories it has today, from system primitives to the server, and versions 2 and 3 followed in 2014 and 2017. Version 4 is the first major release since 2017, the result of a decade of R&D by a small team of dedicated volunteers.

Scope

systemdatabasenetworknodeserverexplorerbuildwebsiteTotalbitcoind
First commit201120142011201420132013201420142009
Contributors631738192337101198821
Commits10,3954,7894,1524,3173,4642,7451,69329031,84531,480
Library lines109,31735,32950,29014,45132,31834,131275,836154,044
Test lines121,79528,62144,7589,64225,0207,743237,57989,539
Words654,760654,760286,710
Runtime tests7,9111,3412,8155281,93567915,209903
Compile-time tests7,55211127965408,00241
Python tests222222212
Classes39430824686843701,488648
Public methods2,7951,4801,4272251452,0188,0903,635
Protected methods97113937729257322,354101
Private methods3398642011415101,110345
Public functions1,03269143476171,3411,105

bitcoind is included for context.

How these are counted

The six libraries and libbitcoin-build at their current master (November 2026). Each commit is counted once, in the repository it first appears in: network shares 3,246 commits of early history with system. Contributors are distinct people, across names and email addresses. The website column is this site and its public discussion forum, and its words are their text. History of the archived repositories (blockchain, protocol, client and consensus) is included only where it was carried into a current repository.

bitcoind is Bitcoin Core at its master (October 2026) with its secp256k1, without its wallet application, its GUI, its other executables or its other embedded dependencies (leveldb, crc32c, minisketch, univalue, ctaes and libmultiprocess). Wallet functionality that bitcoind itself uses, such as addresses, keys, descriptors and PSBT, is included, as is libbitcoin's. Its contributors and commits are those that touch its code or its functional tests, and those of secp256k1 (to August 2026). Its secp256k1 lines exclude 18,235 lines of precomputed tables, and its functions and structs are those of the secp256k1 public headers. Its Python tests are the functional tests, excluding those of the wallet application, and its words are those of the bitcoincore.org website, meeting notes included.

Lines are non-blank lines of C++ in the library (include and src) and in its tests (test). Library lines exclude 60,969 lines of data tables in system (word lists, Unicode tables and the embedded GPU kernels). The server's embedded web interface, which can be compiled out, is excluded, as is bitcoind's GUI. Runtime tests are C++ test cases, compile-time tests are static_assert statements in the tests, and Python tests are the server's endpoint tests (3,894 lines of Python, not in the test lines). Classes, methods and public functions are counted from the compiler's view of the public headers: class and struct definitions, their member functions by access, and free functions.

Copyright © 2011-2026 libbitcoin developers