Description
Libbitcoin is a multipurpose, open-source C++ Bitcoin library targeted at high-end use cases, providing an ideal backend for building fast implementations such as mobile apps, desktop clients, and server APIs. The library emphasizes asynchronicity, speed, and availability, with each component running its own thread pool so the system can scale outward across CPU cores as network demands grow. Its toolkit includes Libbitcoin Server, a full peer-to-peer Bitcoin node and high-performance blockchain query server built on the ZeroMQ networking stack with CurveZMQ/Sodium-based wire encryption; the libbitcoin-client calling API for building client applications; and Libbitcoin Explorer (BX), a rich command-line tool exposing over 80 commands for interacting with Bitcoin, including stealth and multisig scenarios. The project was established on three principles—privacy, scalability, and integrity—and aims to create an extendable, scalable, and configurable Bitcoin architecture usable via javascript, python, PHP, Ruby, and other languages. It is licensed under AGPL with a lesser clause, requiring that the core library and any modifications remain publicly available. The toolkit is used as a backend by various Bitcoin-related projects such as DarkWallet, Airbitz, OpenBazaar, and others, and was authored primarily by Eric Voskuil and Amir Taaki.