Difference between revisions of "Libbitcoin Common"

From Bitcoin Wiki
Jump to: navigation, search
(Created page with "Stub")
 
(Add libbitcoin content)
Line 1: Line 1:
Stub
+
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.

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

See Also

References