See https://libbitcoin.org