Difference between revisions of "Libbitcoin Common"
(Created page with "Stub") |
(Add libbitcoin content) |
||
Line 1: | Line 1: | ||
− | + | The common [https://github.com/libbitcoin/libbitcoin libbitcoin] library is a dependency of all others with the exception of [[Libbitcoin_Consensus|libbitcoin-consensus]]. It was the first library created and originally contained the core functionality of all of the others. | |
+ | |||
+ | ==Bitcoin Related Features== | ||
+ | * Key formats (raw, [https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki BIP32], WIF, compressed/uncompressed, minikey) | ||
+ | * Encoding functions (base 2/10/16/58/64/85) | ||
+ | * Hash functions (ripemd160, sha1, sha256, sha512, hmac_sha256, hmac_sha512, pkcs5_pbkdf2_hmac_sha512) | ||
+ | * URL parsing ([https://github.com/bitcoin/bips/blob/master/bip-0021.mediawiki BIP21] and [https://github.com/bitcoin/bips/blob/master/bip-0072.mediawiki BIP72]) | ||
+ | * Mnemonic functions ([https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki BIP39]) | ||
+ | * All published [https://github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md mnemonic dictionaries] | ||
+ | * Curve math, deterministic ECDSA, verification and encryption functions (based on [https://github.com/bitcoin/secp256k1 libsecp256k1]) | ||
+ | * Address functions (P2PKH and P2SH/[https://github.com/bitcoin/bips/blob/master/bip-0016.mediawiki BIP16]), | ||
+ | * Stealth addresses functions<ref>[https://wiki.unsystem.net/en/index.php/DarkWallet/Stealth DarkWallet Stealth Design Document]</ref> for wallets and blockchain search | ||
+ | * Wire and text serializable type library (P2P protocol) | ||
+ | * Bitcoin script engine (see [[Libbitcoin_Consensus|libbitcoin-consensus]] for more information) | ||
+ | * Asynchronous P2P networking stack built on [https://think-async.com ASIO] | ||
+ | |||
+ | ==General Purpose Features== | ||
+ | * Logging utilities | ||
+ | * [http://en.wikipedia.org/wiki/Radix_tree Patricia Trie] template optimized for binary search | ||
+ | * [http://utf8everywhere.org UTF8 Everywhere] tools and integration for Windows | ||
+ | * Command line, configuration file and help processing utilities | ||
+ | * Uses C++11 advancements and restricts use of pointers and exceptions | ||
+ | |||
+ | ==Build and Quality Control== | ||
+ | * Autotools builds for GCC/Clang | ||
+ | * All build artifacts generated by [[Libbitcoin_Build|libbitcoin-build]] | ||
+ | * Extensive unit text matrix (based on [http://www.boost.org/doc/libs/1_55_0/libs/test/doc/html/index.html Boost Test]) | ||
+ | * Continuous integration builds via [https://travis-ci.org/libbitcoin/libbitcoin Travis-CI] | ||
+ | * Visual Studio 2013 project and solution files | ||
+ | * Support for 32/64 bit processors and [http://en.wikipedia.org/wiki/Endianness endianness] differences | ||
+ | |||
+ | ==Dependencies== | ||
+ | * [http://www.boost.org boost] | ||
+ | * [https://github.com/bitcoin/secp256k1 libsecp256k1] | ||
+ | * [http://site.icu-project.org ICU] (optional) | ||
+ | |||
+ | ==See Also== | ||
+ | * [[Libbitcoin]] | ||
+ | |||
+ | ==References== |
Revision as of 22:48, 13 May 2015
The common libbitcoin library is a dependency of all others with the exception of libbitcoin-consensus. It was the first library created and originally contained the core functionality of all of the others.
Contents
Bitcoin Related Features
- Key formats (raw, BIP32, WIF, compressed/uncompressed, minikey)
- Encoding functions (base 2/10/16/58/64/85)
- Hash functions (ripemd160, sha1, sha256, sha512, hmac_sha256, hmac_sha512, pkcs5_pbkdf2_hmac_sha512)
- URL parsing (BIP21 and BIP72)
- Mnemonic functions (BIP39)
- All published mnemonic dictionaries
- Curve math, deterministic ECDSA, verification and encryption functions (based on libsecp256k1)
- Address functions (P2PKH and P2SH/BIP16),
- Stealth addresses functions[1] for wallets and blockchain search
- Wire and text serializable type library (P2P protocol)
- Bitcoin script engine (see libbitcoin-consensus for more information)
- Asynchronous P2P networking stack built on ASIO
General Purpose Features
- Logging utilities
- Patricia Trie template optimized for binary search
- UTF8 Everywhere tools and integration for Windows
- Command line, configuration file and help processing utilities
- Uses C++11 advancements and restricts use of pointers and exceptions
Build and Quality Control
- Autotools builds for GCC/Clang
- All build artifacts generated by libbitcoin-build
- Extensive unit text matrix (based on Boost Test)
- Continuous integration builds via Travis-CI
- Visual Studio 2013 project and solution files
- Support for 32/64 bit processors and endianness differences
Dependencies
- boost
- libsecp256k1
- ICU (optional)