libbitcoin is a Blockchain API
Application
libbitcoin-
server
Open Source,
Decentralized
Shopping, Escrow,
Smart contracts,
Tipping, etc...
libbitcoin is a Power-user CLI Tool
libbitcoin-
explorer
(BX)
libbitcoin-
server
Scripting, Research,
Exploration, ...
$ bx fetch-height
345896
libbitcoin is a Blockchain Toolkit
libbitcoin
libbitcoin-blockchain libbitcoin-client
libbitcoin-node
libbitcoin-server
libbitcoin-explorer
Server Stack Client Stack
Why does this matter?
● Right now, most of the network runs a single
piece of software (the Satoshi node)
● The Bitcoin Foundation controls this software
● Monocultures are bad!
● libbitcoin is a complete third-party Bitcoin
Blockchain implementation
libbitcoin
● Modern C++11 codebase.
● Designed as a collection of simple, decoupled
classes
● You can use as much or as little funtionality
as you like
Installing bx
● Available as a single-file pre-compiled binary:
– https://github.com/libbitcoin/libbitcoin-
explorer/wiki/Download-BX
– Linux, OS X, and Windows!
● Or you can compile it yourself:
– https://github.com/libbitcoin/libbitcoin-explorer
– Use the install.sh script for an hands-off compile, including
dependencies
– Or follow the manual build instructions
Installing libbitcoin-server
● Stable binaries are not yet available
– Hopefully soon!
● Source code is here:
– https://github.com/libbitcoin/libbitcoin-server
● To run:
$ initchain
$ bitcoin_server
libbitcoin Example – Grab some text
char line[256];
std::cout << "Please enter a secret phrase: ";
std::cin.getline(line, 256);
bc::data_chunk seed(line, line + strlen(line));
Future Plans
● New libbitcoin-server protocol
– We want a full query language
– libbitcoin-protocol
● SPV client library
– libitcoin-server is fast, so we don't want to lose that
– The client uses block headers to verify server responses
Slides
● Slides are here:
– http://www.slideshare.net/swansontec/libbitcoin-
slides