<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://en.bitcoin.it/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Evoskuil</id>
	<title>Bitcoin Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://en.bitcoin.it/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Evoskuil"/>
	<link rel="alternate" type="text/html" href="https://en.bitcoin.it/wiki/Special:Contributions/Evoskuil"/>
	<updated>2026-05-03T14:33:38Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Bitcoin_Explorer&amp;diff=69893</id>
		<title>Bitcoin Explorer</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Bitcoin_Explorer&amp;diff=69893"/>
		<updated>2023-09-06T17:06:32Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: /* Entropy */ Replace the &amp;quot;it has been determined&amp;quot; link with report from developers, which provides the CVE link.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bitcoin Explorer (bx) is an advanced command line application that is included as part of [[Libbitcoin_Explorer|libbitcoin-explorer]]. [https://github.com/libbitcoin/libbitcoin-explorer/wiki Extensive documentation] and [https://github.com/libbitcoin/libbitcoin-explorer/wiki/Download-BX signed binaries] for Linux, OSX and Windows are available on GitHub.&lt;br /&gt;
&lt;br /&gt;
==Entropy==&lt;br /&gt;
In versions prior to 3.8.0 bx included the &#039;&#039;&#039;seed&#039;&#039;&#039; command, which was explained in the [https://github.com/libbitcoin/libbitcoin-explorer/wiki/Random-Numbers/897620743e329ca9ae8926cba5e717122619f439 Random-Numbers] topic:&lt;br /&gt;
&lt;br /&gt;
 With the exception of cert-new, any BX command that requires a random number obtains that value as an argument. This places the responsibility of ensuring random number strength on end-users and also helps them understand the potential for problems... The seed command is provided as a convenience, and is the only command that generates randomness.&lt;br /&gt;
&lt;br /&gt;
and was itself [https://github.com/libbitcoin/libbitcoin-explorer/wiki/bx-seed documented] with the following warning:&lt;br /&gt;
&lt;br /&gt;
 Generate a pseudorandom seed.&lt;br /&gt;
 WARNING: Pseudorandom seeding can introduce cryptographic weakness into your keys. This command is provided as a convenience.&lt;br /&gt;
&lt;br /&gt;
Despite this documentation, it [https://github.com/libbitcoin/libbitcoin-explorer/wiki/CVE-2023-39910 has been determined] that the command may have been used for live wallet seeding. Consequently the command has been [https://github.com/libbitcoin/libbitcoin-explorer/pull/729/commits/5281cfb370614716aa7dd1e099def193401da6f3 removed].&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
Generating a new bitcoin address:&lt;br /&gt;
&lt;br /&gt;
 $ echo [user entropy] | bx ec-new | bx ec-to-public | bx ec-to-address&lt;br /&gt;
 13ua8RRSxLpL5WL5cKUDepUCvJZgGWuKh7&lt;br /&gt;
&lt;br /&gt;
Executing a blockchain query against [[Libbitcoin_Server|Libbitcoin Server]] via [http://zeromq.org ZeroMQ]:&lt;br /&gt;
&lt;br /&gt;
 $ bx fetch-tx 4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b&lt;br /&gt;
 transaction&lt;br /&gt;
 {&lt;br /&gt;
     hash 4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b&lt;br /&gt;
     inputs&lt;br /&gt;
     {&lt;br /&gt;
         input&lt;br /&gt;
         {&lt;br /&gt;
             previous_output&lt;br /&gt;
             {&lt;br /&gt;
                 hash 0000000000000000000000000000000000000000000000000000000000000000&lt;br /&gt;
                 index 4294967295&lt;br /&gt;
             }&lt;br /&gt;
             script &amp;quot;[ 04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73 ]&amp;quot;&lt;br /&gt;
             sequence 4294967295&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
     lock_time 0&lt;br /&gt;
     outputs&lt;br /&gt;
     {&lt;br /&gt;
         output&lt;br /&gt;
         {&lt;br /&gt;
             address 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa&lt;br /&gt;
             script &amp;quot;[ 04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f ] checksig&amp;quot;&lt;br /&gt;
             value 5000000000&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
     version 1&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Decoding Satoshi&#039;s words:&lt;br /&gt;
&lt;br /&gt;
 $ bx base16-decode 04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73 &lt;br /&gt;
 ÿÿEThe Times 03/Jan/2009 Chancellor on brink of second bailout for banks&lt;br /&gt;
&lt;br /&gt;
Posting a transaction directly to 10 nodes on the Bitcoin P2P network:&lt;br /&gt;
&lt;br /&gt;
 $ bx send-tx-p2p --nodes 10 0100000001b3807042c92f449bbf79b33ca59d7dfec7f4cc71096704a9c526dddf496ee0970100000069463044022039a36013301597daef41fbe593a02cc513d0b55527ec2df1050e2e8ff49c85c202204fcc407ce9b6f719ee7d009aeb8d8d21423f400a5b871394ca32e00c26b348dd2103c40cbd64c9c608df2c9730f49b0888c4db1c436e8b2b74aead6c6afbd10428c0ffffffff01905f0100000000001976a91418c0bd8d1818f1bf99cb1df2269c645318ef7b7388ac00000000&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:09.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:09.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:09.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:12.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:12.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:15.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:15.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:19.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:20.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:20.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Libbitcoin]]&lt;br /&gt;
* [[Libbitcoin_Explorer|libbitcoin-explorer]]&lt;br /&gt;
* [[SubvertX]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
[[Category:Clients]]&lt;br /&gt;
[[Category:Frontends]]&lt;br /&gt;
[[Category:Open Source]]&lt;br /&gt;
[[Category:Software‏‎]]&lt;br /&gt;
[[Category:User Interfaces]]&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Bitcoin_Explorer&amp;diff=69852</id>
		<title>Bitcoin Explorer</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Bitcoin_Explorer&amp;diff=69852"/>
		<updated>2023-08-19T17:35:15Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: Add hyperlink to seed command removal.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bitcoin Explorer (bx) is an advanced command line application that is included as part of [[Libbitcoin_Explorer|libbitcoin-explorer]]. [https://github.com/libbitcoin/libbitcoin-explorer/wiki Extensive documentation] and [https://github.com/libbitcoin/libbitcoin-explorer/wiki/Download-BX signed binaries] for Linux, OSX and Windows are available on GitHub.&lt;br /&gt;
&lt;br /&gt;
==Entropy==&lt;br /&gt;
In versions prior to 3.8.0 bx included the &#039;&#039;&#039;seed&#039;&#039;&#039; command, which was explained in the [https://github.com/libbitcoin/libbitcoin-explorer/wiki/Random-Numbers/897620743e329ca9ae8926cba5e717122619f439 Random-Numbers] topic:&lt;br /&gt;
&lt;br /&gt;
 With the exception of cert-new, any BX command that requires a random number obtains that value as an argument. This places the responsibility of ensuring random number strength on end-users and also helps them understand the potential for problems... The seed command is provided as a convenience, and is the only command that generates randomness.&lt;br /&gt;
&lt;br /&gt;
and was itself [https://github.com/libbitcoin/libbitcoin-explorer/wiki/bx-seed documented] with the following warning:&lt;br /&gt;
&lt;br /&gt;
 Generate a pseudorandom seed.&lt;br /&gt;
 WARNING: Pseudorandom seeding can introduce cryptographic weakness into your keys. This command is provided as a convenience.&lt;br /&gt;
&lt;br /&gt;
Despite this documentation, it [https://milksad.info/ has been determined] that the command may have been used for live wallet seeding. Consequently the command has been [https://github.com/libbitcoin/libbitcoin-explorer/pull/729/commits/5281cfb370614716aa7dd1e099def193401da6f3 removed].&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
Generating a new bitcoin address:&lt;br /&gt;
&lt;br /&gt;
 $ echo [user entropy] | bx ec-new | bx ec-to-public | bx ec-to-address&lt;br /&gt;
 13ua8RRSxLpL5WL5cKUDepUCvJZgGWuKh7&lt;br /&gt;
&lt;br /&gt;
Executing a blockchain query against [[Libbitcoin_Server|Libbitcoin Server]] via [http://zeromq.org ZeroMQ]:&lt;br /&gt;
&lt;br /&gt;
 $ bx fetch-tx 4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b&lt;br /&gt;
 transaction&lt;br /&gt;
 {&lt;br /&gt;
     hash 4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b&lt;br /&gt;
     inputs&lt;br /&gt;
     {&lt;br /&gt;
         input&lt;br /&gt;
         {&lt;br /&gt;
             previous_output&lt;br /&gt;
             {&lt;br /&gt;
                 hash 0000000000000000000000000000000000000000000000000000000000000000&lt;br /&gt;
                 index 4294967295&lt;br /&gt;
             }&lt;br /&gt;
             script &amp;quot;[ 04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73 ]&amp;quot;&lt;br /&gt;
             sequence 4294967295&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
     lock_time 0&lt;br /&gt;
     outputs&lt;br /&gt;
     {&lt;br /&gt;
         output&lt;br /&gt;
         {&lt;br /&gt;
             address 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa&lt;br /&gt;
             script &amp;quot;[ 04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f ] checksig&amp;quot;&lt;br /&gt;
             value 5000000000&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
     version 1&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Decoding Satoshi&#039;s words:&lt;br /&gt;
&lt;br /&gt;
 $ bx base16-decode 04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73 &lt;br /&gt;
 ÿÿEThe Times 03/Jan/2009 Chancellor on brink of second bailout for banks&lt;br /&gt;
&lt;br /&gt;
Posting a transaction directly to 10 nodes on the Bitcoin P2P network:&lt;br /&gt;
&lt;br /&gt;
 $ bx send-tx-p2p --nodes 10 0100000001b3807042c92f449bbf79b33ca59d7dfec7f4cc71096704a9c526dddf496ee0970100000069463044022039a36013301597daef41fbe593a02cc513d0b55527ec2df1050e2e8ff49c85c202204fcc407ce9b6f719ee7d009aeb8d8d21423f400a5b871394ca32e00c26b348dd2103c40cbd64c9c608df2c9730f49b0888c4db1c436e8b2b74aead6c6afbd10428c0ffffffff01905f0100000000001976a91418c0bd8d1818f1bf99cb1df2269c645318ef7b7388ac00000000&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:09.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:09.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:09.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:12.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:12.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:15.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:15.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:19.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:20.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:20.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Libbitcoin]]&lt;br /&gt;
* [[Libbitcoin_Explorer|libbitcoin-explorer]]&lt;br /&gt;
* [[SubvertX]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
[[Category:Clients]]&lt;br /&gt;
[[Category:Frontends]]&lt;br /&gt;
[[Category:Open Source]]&lt;br /&gt;
[[Category:Software‏‎]]&lt;br /&gt;
[[Category:User Interfaces]]&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Bitcoin_Explorer&amp;diff=69844</id>
		<title>Bitcoin Explorer</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Bitcoin_Explorer&amp;diff=69844"/>
		<updated>2023-08-17T20:06:10Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: Change updated version to 3.8.0 (vs. 3.7.0). 3.7 was staged much earlier and never tagged for release.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bitcoin Explorer (bx) is an advanced command line application that is included as part of [[Libbitcoin_Explorer|libbitcoin-explorer]]. [https://github.com/libbitcoin/libbitcoin-explorer/wiki Extensive documentation] and [https://github.com/libbitcoin/libbitcoin-explorer/wiki/Download-BX signed binaries] for Linux, OSX and Windows are available on GitHub.&lt;br /&gt;
&lt;br /&gt;
==Entropy==&lt;br /&gt;
In versions prior to 3.8.0 bx included the &#039;&#039;&#039;seed&#039;&#039;&#039; command, which was explained in the [https://github.com/libbitcoin/libbitcoin-explorer/wiki/Random-Numbers/897620743e329ca9ae8926cba5e717122619f439 Random-Numbers] topic:&lt;br /&gt;
&lt;br /&gt;
 With the exception of cert-new, any BX command that requires a random number obtains that value as an argument. This places the responsibility of ensuring random number strength on end-users and also helps them understand the potential for problems... The seed command is provided as a convenience, and is the only command that generates randomness.&lt;br /&gt;
&lt;br /&gt;
and was itself [https://github.com/libbitcoin/libbitcoin-explorer/wiki/bx-seed documented] with the following warning:&lt;br /&gt;
&lt;br /&gt;
 Generate a pseudorandom seed.&lt;br /&gt;
 WARNING: Pseudorandom seeding can introduce cryptographic weakness into your keys. This command is provided as a convenience.&lt;br /&gt;
&lt;br /&gt;
Despite this documentation, it [https://milksad.info/ has been determined] that the command may have been used for live wallet seeding. Consequently the command has been removed.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
Generating a new bitcoin address:&lt;br /&gt;
&lt;br /&gt;
 $ echo [user entropy] | bx ec-new | bx ec-to-public | bx ec-to-address&lt;br /&gt;
 13ua8RRSxLpL5WL5cKUDepUCvJZgGWuKh7&lt;br /&gt;
&lt;br /&gt;
Executing a blockchain query against [[Libbitcoin_Server|Libbitcoin Server]] via [http://zeromq.org ZeroMQ]:&lt;br /&gt;
&lt;br /&gt;
 $ bx fetch-tx 4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b&lt;br /&gt;
 transaction&lt;br /&gt;
 {&lt;br /&gt;
     hash 4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b&lt;br /&gt;
     inputs&lt;br /&gt;
     {&lt;br /&gt;
         input&lt;br /&gt;
         {&lt;br /&gt;
             previous_output&lt;br /&gt;
             {&lt;br /&gt;
                 hash 0000000000000000000000000000000000000000000000000000000000000000&lt;br /&gt;
                 index 4294967295&lt;br /&gt;
             }&lt;br /&gt;
             script &amp;quot;[ 04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73 ]&amp;quot;&lt;br /&gt;
             sequence 4294967295&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
     lock_time 0&lt;br /&gt;
     outputs&lt;br /&gt;
     {&lt;br /&gt;
         output&lt;br /&gt;
         {&lt;br /&gt;
             address 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa&lt;br /&gt;
             script &amp;quot;[ 04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f ] checksig&amp;quot;&lt;br /&gt;
             value 5000000000&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
     version 1&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Decoding Satoshi&#039;s words:&lt;br /&gt;
&lt;br /&gt;
 $ bx base16-decode 04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73 &lt;br /&gt;
 ÿÿEThe Times 03/Jan/2009 Chancellor on brink of second bailout for banks&lt;br /&gt;
&lt;br /&gt;
Posting a transaction directly to 10 nodes on the Bitcoin P2P network:&lt;br /&gt;
&lt;br /&gt;
 $ bx send-tx-p2p --nodes 10 0100000001b3807042c92f449bbf79b33ca59d7dfec7f4cc71096704a9c526dddf496ee0970100000069463044022039a36013301597daef41fbe593a02cc513d0b55527ec2df1050e2e8ff49c85c202204fcc407ce9b6f719ee7d009aeb8d8d21423f400a5b871394ca32e00c26b348dd2103c40cbd64c9c608df2c9730f49b0888c4db1c436e8b2b74aead6c6afbd10428c0ffffffff01905f0100000000001976a91418c0bd8d1818f1bf99cb1df2269c645318ef7b7388ac00000000&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:09.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:09.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:09.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:12.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:12.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:15.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:15.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:19.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:20.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:20.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Libbitcoin]]&lt;br /&gt;
* [[Libbitcoin_Explorer|libbitcoin-explorer]]&lt;br /&gt;
* [[SubvertX]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
[[Category:Clients]]&lt;br /&gt;
[[Category:Frontends]]&lt;br /&gt;
[[Category:Open Source]]&lt;br /&gt;
[[Category:Software‏‎]]&lt;br /&gt;
[[Category:User Interfaces]]&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Bitcoin_Explorer&amp;diff=69843</id>
		<title>Bitcoin Explorer</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Bitcoin_Explorer&amp;diff=69843"/>
		<updated>2023-08-17T18:26:21Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: Use the preceding (relevant) Random Numbers topic.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bitcoin Explorer (bx) is an advanced command line application that is included as part of [[Libbitcoin_Explorer|libbitcoin-explorer]]. [https://github.com/libbitcoin/libbitcoin-explorer/wiki Extensive documentation] and [https://github.com/libbitcoin/libbitcoin-explorer/wiki/Download-BX signed binaries] for Linux, OSX and Windows are available on GitHub.&lt;br /&gt;
&lt;br /&gt;
==Entropy==&lt;br /&gt;
In versions prior to 3.7.0 bx included the &#039;&#039;&#039;seed&#039;&#039;&#039; command, which was explained in the [https://github.com/libbitcoin/libbitcoin-explorer/wiki/Random-Numbers/897620743e329ca9ae8926cba5e717122619f439 Random-Numbers] topic:&lt;br /&gt;
&lt;br /&gt;
 With the exception of cert-new, any BX command that requires a random number obtains that value as an argument. This places the responsibility of ensuring random number strength on end-users and also helps them understand the potential for problems... The seed command is provided as a convenience, and is the only command that generates randomness.&lt;br /&gt;
&lt;br /&gt;
and was itself [https://github.com/libbitcoin/libbitcoin-explorer/wiki/bx-seed documented] with the following warning:&lt;br /&gt;
&lt;br /&gt;
 Generate a pseudorandom seed.&lt;br /&gt;
 WARNING: Pseudorandom seeding can introduce cryptographic weakness into your keys. This command is provided as a convenience.&lt;br /&gt;
&lt;br /&gt;
Despite this documentation, it [https://milksad.info/ has been determined] that the command may have been used for live wallet seeding. Consequently the command has been removed.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
Generating a new bitcoin address:&lt;br /&gt;
&lt;br /&gt;
 $ echo [user entropy] | bx ec-new | bx ec-to-public | bx ec-to-address&lt;br /&gt;
 13ua8RRSxLpL5WL5cKUDepUCvJZgGWuKh7&lt;br /&gt;
&lt;br /&gt;
Executing a blockchain query against [[Libbitcoin_Server|Libbitcoin Server]] via [http://zeromq.org ZeroMQ]:&lt;br /&gt;
&lt;br /&gt;
 $ bx fetch-tx 4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b&lt;br /&gt;
 transaction&lt;br /&gt;
 {&lt;br /&gt;
     hash 4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b&lt;br /&gt;
     inputs&lt;br /&gt;
     {&lt;br /&gt;
         input&lt;br /&gt;
         {&lt;br /&gt;
             previous_output&lt;br /&gt;
             {&lt;br /&gt;
                 hash 0000000000000000000000000000000000000000000000000000000000000000&lt;br /&gt;
                 index 4294967295&lt;br /&gt;
             }&lt;br /&gt;
             script &amp;quot;[ 04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73 ]&amp;quot;&lt;br /&gt;
             sequence 4294967295&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
     lock_time 0&lt;br /&gt;
     outputs&lt;br /&gt;
     {&lt;br /&gt;
         output&lt;br /&gt;
         {&lt;br /&gt;
             address 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa&lt;br /&gt;
             script &amp;quot;[ 04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f ] checksig&amp;quot;&lt;br /&gt;
             value 5000000000&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
     version 1&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Decoding Satoshi&#039;s words:&lt;br /&gt;
&lt;br /&gt;
 $ bx base16-decode 04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73 &lt;br /&gt;
 ÿÿEThe Times 03/Jan/2009 Chancellor on brink of second bailout for banks&lt;br /&gt;
&lt;br /&gt;
Posting a transaction directly to 10 nodes on the Bitcoin P2P network:&lt;br /&gt;
&lt;br /&gt;
 $ bx send-tx-p2p --nodes 10 0100000001b3807042c92f449bbf79b33ca59d7dfec7f4cc71096704a9c526dddf496ee0970100000069463044022039a36013301597daef41fbe593a02cc513d0b55527ec2df1050e2e8ff49c85c202204fcc407ce9b6f719ee7d009aeb8d8d21423f400a5b871394ca32e00c26b348dd2103c40cbd64c9c608df2c9730f49b0888c4db1c436e8b2b74aead6c6afbd10428c0ffffffff01905f0100000000001976a91418c0bd8d1818f1bf99cb1df2269c645318ef7b7388ac00000000&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:09.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:09.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:09.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:12.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:12.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:15.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:15.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:19.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:20.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:20.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Libbitcoin]]&lt;br /&gt;
* [[Libbitcoin_Explorer|libbitcoin-explorer]]&lt;br /&gt;
* [[SubvertX]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
[[Category:Clients]]&lt;br /&gt;
[[Category:Frontends]]&lt;br /&gt;
[[Category:Open Source]]&lt;br /&gt;
[[Category:Software‏‎]]&lt;br /&gt;
[[Category:User Interfaces]]&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Bitcoin_Explorer&amp;diff=69842</id>
		<title>Bitcoin Explorer</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Bitcoin_Explorer&amp;diff=69842"/>
		<updated>2023-08-17T17:55:38Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: Add missing hyperlink.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bitcoin Explorer (bx) is an advanced command line application that is included as part of [[Libbitcoin_Explorer|libbitcoin-explorer]]. [https://github.com/libbitcoin/libbitcoin-explorer/wiki Extensive documentation] and [https://github.com/libbitcoin/libbitcoin-explorer/wiki/Download-BX signed binaries] for Linux, OSX and Windows are available on GitHub.&lt;br /&gt;
&lt;br /&gt;
==Entropy==&lt;br /&gt;
In versions prior to 3.7.0 bx included the &#039;&#039;&#039;seed&#039;&#039;&#039; command, which was explained in the [https://github.com/libbitcoin/libbitcoin-explorer/wiki/Random-Numbers Random-Numbers] topic:&lt;br /&gt;
&lt;br /&gt;
 With the exception of cert-new, any BX command that requires a random number obtains that value as an argument. This places the responsibility of ensuring random number strength on end-users and also helps them understand the potential for problems.&lt;br /&gt;
 ...&lt;br /&gt;
 The seed command is provided as a convenience for demonstrative purposes only, and should never be used to secure real bitcoin.&lt;br /&gt;
&lt;br /&gt;
and was itself [https://github.com/libbitcoin/libbitcoin-explorer/wiki/bx-seed documented] with the following warning:&lt;br /&gt;
&lt;br /&gt;
 Generate a pseudorandom seed.&lt;br /&gt;
 WARNING: Pseudorandom seeding can introduce cryptographic weakness into your keys. This command is provided as a convenience.&lt;br /&gt;
&lt;br /&gt;
Despite this documentation, it [https://milksad.info/ has been determined] that the command may have been used for live wallet seeding. Consequently the command has been removed.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
Generating a new bitcoin address:&lt;br /&gt;
&lt;br /&gt;
 $ echo [user entropy] | bx ec-new | bx ec-to-public | bx ec-to-address&lt;br /&gt;
 13ua8RRSxLpL5WL5cKUDepUCvJZgGWuKh7&lt;br /&gt;
&lt;br /&gt;
Executing a blockchain query against [[Libbitcoin_Server|Libbitcoin Server]] via [http://zeromq.org ZeroMQ]:&lt;br /&gt;
&lt;br /&gt;
 $ bx fetch-tx 4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b&lt;br /&gt;
 transaction&lt;br /&gt;
 {&lt;br /&gt;
     hash 4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b&lt;br /&gt;
     inputs&lt;br /&gt;
     {&lt;br /&gt;
         input&lt;br /&gt;
         {&lt;br /&gt;
             previous_output&lt;br /&gt;
             {&lt;br /&gt;
                 hash 0000000000000000000000000000000000000000000000000000000000000000&lt;br /&gt;
                 index 4294967295&lt;br /&gt;
             }&lt;br /&gt;
             script &amp;quot;[ 04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73 ]&amp;quot;&lt;br /&gt;
             sequence 4294967295&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
     lock_time 0&lt;br /&gt;
     outputs&lt;br /&gt;
     {&lt;br /&gt;
         output&lt;br /&gt;
         {&lt;br /&gt;
             address 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa&lt;br /&gt;
             script &amp;quot;[ 04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f ] checksig&amp;quot;&lt;br /&gt;
             value 5000000000&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
     version 1&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Decoding Satoshi&#039;s words:&lt;br /&gt;
&lt;br /&gt;
 $ bx base16-decode 04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73 &lt;br /&gt;
 ÿÿEThe Times 03/Jan/2009 Chancellor on brink of second bailout for banks&lt;br /&gt;
&lt;br /&gt;
Posting a transaction directly to 10 nodes on the Bitcoin P2P network:&lt;br /&gt;
&lt;br /&gt;
 $ bx send-tx-p2p --nodes 10 0100000001b3807042c92f449bbf79b33ca59d7dfec7f4cc71096704a9c526dddf496ee0970100000069463044022039a36013301597daef41fbe593a02cc513d0b55527ec2df1050e2e8ff49c85c202204fcc407ce9b6f719ee7d009aeb8d8d21423f400a5b871394ca32e00c26b348dd2103c40cbd64c9c608df2c9730f49b0888c4db1c436e8b2b74aead6c6afbd10428c0ffffffff01905f0100000000001976a91418c0bd8d1818f1bf99cb1df2269c645318ef7b7388ac00000000&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:09.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:09.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:09.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:12.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:12.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:15.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:15.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:19.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:20.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:20.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Libbitcoin]]&lt;br /&gt;
* [[Libbitcoin_Explorer|libbitcoin-explorer]]&lt;br /&gt;
* [[SubvertX]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
[[Category:Clients]]&lt;br /&gt;
[[Category:Frontends]]&lt;br /&gt;
[[Category:Open Source]]&lt;br /&gt;
[[Category:Software‏‎]]&lt;br /&gt;
[[Category:User Interfaces]]&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Bitcoin_Explorer&amp;diff=69841</id>
		<title>Bitcoin Explorer</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Bitcoin_Explorer&amp;diff=69841"/>
		<updated>2023-08-17T17:38:39Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: Repair vandalism, replace `bx seed` example with `echo [user entropy]`, add info on seeding.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bitcoin Explorer (bx) is an advanced command line application that is included as part of [[Libbitcoin_Explorer|libbitcoin-explorer]]. [https://github.com/libbitcoin/libbitcoin-explorer/wiki Extensive documentation] and [https://github.com/libbitcoin/libbitcoin-explorer/wiki/Download-BX signed binaries] for Linux, OSX and Windows are available on GitHub.&lt;br /&gt;
&lt;br /&gt;
==Entropy==&lt;br /&gt;
In versions prior to 3.7.0 bx included the &#039;&#039;&#039;seed&#039;&#039;&#039; command, which was explained in the [https://github.com/libbitcoin/libbitcoin-explorer/wiki/Random-Numbers Random-Numbers] topic:&lt;br /&gt;
&lt;br /&gt;
 With the exception of cert-new, any BX command that requires a random number obtains that value as an argument. This places the responsibility of ensuring random number strength on end-users and also helps them understand the potential for problems.&lt;br /&gt;
 ...&lt;br /&gt;
 The seed command is provided as a convenience for demonstrative purposes only, and should never be used to secure real bitcoin.&lt;br /&gt;
&lt;br /&gt;
and was itself documented with the following warning:&lt;br /&gt;
&lt;br /&gt;
 Generate a pseudorandom seed.&lt;br /&gt;
 WARNING: Pseudorandom seeding can introduce cryptographic weakness into your keys. This command is provided as a convenience.&lt;br /&gt;
&lt;br /&gt;
Despite this documentation, it [https://milksad.info/ has been determined] that the command may have been used for live wallet seeding. Consequently the command has been removed.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
Generating a new bitcoin address:&lt;br /&gt;
&lt;br /&gt;
 $ echo [user entropy] | bx ec-new | bx ec-to-public | bx ec-to-address&lt;br /&gt;
 13ua8RRSxLpL5WL5cKUDepUCvJZgGWuKh7&lt;br /&gt;
&lt;br /&gt;
Executing a blockchain query against [[Libbitcoin_Server|Libbitcoin Server]] via [http://zeromq.org ZeroMQ]:&lt;br /&gt;
&lt;br /&gt;
 $ bx fetch-tx 4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b&lt;br /&gt;
 transaction&lt;br /&gt;
 {&lt;br /&gt;
     hash 4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b&lt;br /&gt;
     inputs&lt;br /&gt;
     {&lt;br /&gt;
         input&lt;br /&gt;
         {&lt;br /&gt;
             previous_output&lt;br /&gt;
             {&lt;br /&gt;
                 hash 0000000000000000000000000000000000000000000000000000000000000000&lt;br /&gt;
                 index 4294967295&lt;br /&gt;
             }&lt;br /&gt;
             script &amp;quot;[ 04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73 ]&amp;quot;&lt;br /&gt;
             sequence 4294967295&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
     lock_time 0&lt;br /&gt;
     outputs&lt;br /&gt;
     {&lt;br /&gt;
         output&lt;br /&gt;
         {&lt;br /&gt;
             address 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa&lt;br /&gt;
             script &amp;quot;[ 04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f ] checksig&amp;quot;&lt;br /&gt;
             value 5000000000&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
     version 1&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Decoding Satoshi&#039;s words:&lt;br /&gt;
&lt;br /&gt;
 $ bx base16-decode 04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73 &lt;br /&gt;
 ÿÿEThe Times 03/Jan/2009 Chancellor on brink of second bailout for banks&lt;br /&gt;
&lt;br /&gt;
Posting a transaction directly to 10 nodes on the Bitcoin P2P network:&lt;br /&gt;
&lt;br /&gt;
 $ bx send-tx-p2p --nodes 10 0100000001b3807042c92f449bbf79b33ca59d7dfec7f4cc71096704a9c526dddf496ee0970100000069463044022039a36013301597daef41fbe593a02cc513d0b55527ec2df1050e2e8ff49c85c202204fcc407ce9b6f719ee7d009aeb8d8d21423f400a5b871394ca32e00c26b348dd2103c40cbd64c9c608df2c9730f49b0888c4db1c436e8b2b74aead6c6afbd10428c0ffffffff01905f0100000000001976a91418c0bd8d1818f1bf99cb1df2269c645318ef7b7388ac00000000&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:09.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:09.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:09.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:12.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:12.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:15.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:15.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:19.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:20.&lt;br /&gt;
 Sent transaction at 2015-May-08 12:17:20.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Libbitcoin]]&lt;br /&gt;
* [[Libbitcoin_Explorer|libbitcoin-explorer]]&lt;br /&gt;
* [[SubvertX]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
[[Category:Clients]]&lt;br /&gt;
[[Category:Frontends]]&lt;br /&gt;
[[Category:Open Source]]&lt;br /&gt;
[[Category:Software‏‎]]&lt;br /&gt;
[[Category:User Interfaces]]&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Taproot_Uses&amp;diff=68526</id>
		<title>Taproot Uses</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Taproot_Uses&amp;diff=68526"/>
		<updated>2021-03-10T00:47:22Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: Change BIP references to internal hyperlinks.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is an index of projects using Taproot in an interesting way. Please update with links.&lt;br /&gt;
&lt;br /&gt;
Phases Key:&lt;br /&gt;
&lt;br /&gt;
* Implemented: Real running code without major known deficiencies.&lt;br /&gt;
* Spec: A detailed document describing how something should work.&lt;br /&gt;
* Prototype: A component of something is built or a toy-level implementation.&lt;br /&gt;
* Idea: A description of something which could be built.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Link !! Description !! Phase (Implemented, Spec, Prototype, Idea)&lt;br /&gt;
|-&lt;br /&gt;
| Taproot Ring Signatures || https://github.com/jonasnick/taproot-ringsig || Ring Signatures over all Taproot outputs. || Prototype&lt;br /&gt;
|-&lt;br /&gt;
| LNP Node || https://github.com/LNP-BP/lnp-node || Run the lightning network. || Implemented&lt;br /&gt;
|-&lt;br /&gt;
| Bitcoin Pro || https://github.com/pandoracore/bitcoin-pro || Issue RGB assets. || Implemented&lt;br /&gt;
|-&lt;br /&gt;
| The Farcaster Project || https://github.com/farcaster-project || Atomic Swaps || Implemented&lt;br /&gt;
|-&lt;br /&gt;
| MyCitadel Wallet || https://github.com/mycitadel/mycitadel-node || Send and receive bitcoins and RGB assets. || Implemented&lt;br /&gt;
|-&lt;br /&gt;
| Bitcoin Core Wallet Descriptor Support || https://github.com/bitcoin/bitcoin/pull/21365#issuecomment-792972451 || Handle Taproot descriptors for trees of key-only scripts. || Prototype/Implemented&lt;br /&gt;
|-&lt;br /&gt;
| Lightning in a Taproot World || https://lists.linuxfoundation.org/pipermail/lightning-dev/2019-December/002375.html ||  Description of LN with Taproot. || Idea&lt;br /&gt;
|-&lt;br /&gt;
| Multi-Hop Locks from Scriptless Scripts || https://github.com/ElementsProject/scriptless-scripts/blob/master/md/multi-hop-locks.md || Description of LN with Taproot || Spec, No Implementation&lt;br /&gt;
|-&lt;br /&gt;
| [[Libbitcoin]] support || https://github.com/evoskuil/libbitcoin-system/tree/taproot || Add [[BIP_0341]] and [[BIP_0342]] script validation || Prototype&lt;br /&gt;
|-&lt;br /&gt;
| DLC || https://github.com/discreetlogcontracts/dlcspecs || Discreet Log Contracts are a system which addresses the scalability and privacy concerns for smart contracts and seeks to minimize the trust required in the oracle which provides external data.  || Spec&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Taproot_Uses&amp;diff=68525</id>
		<title>Taproot Uses</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Taproot_Uses&amp;diff=68525"/>
		<updated>2021-03-10T00:44:18Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: Add hyperlink to Libbitcoin&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is an index of projects using Taproot in an interesting way. Please update with links.&lt;br /&gt;
&lt;br /&gt;
Phases Key:&lt;br /&gt;
&lt;br /&gt;
* Implemented: Real running code without major known deficiencies.&lt;br /&gt;
* Spec: A detailed document describing how something should work.&lt;br /&gt;
* Prototype: A component of something is built or a toy-level implementation.&lt;br /&gt;
* Idea: A description of something which could be built.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Link !! Description !! Phase (Implemented, Spec, Prototype, Idea)&lt;br /&gt;
|-&lt;br /&gt;
| Taproot Ring Signatures || https://github.com/jonasnick/taproot-ringsig || Ring Signatures over all Taproot outputs. || Prototype&lt;br /&gt;
|-&lt;br /&gt;
| LNP Node || https://github.com/LNP-BP/lnp-node || Run the lightning network. || Implemented&lt;br /&gt;
|-&lt;br /&gt;
| Bitcoin Pro || https://github.com/pandoracore/bitcoin-pro || Issue RGB assets. || Implemented&lt;br /&gt;
|-&lt;br /&gt;
| The Farcaster Project || https://github.com/farcaster-project || Atomic Swaps || Implemented&lt;br /&gt;
|-&lt;br /&gt;
| MyCitadel Wallet || https://github.com/mycitadel/mycitadel-node || Send and receive bitcoins and RGB assets. || Implemented&lt;br /&gt;
|-&lt;br /&gt;
| Bitcoin Core Wallet Descriptor Support || https://github.com/bitcoin/bitcoin/pull/21365#issuecomment-792972451 || Handle Taproot descriptors for trees of key-only scripts. || Prototype/Implemented&lt;br /&gt;
|-&lt;br /&gt;
| Lightning in a Taproot World || https://lists.linuxfoundation.org/pipermail/lightning-dev/2019-December/002375.html ||  Description of LN with Taproot. || Idea&lt;br /&gt;
|-&lt;br /&gt;
| Multi-Hop Locks from Scriptless Scripts || https://github.com/ElementsProject/scriptless-scripts/blob/master/md/multi-hop-locks.md || Description of LN with Taproot || Spec, No Implementation&lt;br /&gt;
|-&lt;br /&gt;
| [[Libbitcoin]] support || https://github.com/evoskuil/libbitcoin-system/tree/taproot || Add BIP341 and BIP342 script validation || Prototype&lt;br /&gt;
|-&lt;br /&gt;
| DLC || https://github.com/discreetlogcontracts/dlcspecs || Discreet Log Contracts are a system which addresses the scalability and privacy concerns for smart contracts and seeks to minimize the trust required in the oracle which provides external data.  || Spec&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Developers&amp;diff=68521</id>
		<title>Developers</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Developers&amp;diff=68521"/>
		<updated>2021-03-09T07:17:01Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: Libbitcoin: Inactivate Amir and others, add/activate Kulpreet, sort by activity.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* &#039;&#039;&#039;This list is not complete.&#039;&#039;&#039; Please make updates/corrections as needed.&lt;br /&gt;
* Attempt to sort by contribution&lt;br /&gt;
* Legend:&lt;br /&gt;
** &amp;quot;Author&amp;quot; = original author; &amp;quot;Lead&amp;quot; = current project lead&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;background:#90ff90&amp;quot; | active maintainer&lt;br /&gt;
| style=&amp;quot;background:#ffffaa&amp;quot; | has made contributions&lt;br /&gt;
| style=&amp;quot;background:#ff9090&amp;quot; | no involvement&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! Name !! Reference !! bitcoinj !! BFGMiner !! Tools !! Libbitcoin !! Gentoo !! Supybot !! Other&lt;br /&gt;
|-&lt;br /&gt;
| Satoshi Nakamoto&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|Author&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|style=&amp;quot;background:#90ff90&amp;quot;|Bitcoin original designer&lt;br /&gt;
|-&lt;br /&gt;
| Wladimir J. van der Laan&lt;br /&gt;
| {{Yes|Lead}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Pieter Wuille&lt;br /&gt;
| {{Table Value Yes}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Gavinandresen|Gavin Andresen]]&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|Retired&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|style=&amp;quot;background:#90ff90&amp;quot;|Author&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Cory Fields&lt;br /&gt;
| {{Table Value Yes}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Matt Corallo&lt;br /&gt;
| {{Table Value Yes}}&lt;br /&gt;
| {{Table Value Yes}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Jonas Schnelli&lt;br /&gt;
| {{Table Value Yes}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Marco Falke&lt;br /&gt;
| {{Table Value Yes}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Luke Dashjr&lt;br /&gt;
| {{Table Value Yes}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|style=&amp;quot;background:#90ff90&amp;quot;|Lead&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value Yes}}&lt;br /&gt;
| {{Table Value Yes}}&lt;br /&gt;
|style=&amp;quot;background:#90ff90&amp;quot;|URI, Wallet protocols, [[Eloipool]]&lt;br /&gt;
|-&lt;br /&gt;
| John Newbery&lt;br /&gt;
| {{Table Value Yes}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Alex Morcos&lt;br /&gt;
| {{Table Value Yes}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Suhas Daftuar&lt;br /&gt;
| {{Table Value Yes}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| fanquake&lt;br /&gt;
| {{Table Value Yes}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Jorge Timón&lt;br /&gt;
| {{Table Value Yes}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Gregory Maxwell&lt;br /&gt;
| {{Table Value Yes}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| practicalswift&lt;br /&gt;
| {{Table Value Yes}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Russell Yanofsky&lt;br /&gt;
| {{Table Value Yes}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| paveljanik&lt;br /&gt;
| {{Table Value Yes}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| cozz&lt;br /&gt;
| {{Table Value Yes}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Patrick Strateman&lt;br /&gt;
| {{Table Value Yes}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|Author&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Andrew Chow&lt;br /&gt;
| {{Table Value Yes}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| João Barbosa&lt;br /&gt;
| {{Table Value Yes}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Kalle Alm&lt;br /&gt;
| {{Table Value Yes}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Eric Lombrozo&lt;br /&gt;
| {{Table Value Yes}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Samuel Dobson&lt;br /&gt;
| {{Table Value Yes}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Johnson Lau&lt;br /&gt;
| {{Table Value Yes}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Giel van Schijndel&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| rebroad&lt;br /&gt;
| {{Table Value Yes}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| sirius-m&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|Retired&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Chris Moore&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Nils Schneider&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| Jeff Garzik&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|Retired&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|Author&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|style=&amp;quot;background:#90ff90&amp;quot;|[[pushpool]]&lt;br /&gt;
|-&lt;br /&gt;
| Diapolo&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Mike Hearn&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|style=&amp;quot;background:#90ff90&amp;quot;|Author&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Andreas Schildbach&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value Yes}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| devrandom&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value Yes}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|style=&amp;quot;background:#90ff90&amp;quot;|[[Gitian Project]]&lt;br /&gt;
|-&lt;br /&gt;
| Daniel Folkinshteyn&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| Amir Taaki&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|Author&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|[[Libbitcoin_Explorer|SX]], [[Libbitcoin_Server|Obelisk]]&lt;br /&gt;
|-&lt;br /&gt;
| Eric Voskuil&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|style=&amp;quot;background:#90ff90&amp;quot;|Lead&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|style=&amp;quot;background:#90ff90&amp;quot;|[[Libbitcoin_Explorer|BX]], [[Libbitcoin_Server|BS]]&lt;br /&gt;
|-&lt;br /&gt;
| Phillip Mienk&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value Yes}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Neill Miller&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value Yes}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Kulpreet Singh&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value Yes}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| William Swanson&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Pablo Castellano&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Noel Maersk&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Kamil Domański&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| bobalot&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| drwasho&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| saracen&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Matt Giuca&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value Yes}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Con Kolivas&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value Yes}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Mizery De Aria&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|style=&amp;quot;background:#90ff90&amp;quot;|Author&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Laurent Bachelier&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value Yes}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Florian Schmaus&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value Yes}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| BioMike&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value Yes}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Marius Hanne&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| David Francois&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Fabian H jr.&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| ovdeathiam&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Michal Zima&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Venkatesh Srinivas&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Vegard Nossum&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| JoelKatz&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Joerie de Gram&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Johannes Henninger&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Jeroenz0r&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Han Lin Yap&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Abraham Jewowich&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Michael Bemmerl&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Eric Hosmer&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Dawid Spiechowicz&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Stéphane Gimenez&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Patrick Varilly&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Jay Weisskopf&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Dylan Noblesmith&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| James Burkle&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Jordan Lewis&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Dean Lee&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| xHire&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| HostFat&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Jakob Kramer&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| ariel&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| dabaopku&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Federico Faggiano&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| m0ray&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Danube&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Carlos Pizarro&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Blitzboom&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Daniel Holbert&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Jaromil&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Carlo Alberto Ferraris&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Forrest Voight&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Amir Yalon&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| John Maguire&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Ricardo M. Correia&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Dan Helfman&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| gjs278&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Dan Loewenherz&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Eric Swanson&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Santiago M. Mola&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Shane Wegner&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Sven Slootweg&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| ojab&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| sandos&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| Witchspace&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|-&lt;br /&gt;
| [[laszlo]]&lt;br /&gt;
|style=&amp;quot;background:#ffffaa&amp;quot;|&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
| {{Table Value No}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [https://bitcoin.org/en/development List of developers on bitcoin.org]&lt;br /&gt;
* [[Original client developers]]&lt;br /&gt;
* [[People]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer]]&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Taproot_Uses&amp;diff=68517</id>
		<title>Taproot Uses</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Taproot_Uses&amp;diff=68517"/>
		<updated>2021-03-09T02:43:18Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: Add link to personal repo taproot branch (libbitcoin support for Taproot and Tapscript validation).&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is an index of projects using Taproot in an interesting way. Please update with links.&lt;br /&gt;
&lt;br /&gt;
Phases Key:&lt;br /&gt;
&lt;br /&gt;
* Implemented: Real running code without major known deficiencies.&lt;br /&gt;
* Spec: A detailed document describing how something should work.&lt;br /&gt;
* Prototype: A component of something is built or a toy-level implementation.&lt;br /&gt;
* Idea: A description of something which could be built.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Link !! Description !! Phase (Implemented, Spec, Prototype, Idea)&lt;br /&gt;
|-&lt;br /&gt;
| Taproot Ring Signatures || https://github.com/jonasnick/taproot-ringsig || Ring Signatures over all Taproot outputs. || Prototype&lt;br /&gt;
|-&lt;br /&gt;
| LNP Node || https://github.com/LNP-BP/lnp-node || Run the lightning network. || Implemented&lt;br /&gt;
|-&lt;br /&gt;
| Bitcoin Pro || https://github.com/pandoracore/bitcoin-pro || Issue RGB assets. || Implemented&lt;br /&gt;
|-&lt;br /&gt;
| The Farcaster Project || https://github.com/farcaster-project || Atomic Swaps || Implemented&lt;br /&gt;
|-&lt;br /&gt;
| MyCitadel Wallet || https://github.com/mycitadel/mycitadel-node || Send and receive bitcoins and RGB assets. || Implemented&lt;br /&gt;
|-&lt;br /&gt;
| Bitcoin Core Wallet Descriptor Support || https://github.com/bitcoin/bitcoin/pull/21365#issuecomment-792972451 || Handle Taproot descriptors for trees of key-only scripts. || Prototype/Implemented&lt;br /&gt;
|-&lt;br /&gt;
| Lightning in a Taproot World || https://lists.linuxfoundation.org/pipermail/lightning-dev/2019-December/002375.html ||  Description of LN with Taproot. || Idea&lt;br /&gt;
|-&lt;br /&gt;
| Multi-Hop Locks from Scriptless Scripts || https://github.com/ElementsProject/scriptless-scripts/blob/master/md/multi-hop-locks.md || Description of LN with Taproot || Spec, No Implementation&lt;br /&gt;
|-&lt;br /&gt;
| Libbitcoin support || https://github.com/evoskuil/libbitcoin-system/tree/taproot || Add BIP341 and BIP342 script validation || Prototype&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Libbitcoin&amp;diff=68516</id>
		<title>Libbitcoin</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Libbitcoin&amp;diff=68516"/>
		<updated>2021-03-09T02:08:58Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: /* See Also */ add link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Libbitcoin-logo.png|250px|right|libbitcoin logo]]&lt;br /&gt;
&lt;br /&gt;
[http://libbitcoin.info Libbitcoin] is a set of cross platform, open source C++ libraries for building bitcoin applications. The toolkit consists of libraries, examples, tests and applications. The project was established on three principles&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=30646.msg384791#msg384791 Libbitcoin Values - Amir Taaki]&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* Privacy: Bitcoin should always remain as private as possible for its users.&lt;br /&gt;
* Scalability: Bitcoin built today with the future in mind.&lt;br /&gt;
* Integrity: No individual or group should have enough power over the network to compromise its original aims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
Libbitcoin is actively maintained. Since version 2.0 the original projects of [[Libbitcoin_Common|Libbitcoin]], [[Obelisk]] and [[SubvertX|SubvertX (sx)]] have been rationalized under a common repository, taxonomy and build system&amp;lt;ref&amp;gt;[https://github.com/libbitcoin Libbitcoin Repository]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Libbitcoin includes the dedicated consensus library [[Libbitcoin_Consensus|libbitcoin-consensus]]. This library provides a clean interface to the 34 source and header files from Bitcoin Core considered consensus critical. The use of this library is optional when building [[Libbitcoin_Blockchain|libbitcoin-blockchain]].&lt;br /&gt;
&lt;br /&gt;
Signed single file application binaries are available for [[Bitcoin_Explorer|Bitcoin Explorer]]&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-explorer/wiki/Download-BX Download Bitcoin Explorer (bx)]&amp;lt;/ref&amp;gt;, [[Bitcoin_Node|Bitcoin Node]]&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-node/wiki/Download-BN Download Bitcoin Node(bx)]&amp;lt;/ref&amp;gt; and [[Bitcoin_Server|Bitcoin Server]]&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-server/wiki/Download-BS Download Bitcoin Server (bs)]&amp;lt;/ref&amp;gt; for Linux, macOS and Windows platforms. Extensive end-user and developer documentation is provided for Bitcoin Explorer&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-explorer/wiki Bitcoin Explorer Documentation]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Libbitcoin repositories include standard Autotools builds supporting GCC and Clang as well as robust Visual Studio solutions. Single file install scripts for Linux/macOS can download and build all dependencies and repositories&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin/blob/master/README.md Libbitcoin Repository Build Instructions]&amp;lt;/ref&amp;gt;. Linux and macOS builds are regularly tested on Travis-CI&amp;lt;ref&amp;gt;[https://travis-ci.org/libbitcoin Libbitcoin Build Status Reports]&amp;lt;/ref&amp;gt; and Windows builds on [https://ci.appveyor.com AppVeyor]. Tests are executed following each automated build and subsequent reports are published through Coveralls&amp;lt;ref&amp;gt;[https://coveralls.io/github/libbitcoin Libbitcoin Test Coverage Reports]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
There are a number of community Bitcoin Server deployments, including those maintained by Neill Miller and by Bitprim&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-server/wiki/Community-Servers Libbitcoin Community Servers]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Libbitcoin Libraries==&lt;br /&gt;
* [[Libbitcoin_Common|libbitcoin-system]]&lt;br /&gt;
* [[Libbitcoin_Blockchain|libbitcoin-blockchain]]&lt;br /&gt;
* [[Libbitcoin_Build|libbitcoin-build]]&lt;br /&gt;
* [[Libbitcoin_Client|libbitcoin-client]]&lt;br /&gt;
* [[Libbitcoin_Consensus|libbitcoin-consensus]]&lt;br /&gt;
* [[Libbitcoin_Database|libbitcoin-database]]&lt;br /&gt;
* [[Libbitcoin_Explorer|libbitcoin-explorer]]&lt;br /&gt;
* [[Libbitcoin_Network|libbitcoin-network]]&lt;br /&gt;
* [[Libbitcoin_Node|libbitcoin-node]]&lt;br /&gt;
* [[Libbitcoin_Protocol|libbitcoin-protocol]]&lt;br /&gt;
* [[Libbitcoin_Server|libbitcoin-server]]&lt;br /&gt;
&lt;br /&gt;
==Libbitcoin Applications==&lt;br /&gt;
* [[Bitcoin_Explorer|Bitcoin Explorer]] (bx) - Bitcoin command line tool &lt;br /&gt;
* [[Bitcoin_Node|Bitcoin Node]] (bn) - Bitcoin full node (only)&lt;br /&gt;
* [[Bitcoin_Server|Bitcoin Server]] (bs) - Blockchain query service (and full node)&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
* Libbitcoin was the second full implementation of [https://bitcoin.org/bitcoin.pdf Bitcoin], after the [[Original_Bitcoin_client|original client]]. It was created by a community of open source developers led by [[Amir_Taaki|Amir Taaki]] (genjix).&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin/graphs/contributors GitHub Libbitcoin Contributors]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The first commits were by [[Patrick_Strateman|Patrick Strateman]] (phantomcircuit) on May 18, 2011&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin/commit/9dea4682bf0e4247f3c4cb8a6c140ade61bf7df7 First Libbitcoin Commit by Patrick Strateman]&amp;lt;/ref&amp;gt; and Libbitcoin was announced on July 21, 2011.&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=30646.0 Bitcoin Talk Libbitcoin Announcement]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The related command line application [[SubvertX|SubvertX (sx)]] was announced on November 2, 2011.&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=50721.0 Bitcoin Talk SubvertX Announcement]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The related server [[Obelisk]] was first released on January 6, 2014, with an update to SubvertX (sx) and the second major release of Libbitcoin.&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=30646.msg4341812#msg4341812 Bitcoin Talk Libbitcoin, Obelisk and SubvertX Release Announcement]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* SubvertX was redesigned by [[Eric_Voskuil|Eric Voskuil]] (evoskuil) and released as [[Bitcoin_Explorer|Bitcoin Explorer]] (bx 2.0) on December 13, 2014.&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-explorer/releases/tag/v2.0.0 Bitcoin Explorer Release]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The privacy protocol design was the work product of a Libbitcoin team meeting in San Diego in August, 2014.&amp;lt;ref&amp;gt;[https://lists.dyne.org/lurker/message/20140906.221448.18997951.en.html Libbitcoin Update 2014-09-06]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[Bitcoin_Server|Bitcoin Server]] (bs 2.0) was released on On May 9th, 2015, replacing Obelisk. A blockchain redesign by genjix substantially improved query performance&amp;lt;ref&amp;gt;[http://www.reddit.com/r/Bitcoin/comments/2go7qm/devs_be_sure_to_test_your_bitcoin_apidata Reddit Post on Obelisk Performance]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
* [[Bitcoin_Node|Bitcoin Node]] (bn 2.2) achieved parity with Bitcoin Server on December 21st, 2015, as a release quality full node.&lt;br /&gt;
* All repositories were updated to version 3.0 on March 7th, 2017, including substantial performance, quality and feature improvements &amp;lt;ref&amp;gt;[https://lists.dyne.org/lurker/message/20170308.080743.d893b7da.en.html Libbitcoin Update 2017-03-08]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
* Version 4 is in active development as of 2021.&lt;br /&gt;
&lt;br /&gt;
==Active Maintainers==&lt;br /&gt;
* [[Eric_Voskuil|Eric Voskuil]] (core development)&lt;br /&gt;
* Phillip Mienk (core development)&lt;br /&gt;
* Neill Miller (wallet development, hosting)&lt;br /&gt;
* Kulpreet Singh, PhD (store development)&lt;br /&gt;
* Skaht (bx operational test)&lt;br /&gt;
&lt;br /&gt;
==Early Contributors==&lt;br /&gt;
* [[Amir_Taaki|Amir Taaki]] (genjix)&lt;br /&gt;
* Robert Williamson (bobalot)&lt;br /&gt;
* [[Patrick_Strateman|Patrick Strateman]] (phantomcircuit)&lt;br /&gt;
* Denis Roio (jaromil)&lt;br /&gt;
* [[Luke_Dashjr| Luke Dashjr]] (luke-jr)&lt;br /&gt;
&lt;br /&gt;
==Projects Using Libbitcoin==&lt;br /&gt;
* [[Airbitz]]&lt;br /&gt;
* [http://bitprim.org/ Bitprim]&lt;br /&gt;
* [https://cancoin.co/wallet Cancoin]&lt;br /&gt;
* [https://chip-chap.com Chip-Chap]&lt;br /&gt;
* [https://github.com/darkwallet/darkleaks Darkleaks]&lt;br /&gt;
* [https://www.darkwallet.is Darkwallet]&lt;br /&gt;
* [https://github.com/darkwallet/darkmarket Darkmarket]&lt;br /&gt;
* [[Mastering_Bitcoin]]&lt;br /&gt;
* [https://github.com/mvs-live/metaverse Metaverse]&lt;br /&gt;
* [http://openbazaar.org OpenBazaar]&lt;br /&gt;
* [https://www.cs.cornell.edu/People/egs/papers/teechan.pdf Teechan]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [http://libbitcoin.info libbitcoin.info]&lt;br /&gt;
* {{Freenode IRC|libbitcoin}}&lt;br /&gt;
* [https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/libbitcoin Libbitcoin Mailing List]&lt;br /&gt;
* [https://bitcointalk.org/index.php?topic=30646.0 Bitcointalk Topic]&lt;br /&gt;
* https://bitcoinmagazine.com/articles/what-libbitcoin-and-sx-are-and-why-they-matter-1376064919&lt;br /&gt;
* http://www.slideshare.net/swansontec/libbitcoin-slides&lt;br /&gt;
* https://github.com/aantonop/bitcoinbook/blob/develop/appdx-bx.asciidoc&lt;br /&gt;
* [https://libbitcoin.dyne.org/ Early Documentation]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
[[Category:Clients‏‎]]&lt;br /&gt;
[[Category:Nodes]]&lt;br /&gt;
[[Category:Open Source]]&lt;br /&gt;
[[Category:Software‏‎]]&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Clients&amp;diff=68515</id>
		<title>Clients</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Clients&amp;diff=68515"/>
		<updated>2021-03-09T01:52:56Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: /* For developers */ Change &amp;quot;libbitcoin-explorer&amp;quot; display text to &amp;quot;Bitcoin Explorer&amp;quot;.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
A bitcoin client is the end-user software that facilitates [[private key]] generation and security, payment sending on behalf of a private key, and optionally provides:&lt;br /&gt;
* Useful information about the state of the network and transactions.&lt;br /&gt;
* Information related to the private keys under its management.&lt;br /&gt;
* Syndication of network events to other peer clients.&lt;br /&gt;
&lt;br /&gt;
This table compares the features of the different clients. All of the listed clients are open-source.&lt;br /&gt;
&lt;br /&gt;
===Feature key===&lt;br /&gt;
&lt;br /&gt;
; Wallet Security : How well the client protects your [[private key]]s from people with access to the machine the wallet is stored on. The private keys can be encrypted, for example. The private keys can also be either stored on your device or on a remote server.&lt;br /&gt;
; Network Security : Clients which more fully implement the Bitcoin network protocol are safer -- they can&#039;t be as easily tricked by powerful attackers. A client which &#039;&#039;fully&#039;&#039; implements the protocol will always use the correct [[block chain]] and will never allow [[double-spending|double-spends]] or invalid transactions to exist in the block chain under any circumstances. Clients which only &#039;&#039;partially&#039;&#039; implement the protocol typically trust that 50% or more of the network&#039;s mining power is honest. Some clients trust one or more &#039;&#039;remote servers&#039;&#039; to protect them from double-spends and other network attacks.&lt;br /&gt;
; Setup Time : Some clients require that you download and verify a large amount of data before you can send or receive BTC.&lt;br /&gt;
; Maturity : When the project was started.&lt;br /&gt;
&lt;br /&gt;
===Table===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- please keep this alphabetic --&amp;gt;&lt;br /&gt;
{| class=&#039;wikitable&#039; style=&#039;text-align: center&#039;&lt;br /&gt;
! Client !! Get Started !! Audience !! Wallet Security !! Network Security !! Backups !! Setup Time !! Disk Space !! Maturity !! Multi-user !! Available for&lt;br /&gt;
|-&lt;br /&gt;
! [[Airbitz]]&lt;br /&gt;
|| [https://airbitz.co/app Download] || {{CLBest|Everyone}} || {{CLGood|Encrypted, on-device. Server backup}} || Partial || {{CLGood|Automatic}} || {{CLBest|Instant}} || {{CLGood|20 MB}} || Oct 2014 || {{CLBest|Multi-wallet}} || {{CLAndroid}}{{CLiOS}}&lt;br /&gt;
|-&lt;br /&gt;
! [[Armory]]&lt;br /&gt;
|| [https://bitcoinarmory.com/download Download] || Power users || {{CLGood|Encrypted, on-device}} || Addon || {{CLBest|One-time}} || {{CLBad|Hours}} || {{CLBad|150+ GB}} || {{CLGood|Jul 2011}} || {{CLBest|Multi-wallet}} || {{CLLinux}}{{CLMac}}{{CLWin}}&lt;br /&gt;
|-&lt;br /&gt;
! [[Bitcoin Core]]&lt;br /&gt;
|| [https://bitcoin.org/en/download Download] || {{CLGood|End-users}} || {{CLGood|Encrypted, on-device}} || {{CLBest|Full}} || Manual || {{CLBad|Hours}} || {{CLBad|120+ GB}} || {{CLGood|May 2011}} || {{CLBad|No}} || {{CLLinux}}{{CLMac}}{{CLWin}}&lt;br /&gt;
|-&lt;br /&gt;
! [[Bitcoin Knots]]&lt;br /&gt;
|| [http://bitcoinknots.org/ Download] || {{CLGood|End-users}} || {{CLGood|Encrypted, on-device}} || {{CLBest|Full}} || Manual || {{CLBad|Hours}} || {{CLYellow|5 GB}} || {{CLGood|Dec 2011}} || {{CLBest|Multi-wallet}} || {{CLLinux}}{{CLMac}}{{CLWin}}&lt;br /&gt;
|-&lt;br /&gt;
! [[bitcoind]]&lt;br /&gt;
|| [https://bitcoin.org/en/download Download] || Programmers || {{CLGood|Encrypted, on-device}} || {{CLBest|Full}} || Manual || {{CLBad|Hours}} || {{CLBad|120+ GB}} || {{CLBest|Aug 2009}} || {{CLBad|No}} || {{CLLinux}}{{CLWin}}&lt;br /&gt;
|-&lt;br /&gt;
! [[Bitcoin_Explorer|Bitcoin Explorer]]&lt;br /&gt;
|| [https://github.com/libbitcoin/libbitcoin-explorer/wiki/Download-BX Download] || Power Users || {{CLBest|Ephemeral, Multisig Optional}} || {{CLBest|Full w/local node}} || {{CLBest|BIP39}} || {{CLBest|Instant}} || {{CLBest|3 MB}} || {{CLGood|May 2011}}  || {{CLBest|Multi-wallet}} || {{CLLinux}}{{CLMac}}{{CLWin}}&lt;br /&gt;
|-&lt;br /&gt;
! [[Bitcoin Wallet]]&lt;br /&gt;
|| [https://play.google.com/store/apps/details?id=de.schildbach.wallet Google Play] [https://appworld.blackberry.com/webstore/content/23952882/ BlackBerry World] || {{CLGood|End-users}} || {{CLGood|Isolated, on-device}} || Partial || Manual || {{CLBest|Instant}} || {{CLGood|15 MB}} || {{CLGood|Mar 2011}} || on JB tablets || {{CLAndroid}} [[file:ico-blackberry.png]]&lt;br /&gt;
|-&lt;br /&gt;
! [[Blocktrail]]&lt;br /&gt;
|| [https://www.blocktrail.com/ Download] || {{CLBest|Everyone}} || {{CLBest|Encrypted, on-device, Multisig, HD, Backup server}} || Remote || {{CLBest|One-time}} || {{CLBest|Instant}} || {{CLBest|7.5 MB}} || Sep 2015 || {{CLBad|No}} || {{CLAndroid}}{{CLiOS}}&lt;br /&gt;
|-&lt;br /&gt;
! [[Electrum]]&lt;br /&gt;
|| [https://electrum.org/download.html Download] || Power users || {{CLGood|Encrypted, on-device}} || Minimal || {{CLBest|Memorized}} || {{CLGood|Minutes}} || {{CLGood|5 MB}} || {{CLGood|Nov 2011}} || {{CLBad|No}} || {{CLAndroid}}{{CLLinux}}{{CLMac}}{{CLWin}}&lt;br /&gt;
|-&lt;br /&gt;
! [[Gocoin]]&lt;br /&gt;
|| [https://github.com/piotrnar/gocoin Build It Yourself] || Power users || Designated offline PC || {{CLBest|Full}} || {{CLBest|Memorized}} || {{CLBad|Hours}} || {{CLBad|120+GB}} || May 2013 || {{CLBest|Multi-wallet}} || {{CLLinux}}{{CLMac}}{{CLWin}}{{CLFreeBSD}}&lt;br /&gt;
|-&lt;br /&gt;
! [[GreenAddress]]&lt;br /&gt;
|| [https://greenaddress.it Web] [https://chrome.google.com/webstore/detail/greenaddressit/dgbimgjoijjemhdamicmljbncacfndmp ChromeApp] [https://play.google.com/store/apps/details?id=it.greenaddress.cordova&amp;amp;hl=en Google Play] || {{CLBest|Everyone}} || {{CLGood|Encrypted, on-device}} || {{CLBad|Remote}} || Memorized/Manual || {{CLBest|Instant}} || {{CLBest|None}} || Apr 2013 || {{CLBest|Yes}} || {{CLAndroid}}{{CLLinux}}{{CLMac}}{{CLWin}}&lt;br /&gt;
|-&lt;br /&gt;
! [[MultiBit]]&lt;br /&gt;
|| [https://multibit.org/releases.html Download] || {{CLGood|End-users}} || {{CLGood|Encrypted, on-device}} || Partial || {{CLGood|Automatic (local)}} || {{CLBest|Seconds}} || 50 MB || {{CLGood|Jul 2011}} || {{CLBest|Multi-wallet}} || {{CLLinux}}{{CLMac}}{{CLWin}}&lt;br /&gt;
|-&lt;br /&gt;
! [[Mycelium]]&lt;br /&gt;
|| [https://mycelium.com/download Download] [https://play.google.com/store/apps/details?id=com.mycelium.wallet Google Play]|| {{CLBest|Everyone}} || {{CLGood|Isolated, on-device}} || Partial || Manual, encrypted || {{CLBest|Instant}} || {{CLGood|10 MB}} || Sep 2013 || {{CLBad|No}} || {{CLAndroid}}{{CLiOS}}&lt;br /&gt;
|-&lt;br /&gt;
! [[BlockChain.info#Wallet|My Wallet]]&lt;br /&gt;
|| [https://blockchain.info/wallet/new Web-based] || {{CLBest|Everyone}} || {{CLBad|Encrypted, on-server}} || {{CLBad|Remote}} || {{CLGood|Automatic}} || {{CLGood|Minutes}} || {{CLBest|None}} || {{CLGood|Dec 2011}} || {{CLBest|Yes}} || {{CLAndroid}}{{CLiOS}}{{CLLinux}}{{CLMac}}{{CLWin}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- For Wallet Security: CLBest is reserved for multisig-based, if signatures can be managed independently. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==For developers==&lt;br /&gt;
&lt;br /&gt;
This table shows additional information about various Bitcoin clients that may be relevant to developers.&lt;br /&gt;
&lt;br /&gt;
{| class=&#039;wikitable&#039; style=&#039;text-align: center&#039;&lt;br /&gt;
! Client !! Website !! Source Code !! License !! Discussion !! Architecture&lt;br /&gt;
|-&lt;br /&gt;
! Armory&lt;br /&gt;
|| [http://bitcoinarmory.com/ Link] ||[https://github.com/etotheipi/BitcoinArmory/ Github] || AGPLv3 || [https://bitcointalk.org/index.php?board=97.0 Bitcointalk] || Integrated with [[Thin_Client_Security#Full_Node_Clients|Full Node]]&lt;br /&gt;
|-&lt;br /&gt;
! Bitcoin Core (Satoshi)&lt;br /&gt;
|| [https://bitcoincore.org Link] || [https://github.com/bitcoin/bitcoin Github] || MIT || [https://lists.sourceforge.net/lists/listinfo/bitcoin-development Sourceforge] || Integrated with [[Thin_Client_Security#Full_Node_Clients|Full Node]]&lt;br /&gt;
|-&lt;br /&gt;
! Bitcoin Explorer&lt;br /&gt;
|| [https://github.com/libbitcoin/libbitcoin-explorer/wiki Link] || [https://github.com/libbitcoin/libbitcoin-explorer Github] || AGPLv3 || [https://lists.dyne.org/lurker/list/libbitcoin.en.html Listserv], {{Freenode IRC|libbitcoin}} || [[Thin Client Security#Server-Trusting Clients|Server-Client]] or Integrated with [[Thin_Client_Security#Full_Node_Clients|Full Node]]&lt;br /&gt;
|-&lt;br /&gt;
! Bitcoin Wallet&lt;br /&gt;
|| [http://wallet.schildbach.de Link] || [https://github.com/bitcoin-wallet/bitcoin-wallet Github] || GPLv3 || [https://plus.google.com/b/101256420499771441772/communities/105515929887248493912 Google+], [https://bitcointalk.org/index.php?board=100.0 Bitcointalk] || [[Thin Client Security#Simplified Payment Verification (SPV)|SPV]]&lt;br /&gt;
|-&lt;br /&gt;
! Electrum&lt;br /&gt;
|| [https://electrum.org/ Link] || [https://github.com/spesmilo/electrum Github] || MIT || [https://electrum.org/#community Community] || [[Thin Client Security#Simplified Payment Verification (SPV)|SPV]]&lt;br /&gt;
|-&lt;br /&gt;
! Gocoin&lt;br /&gt;
|| [http://www.assets-otc.com/gocoin Link] || [https://github.com/piotrnar/gocoin Github] || proprietary || [https://bitcointalk.org/index.php?topic=199306.0 Bitcointalk] || Integrated with [[Thin_Client_Security#Full_Node_Clients|Full Node]]&lt;br /&gt;
|- &lt;br /&gt;
! GreenAddress&lt;br /&gt;
|| [https://greenaddress.it/ Link] || [https://github.com/greenaddress/ Github] || LGPLv3 || [https://bitcointalk.org/index.php?topic=521988.0 Bitcointalk] || [[Thin Client Security#Server-Trusting Clients|Server-Client]]&lt;br /&gt;
|-&lt;br /&gt;
! MultiBit&lt;br /&gt;
|| [http://multibit.org/ Link] || [https://github.com/jim618/multibit Github] || MIT || [https://groups.google.com/forum/?fromgroups#!forum/bitcoin-multibit Google Groups] || [[Thin Client Security#Simplified Payment Verification (SPV)|SPV]]&lt;br /&gt;
|-&lt;br /&gt;
! My Wallet&lt;br /&gt;
|| [https://blockchain.info/wallet/ Link] || [https://github.com/blockchain/My-Wallet/ Github] || BSD* || None || [[Thin Client Security#Server-Trusting Clients|Server-Client]]&lt;br /&gt;
|-&lt;br /&gt;
! bits of proof&lt;br /&gt;
|| [http://bitsofproof.com Link] || [https://github.com/bitsofproof/supernode Github] || Apache 2.0 || [https://bitcointalk.org/index.php?topic=122013.0 Bitcointalk] || [[Thin Client Security#Server-Trusting Clients|Server-Client]]&lt;br /&gt;
|-&lt;br /&gt;
! btcd&lt;br /&gt;
|| [https://github.com/btcsuite/btcd Link] || [https://github.com/btcsuite/btcd Github] || ISC || [https://github.com/btcsuite/btcd#irc IRC] || [[Thin Client Security#Server-Trusting Clients|Server-Client]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Software#Bitcoin_clients|List of clients]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Clients&amp;diff=68514</id>
		<title>Clients</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Clients&amp;diff=68514"/>
		<updated>2021-03-09T01:52:07Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: /* Table */ Remove redundant libbitcoin-explorer &amp;quot;build it yourself link&amp;quot; (also in developer section).&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
A bitcoin client is the end-user software that facilitates [[private key]] generation and security, payment sending on behalf of a private key, and optionally provides:&lt;br /&gt;
* Useful information about the state of the network and transactions.&lt;br /&gt;
* Information related to the private keys under its management.&lt;br /&gt;
* Syndication of network events to other peer clients.&lt;br /&gt;
&lt;br /&gt;
This table compares the features of the different clients. All of the listed clients are open-source.&lt;br /&gt;
&lt;br /&gt;
===Feature key===&lt;br /&gt;
&lt;br /&gt;
; Wallet Security : How well the client protects your [[private key]]s from people with access to the machine the wallet is stored on. The private keys can be encrypted, for example. The private keys can also be either stored on your device or on a remote server.&lt;br /&gt;
; Network Security : Clients which more fully implement the Bitcoin network protocol are safer -- they can&#039;t be as easily tricked by powerful attackers. A client which &#039;&#039;fully&#039;&#039; implements the protocol will always use the correct [[block chain]] and will never allow [[double-spending|double-spends]] or invalid transactions to exist in the block chain under any circumstances. Clients which only &#039;&#039;partially&#039;&#039; implement the protocol typically trust that 50% or more of the network&#039;s mining power is honest. Some clients trust one or more &#039;&#039;remote servers&#039;&#039; to protect them from double-spends and other network attacks.&lt;br /&gt;
; Setup Time : Some clients require that you download and verify a large amount of data before you can send or receive BTC.&lt;br /&gt;
; Maturity : When the project was started.&lt;br /&gt;
&lt;br /&gt;
===Table===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- please keep this alphabetic --&amp;gt;&lt;br /&gt;
{| class=&#039;wikitable&#039; style=&#039;text-align: center&#039;&lt;br /&gt;
! Client !! Get Started !! Audience !! Wallet Security !! Network Security !! Backups !! Setup Time !! Disk Space !! Maturity !! Multi-user !! Available for&lt;br /&gt;
|-&lt;br /&gt;
! [[Airbitz]]&lt;br /&gt;
|| [https://airbitz.co/app Download] || {{CLBest|Everyone}} || {{CLGood|Encrypted, on-device. Server backup}} || Partial || {{CLGood|Automatic}} || {{CLBest|Instant}} || {{CLGood|20 MB}} || Oct 2014 || {{CLBest|Multi-wallet}} || {{CLAndroid}}{{CLiOS}}&lt;br /&gt;
|-&lt;br /&gt;
! [[Armory]]&lt;br /&gt;
|| [https://bitcoinarmory.com/download Download] || Power users || {{CLGood|Encrypted, on-device}} || Addon || {{CLBest|One-time}} || {{CLBad|Hours}} || {{CLBad|150+ GB}} || {{CLGood|Jul 2011}} || {{CLBest|Multi-wallet}} || {{CLLinux}}{{CLMac}}{{CLWin}}&lt;br /&gt;
|-&lt;br /&gt;
! [[Bitcoin Core]]&lt;br /&gt;
|| [https://bitcoin.org/en/download Download] || {{CLGood|End-users}} || {{CLGood|Encrypted, on-device}} || {{CLBest|Full}} || Manual || {{CLBad|Hours}} || {{CLBad|120+ GB}} || {{CLGood|May 2011}} || {{CLBad|No}} || {{CLLinux}}{{CLMac}}{{CLWin}}&lt;br /&gt;
|-&lt;br /&gt;
! [[Bitcoin Knots]]&lt;br /&gt;
|| [http://bitcoinknots.org/ Download] || {{CLGood|End-users}} || {{CLGood|Encrypted, on-device}} || {{CLBest|Full}} || Manual || {{CLBad|Hours}} || {{CLYellow|5 GB}} || {{CLGood|Dec 2011}} || {{CLBest|Multi-wallet}} || {{CLLinux}}{{CLMac}}{{CLWin}}&lt;br /&gt;
|-&lt;br /&gt;
! [[bitcoind]]&lt;br /&gt;
|| [https://bitcoin.org/en/download Download] || Programmers || {{CLGood|Encrypted, on-device}} || {{CLBest|Full}} || Manual || {{CLBad|Hours}} || {{CLBad|120+ GB}} || {{CLBest|Aug 2009}} || {{CLBad|No}} || {{CLLinux}}{{CLWin}}&lt;br /&gt;
|-&lt;br /&gt;
! [[Bitcoin_Explorer|Bitcoin Explorer]]&lt;br /&gt;
|| [https://github.com/libbitcoin/libbitcoin-explorer/wiki/Download-BX Download] || Power Users || {{CLBest|Ephemeral, Multisig Optional}} || {{CLBest|Full w/local node}} || {{CLBest|BIP39}} || {{CLBest|Instant}} || {{CLBest|3 MB}} || {{CLGood|May 2011}}  || {{CLBest|Multi-wallet}} || {{CLLinux}}{{CLMac}}{{CLWin}}&lt;br /&gt;
|-&lt;br /&gt;
! [[Bitcoin Wallet]]&lt;br /&gt;
|| [https://play.google.com/store/apps/details?id=de.schildbach.wallet Google Play] [https://appworld.blackberry.com/webstore/content/23952882/ BlackBerry World] || {{CLGood|End-users}} || {{CLGood|Isolated, on-device}} || Partial || Manual || {{CLBest|Instant}} || {{CLGood|15 MB}} || {{CLGood|Mar 2011}} || on JB tablets || {{CLAndroid}} [[file:ico-blackberry.png]]&lt;br /&gt;
|-&lt;br /&gt;
! [[Blocktrail]]&lt;br /&gt;
|| [https://www.blocktrail.com/ Download] || {{CLBest|Everyone}} || {{CLBest|Encrypted, on-device, Multisig, HD, Backup server}} || Remote || {{CLBest|One-time}} || {{CLBest|Instant}} || {{CLBest|7.5 MB}} || Sep 2015 || {{CLBad|No}} || {{CLAndroid}}{{CLiOS}}&lt;br /&gt;
|-&lt;br /&gt;
! [[Electrum]]&lt;br /&gt;
|| [https://electrum.org/download.html Download] || Power users || {{CLGood|Encrypted, on-device}} || Minimal || {{CLBest|Memorized}} || {{CLGood|Minutes}} || {{CLGood|5 MB}} || {{CLGood|Nov 2011}} || {{CLBad|No}} || {{CLAndroid}}{{CLLinux}}{{CLMac}}{{CLWin}}&lt;br /&gt;
|-&lt;br /&gt;
! [[Gocoin]]&lt;br /&gt;
|| [https://github.com/piotrnar/gocoin Build It Yourself] || Power users || Designated offline PC || {{CLBest|Full}} || {{CLBest|Memorized}} || {{CLBad|Hours}} || {{CLBad|120+GB}} || May 2013 || {{CLBest|Multi-wallet}} || {{CLLinux}}{{CLMac}}{{CLWin}}{{CLFreeBSD}}&lt;br /&gt;
|-&lt;br /&gt;
! [[GreenAddress]]&lt;br /&gt;
|| [https://greenaddress.it Web] [https://chrome.google.com/webstore/detail/greenaddressit/dgbimgjoijjemhdamicmljbncacfndmp ChromeApp] [https://play.google.com/store/apps/details?id=it.greenaddress.cordova&amp;amp;hl=en Google Play] || {{CLBest|Everyone}} || {{CLGood|Encrypted, on-device}} || {{CLBad|Remote}} || Memorized/Manual || {{CLBest|Instant}} || {{CLBest|None}} || Apr 2013 || {{CLBest|Yes}} || {{CLAndroid}}{{CLLinux}}{{CLMac}}{{CLWin}}&lt;br /&gt;
|-&lt;br /&gt;
! [[MultiBit]]&lt;br /&gt;
|| [https://multibit.org/releases.html Download] || {{CLGood|End-users}} || {{CLGood|Encrypted, on-device}} || Partial || {{CLGood|Automatic (local)}} || {{CLBest|Seconds}} || 50 MB || {{CLGood|Jul 2011}} || {{CLBest|Multi-wallet}} || {{CLLinux}}{{CLMac}}{{CLWin}}&lt;br /&gt;
|-&lt;br /&gt;
! [[Mycelium]]&lt;br /&gt;
|| [https://mycelium.com/download Download] [https://play.google.com/store/apps/details?id=com.mycelium.wallet Google Play]|| {{CLBest|Everyone}} || {{CLGood|Isolated, on-device}} || Partial || Manual, encrypted || {{CLBest|Instant}} || {{CLGood|10 MB}} || Sep 2013 || {{CLBad|No}} || {{CLAndroid}}{{CLiOS}}&lt;br /&gt;
|-&lt;br /&gt;
! [[BlockChain.info#Wallet|My Wallet]]&lt;br /&gt;
|| [https://blockchain.info/wallet/new Web-based] || {{CLBest|Everyone}} || {{CLBad|Encrypted, on-server}} || {{CLBad|Remote}} || {{CLGood|Automatic}} || {{CLGood|Minutes}} || {{CLBest|None}} || {{CLGood|Dec 2011}} || {{CLBest|Yes}} || {{CLAndroid}}{{CLiOS}}{{CLLinux}}{{CLMac}}{{CLWin}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- For Wallet Security: CLBest is reserved for multisig-based, if signatures can be managed independently. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==For developers==&lt;br /&gt;
&lt;br /&gt;
This table shows additional information about various Bitcoin clients that may be relevant to developers.&lt;br /&gt;
&lt;br /&gt;
{| class=&#039;wikitable&#039; style=&#039;text-align: center&#039;&lt;br /&gt;
! Client !! Website !! Source Code !! License !! Discussion !! Architecture&lt;br /&gt;
|-&lt;br /&gt;
! Armory&lt;br /&gt;
|| [http://bitcoinarmory.com/ Link] ||[https://github.com/etotheipi/BitcoinArmory/ Github] || AGPLv3 || [https://bitcointalk.org/index.php?board=97.0 Bitcointalk] || Integrated with [[Thin_Client_Security#Full_Node_Clients|Full Node]]&lt;br /&gt;
|-&lt;br /&gt;
! Bitcoin Core (Satoshi)&lt;br /&gt;
|| [https://bitcoincore.org Link] || [https://github.com/bitcoin/bitcoin Github] || MIT || [https://lists.sourceforge.net/lists/listinfo/bitcoin-development Sourceforge] || Integrated with [[Thin_Client_Security#Full_Node_Clients|Full Node]]&lt;br /&gt;
|-&lt;br /&gt;
! libbitcoin-explorer&lt;br /&gt;
|| [https://github.com/libbitcoin/libbitcoin-explorer/wiki Link] || [https://github.com/libbitcoin/libbitcoin-explorer Github] || AGPLv3 || [https://lists.dyne.org/lurker/list/libbitcoin.en.html Listserv], {{Freenode IRC|libbitcoin}} || [[Thin Client Security#Server-Trusting Clients|Server-Client]] or Integrated with [[Thin_Client_Security#Full_Node_Clients|Full Node]]&lt;br /&gt;
|-&lt;br /&gt;
! Bitcoin Wallet&lt;br /&gt;
|| [http://wallet.schildbach.de Link] || [https://github.com/bitcoin-wallet/bitcoin-wallet Github] || GPLv3 || [https://plus.google.com/b/101256420499771441772/communities/105515929887248493912 Google+], [https://bitcointalk.org/index.php?board=100.0 Bitcointalk] || [[Thin Client Security#Simplified Payment Verification (SPV)|SPV]]&lt;br /&gt;
|-&lt;br /&gt;
! Electrum&lt;br /&gt;
|| [https://electrum.org/ Link] || [https://github.com/spesmilo/electrum Github] || MIT || [https://electrum.org/#community Community] || [[Thin Client Security#Simplified Payment Verification (SPV)|SPV]]&lt;br /&gt;
|-&lt;br /&gt;
! Gocoin&lt;br /&gt;
|| [http://www.assets-otc.com/gocoin Link] || [https://github.com/piotrnar/gocoin Github] || proprietary || [https://bitcointalk.org/index.php?topic=199306.0 Bitcointalk] || Integrated with [[Thin_Client_Security#Full_Node_Clients|Full Node]]&lt;br /&gt;
|- &lt;br /&gt;
! GreenAddress&lt;br /&gt;
|| [https://greenaddress.it/ Link] || [https://github.com/greenaddress/ Github] || LGPLv3 || [https://bitcointalk.org/index.php?topic=521988.0 Bitcointalk] || [[Thin Client Security#Server-Trusting Clients|Server-Client]]&lt;br /&gt;
|-&lt;br /&gt;
! MultiBit&lt;br /&gt;
|| [http://multibit.org/ Link] || [https://github.com/jim618/multibit Github] || MIT || [https://groups.google.com/forum/?fromgroups#!forum/bitcoin-multibit Google Groups] || [[Thin Client Security#Simplified Payment Verification (SPV)|SPV]]&lt;br /&gt;
|-&lt;br /&gt;
! My Wallet&lt;br /&gt;
|| [https://blockchain.info/wallet/ Link] || [https://github.com/blockchain/My-Wallet/ Github] || BSD* || None || [[Thin Client Security#Server-Trusting Clients|Server-Client]]&lt;br /&gt;
|-&lt;br /&gt;
! bits of proof&lt;br /&gt;
|| [http://bitsofproof.com Link] || [https://github.com/bitsofproof/supernode Github] || Apache 2.0 || [https://bitcointalk.org/index.php?topic=122013.0 Bitcointalk] || [[Thin Client Security#Server-Trusting Clients|Server-Client]]&lt;br /&gt;
|-&lt;br /&gt;
! btcd&lt;br /&gt;
|| [https://github.com/btcsuite/btcd Link] || [https://github.com/btcsuite/btcd Github] || ISC || [https://github.com/btcsuite/btcd#irc IRC] || [[Thin Client Security#Server-Trusting Clients|Server-Client]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Software#Bitcoin_clients|List of clients]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Clients&amp;diff=68513</id>
		<title>Clients</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Clients&amp;diff=68513"/>
		<updated>2021-03-09T01:50:14Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: /* For developers */ Change libbitcoin-explorer dev discussion link from bitcoin talk to IRC.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
A bitcoin client is the end-user software that facilitates [[private key]] generation and security, payment sending on behalf of a private key, and optionally provides:&lt;br /&gt;
* Useful information about the state of the network and transactions.&lt;br /&gt;
* Information related to the private keys under its management.&lt;br /&gt;
* Syndication of network events to other peer clients.&lt;br /&gt;
&lt;br /&gt;
This table compares the features of the different clients. All of the listed clients are open-source.&lt;br /&gt;
&lt;br /&gt;
===Feature key===&lt;br /&gt;
&lt;br /&gt;
; Wallet Security : How well the client protects your [[private key]]s from people with access to the machine the wallet is stored on. The private keys can be encrypted, for example. The private keys can also be either stored on your device or on a remote server.&lt;br /&gt;
; Network Security : Clients which more fully implement the Bitcoin network protocol are safer -- they can&#039;t be as easily tricked by powerful attackers. A client which &#039;&#039;fully&#039;&#039; implements the protocol will always use the correct [[block chain]] and will never allow [[double-spending|double-spends]] or invalid transactions to exist in the block chain under any circumstances. Clients which only &#039;&#039;partially&#039;&#039; implement the protocol typically trust that 50% or more of the network&#039;s mining power is honest. Some clients trust one or more &#039;&#039;remote servers&#039;&#039; to protect them from double-spends and other network attacks.&lt;br /&gt;
; Setup Time : Some clients require that you download and verify a large amount of data before you can send or receive BTC.&lt;br /&gt;
; Maturity : When the project was started.&lt;br /&gt;
&lt;br /&gt;
===Table===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- please keep this alphabetic --&amp;gt;&lt;br /&gt;
{| class=&#039;wikitable&#039; style=&#039;text-align: center&#039;&lt;br /&gt;
! Client !! Get Started !! Audience !! Wallet Security !! Network Security !! Backups !! Setup Time !! Disk Space !! Maturity !! Multi-user !! Available for&lt;br /&gt;
|-&lt;br /&gt;
! [[Airbitz]]&lt;br /&gt;
|| [https://airbitz.co/app Download] || {{CLBest|Everyone}} || {{CLGood|Encrypted, on-device. Server backup}} || Partial || {{CLGood|Automatic}} || {{CLBest|Instant}} || {{CLGood|20 MB}} || Oct 2014 || {{CLBest|Multi-wallet}} || {{CLAndroid}}{{CLiOS}}&lt;br /&gt;
|-&lt;br /&gt;
! [[Armory]]&lt;br /&gt;
|| [https://bitcoinarmory.com/download Download] || Power users || {{CLGood|Encrypted, on-device}} || Addon || {{CLBest|One-time}} || {{CLBad|Hours}} || {{CLBad|150+ GB}} || {{CLGood|Jul 2011}} || {{CLBest|Multi-wallet}} || {{CLLinux}}{{CLMac}}{{CLWin}}&lt;br /&gt;
|-&lt;br /&gt;
! [[Bitcoin Core]]&lt;br /&gt;
|| [https://bitcoin.org/en/download Download] || {{CLGood|End-users}} || {{CLGood|Encrypted, on-device}} || {{CLBest|Full}} || Manual || {{CLBad|Hours}} || {{CLBad|120+ GB}} || {{CLGood|May 2011}} || {{CLBad|No}} || {{CLLinux}}{{CLMac}}{{CLWin}}&lt;br /&gt;
|-&lt;br /&gt;
! [[Bitcoin Knots]]&lt;br /&gt;
|| [http://bitcoinknots.org/ Download] || {{CLGood|End-users}} || {{CLGood|Encrypted, on-device}} || {{CLBest|Full}} || Manual || {{CLBad|Hours}} || {{CLYellow|5 GB}} || {{CLGood|Dec 2011}} || {{CLBest|Multi-wallet}} || {{CLLinux}}{{CLMac}}{{CLWin}}&lt;br /&gt;
|-&lt;br /&gt;
! [[bitcoind]]&lt;br /&gt;
|| [https://bitcoin.org/en/download Download] || Programmers || {{CLGood|Encrypted, on-device}} || {{CLBest|Full}} || Manual || {{CLBad|Hours}} || {{CLBad|120+ GB}} || {{CLBest|Aug 2009}} || {{CLBad|No}} || {{CLLinux}}{{CLWin}}&lt;br /&gt;
|-&lt;br /&gt;
! [[Bitcoin_Explorer|Bitcoin Explorer]]&lt;br /&gt;
|| [https://github.com/libbitcoin/libbitcoin-explorer/wiki/Download-BX Download] || Power Users || {{CLBest|Ephemeral, Multisig Optional}} || {{CLBest|Full w/local node}} || {{CLBest|BIP39}} || {{CLBest|Instant}} || {{CLBest|3 MB}} || {{CLGood|May 2011}}  || {{CLBest|Multi-wallet}} || {{CLLinux}}{{CLMac}}{{CLWin}}&lt;br /&gt;
|-&lt;br /&gt;
! [[Libbitcoin_Explorer|libbitcoin-explorer]]&lt;br /&gt;
|| [https://github.com/libbitcoin/libbitcoin-explorer/wiki/Build-BX Build It Yourself] || Programmers || {{CLBest|Ephemeral, Multisig Optional}} || {{CLBest|Full w/local node}} || {{CLBest|BIP39}}|| {{CLBest|Minutes}} || {{CLBest|3 MB}} || {{CLGood|May 2011}}  || {{CLBest|Multi-wallet}} || {{CLAndroid}}{{CLLinux}}{{CLMac}}{{CLWin}}&lt;br /&gt;
|-&lt;br /&gt;
! [[Bitcoin Wallet]]&lt;br /&gt;
|| [https://play.google.com/store/apps/details?id=de.schildbach.wallet Google Play] [https://appworld.blackberry.com/webstore/content/23952882/ BlackBerry World] || {{CLGood|End-users}} || {{CLGood|Isolated, on-device}} || Partial || Manual || {{CLBest|Instant}} || {{CLGood|15 MB}} || {{CLGood|Mar 2011}} || on JB tablets || {{CLAndroid}} [[file:ico-blackberry.png]]&lt;br /&gt;
|-&lt;br /&gt;
! [[Blocktrail]]&lt;br /&gt;
|| [https://www.blocktrail.com/ Download] || {{CLBest|Everyone}} || {{CLBest|Encrypted, on-device, Multisig, HD, Backup server}} || Remote || {{CLBest|One-time}} || {{CLBest|Instant}} || {{CLBest|7.5 MB}} || Sep 2015 || {{CLBad|No}} || {{CLAndroid}}{{CLiOS}}&lt;br /&gt;
|-&lt;br /&gt;
! [[Electrum]]&lt;br /&gt;
|| [https://electrum.org/download.html Download] || Power users || {{CLGood|Encrypted, on-device}} || Minimal || {{CLBest|Memorized}} || {{CLGood|Minutes}} || {{CLGood|5 MB}} || {{CLGood|Nov 2011}} || {{CLBad|No}} || {{CLAndroid}}{{CLLinux}}{{CLMac}}{{CLWin}}&lt;br /&gt;
|-&lt;br /&gt;
! [[Gocoin]]&lt;br /&gt;
|| [https://github.com/piotrnar/gocoin Build It Yourself] || Power users || Designated offline PC || {{CLBest|Full}} || {{CLBest|Memorized}} || {{CLBad|Hours}} || {{CLBad|120+GB}} || May 2013 || {{CLBest|Multi-wallet}} || {{CLLinux}}{{CLMac}}{{CLWin}}{{CLFreeBSD}}&lt;br /&gt;
|-&lt;br /&gt;
! [[GreenAddress]]&lt;br /&gt;
|| [https://greenaddress.it Web] [https://chrome.google.com/webstore/detail/greenaddressit/dgbimgjoijjemhdamicmljbncacfndmp ChromeApp] [https://play.google.com/store/apps/details?id=it.greenaddress.cordova&amp;amp;hl=en Google Play] || {{CLBest|Everyone}} || {{CLGood|Encrypted, on-device}} || {{CLBad|Remote}} || Memorized/Manual || {{CLBest|Instant}} || {{CLBest|None}} || Apr 2013 || {{CLBest|Yes}} || {{CLAndroid}}{{CLLinux}}{{CLMac}}{{CLWin}}&lt;br /&gt;
|-&lt;br /&gt;
! [[MultiBit]]&lt;br /&gt;
|| [https://multibit.org/releases.html Download] || {{CLGood|End-users}} || {{CLGood|Encrypted, on-device}} || Partial || {{CLGood|Automatic (local)}} || {{CLBest|Seconds}} || 50 MB || {{CLGood|Jul 2011}} || {{CLBest|Multi-wallet}} || {{CLLinux}}{{CLMac}}{{CLWin}}&lt;br /&gt;
|-&lt;br /&gt;
! [[Mycelium]]&lt;br /&gt;
|| [https://mycelium.com/download Download] [https://play.google.com/store/apps/details?id=com.mycelium.wallet Google Play]|| {{CLBest|Everyone}} || {{CLGood|Isolated, on-device}} || Partial || Manual, encrypted || {{CLBest|Instant}} || {{CLGood|10 MB}} || Sep 2013 || {{CLBad|No}} || {{CLAndroid}}{{CLiOS}}&lt;br /&gt;
|-&lt;br /&gt;
! [[BlockChain.info#Wallet|My Wallet]]&lt;br /&gt;
|| [https://blockchain.info/wallet/new Web-based] || {{CLBest|Everyone}} || {{CLBad|Encrypted, on-server}} || {{CLBad|Remote}} || {{CLGood|Automatic}} || {{CLGood|Minutes}} || {{CLBest|None}} || {{CLGood|Dec 2011}} || {{CLBest|Yes}} || {{CLAndroid}}{{CLiOS}}{{CLLinux}}{{CLMac}}{{CLWin}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- For Wallet Security: CLBest is reserved for multisig-based, if signatures can be managed independently. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==For developers==&lt;br /&gt;
&lt;br /&gt;
This table shows additional information about various Bitcoin clients that may be relevant to developers.&lt;br /&gt;
&lt;br /&gt;
{| class=&#039;wikitable&#039; style=&#039;text-align: center&#039;&lt;br /&gt;
! Client !! Website !! Source Code !! License !! Discussion !! Architecture&lt;br /&gt;
|-&lt;br /&gt;
! Armory&lt;br /&gt;
|| [http://bitcoinarmory.com/ Link] ||[https://github.com/etotheipi/BitcoinArmory/ Github] || AGPLv3 || [https://bitcointalk.org/index.php?board=97.0 Bitcointalk] || Integrated with [[Thin_Client_Security#Full_Node_Clients|Full Node]]&lt;br /&gt;
|-&lt;br /&gt;
! Bitcoin Core (Satoshi)&lt;br /&gt;
|| [https://bitcoincore.org Link] || [https://github.com/bitcoin/bitcoin Github] || MIT || [https://lists.sourceforge.net/lists/listinfo/bitcoin-development Sourceforge] || Integrated with [[Thin_Client_Security#Full_Node_Clients|Full Node]]&lt;br /&gt;
|-&lt;br /&gt;
! libbitcoin-explorer&lt;br /&gt;
|| [https://github.com/libbitcoin/libbitcoin-explorer/wiki Link] || [https://github.com/libbitcoin/libbitcoin-explorer Github] || AGPLv3 || [https://lists.dyne.org/lurker/list/libbitcoin.en.html Listserv], {{Freenode IRC|libbitcoin}} || [[Thin Client Security#Server-Trusting Clients|Server-Client]] or Integrated with [[Thin_Client_Security#Full_Node_Clients|Full Node]]&lt;br /&gt;
|-&lt;br /&gt;
! Bitcoin Wallet&lt;br /&gt;
|| [http://wallet.schildbach.de Link] || [https://github.com/bitcoin-wallet/bitcoin-wallet Github] || GPLv3 || [https://plus.google.com/b/101256420499771441772/communities/105515929887248493912 Google+], [https://bitcointalk.org/index.php?board=100.0 Bitcointalk] || [[Thin Client Security#Simplified Payment Verification (SPV)|SPV]]&lt;br /&gt;
|-&lt;br /&gt;
! Electrum&lt;br /&gt;
|| [https://electrum.org/ Link] || [https://github.com/spesmilo/electrum Github] || MIT || [https://electrum.org/#community Community] || [[Thin Client Security#Simplified Payment Verification (SPV)|SPV]]&lt;br /&gt;
|-&lt;br /&gt;
! Gocoin&lt;br /&gt;
|| [http://www.assets-otc.com/gocoin Link] || [https://github.com/piotrnar/gocoin Github] || proprietary || [https://bitcointalk.org/index.php?topic=199306.0 Bitcointalk] || Integrated with [[Thin_Client_Security#Full_Node_Clients|Full Node]]&lt;br /&gt;
|- &lt;br /&gt;
! GreenAddress&lt;br /&gt;
|| [https://greenaddress.it/ Link] || [https://github.com/greenaddress/ Github] || LGPLv3 || [https://bitcointalk.org/index.php?topic=521988.0 Bitcointalk] || [[Thin Client Security#Server-Trusting Clients|Server-Client]]&lt;br /&gt;
|-&lt;br /&gt;
! MultiBit&lt;br /&gt;
|| [http://multibit.org/ Link] || [https://github.com/jim618/multibit Github] || MIT || [https://groups.google.com/forum/?fromgroups#!forum/bitcoin-multibit Google Groups] || [[Thin Client Security#Simplified Payment Verification (SPV)|SPV]]&lt;br /&gt;
|-&lt;br /&gt;
! My Wallet&lt;br /&gt;
|| [https://blockchain.info/wallet/ Link] || [https://github.com/blockchain/My-Wallet/ Github] || BSD* || None || [[Thin Client Security#Server-Trusting Clients|Server-Client]]&lt;br /&gt;
|-&lt;br /&gt;
! bits of proof&lt;br /&gt;
|| [http://bitsofproof.com Link] || [https://github.com/bitsofproof/supernode Github] || Apache 2.0 || [https://bitcointalk.org/index.php?topic=122013.0 Bitcointalk] || [[Thin Client Security#Server-Trusting Clients|Server-Client]]&lt;br /&gt;
|-&lt;br /&gt;
! btcd&lt;br /&gt;
|| [https://github.com/btcsuite/btcd Link] || [https://github.com/btcsuite/btcd Github] || ISC || [https://github.com/btcsuite/btcd#irc IRC] || [[Thin Client Security#Server-Trusting Clients|Server-Client]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Software#Bitcoin_clients|List of clients]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Clients&amp;diff=68512</id>
		<title>Clients</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Clients&amp;diff=68512"/>
		<updated>2021-03-09T01:42:59Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: /* Table */ Change &amp;quot;Instant&amp;quot; to &amp;quot;Minutes&amp;quot; for libbitcoin-explorer build.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
A bitcoin client is the end-user software that facilitates [[private key]] generation and security, payment sending on behalf of a private key, and optionally provides:&lt;br /&gt;
* Useful information about the state of the network and transactions.&lt;br /&gt;
* Information related to the private keys under its management.&lt;br /&gt;
* Syndication of network events to other peer clients.&lt;br /&gt;
&lt;br /&gt;
This table compares the features of the different clients. All of the listed clients are open-source.&lt;br /&gt;
&lt;br /&gt;
===Feature key===&lt;br /&gt;
&lt;br /&gt;
; Wallet Security : How well the client protects your [[private key]]s from people with access to the machine the wallet is stored on. The private keys can be encrypted, for example. The private keys can also be either stored on your device or on a remote server.&lt;br /&gt;
; Network Security : Clients which more fully implement the Bitcoin network protocol are safer -- they can&#039;t be as easily tricked by powerful attackers. A client which &#039;&#039;fully&#039;&#039; implements the protocol will always use the correct [[block chain]] and will never allow [[double-spending|double-spends]] or invalid transactions to exist in the block chain under any circumstances. Clients which only &#039;&#039;partially&#039;&#039; implement the protocol typically trust that 50% or more of the network&#039;s mining power is honest. Some clients trust one or more &#039;&#039;remote servers&#039;&#039; to protect them from double-spends and other network attacks.&lt;br /&gt;
; Setup Time : Some clients require that you download and verify a large amount of data before you can send or receive BTC.&lt;br /&gt;
; Maturity : When the project was started.&lt;br /&gt;
&lt;br /&gt;
===Table===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- please keep this alphabetic --&amp;gt;&lt;br /&gt;
{| class=&#039;wikitable&#039; style=&#039;text-align: center&#039;&lt;br /&gt;
! Client !! Get Started !! Audience !! Wallet Security !! Network Security !! Backups !! Setup Time !! Disk Space !! Maturity !! Multi-user !! Available for&lt;br /&gt;
|-&lt;br /&gt;
! [[Airbitz]]&lt;br /&gt;
|| [https://airbitz.co/app Download] || {{CLBest|Everyone}} || {{CLGood|Encrypted, on-device. Server backup}} || Partial || {{CLGood|Automatic}} || {{CLBest|Instant}} || {{CLGood|20 MB}} || Oct 2014 || {{CLBest|Multi-wallet}} || {{CLAndroid}}{{CLiOS}}&lt;br /&gt;
|-&lt;br /&gt;
! [[Armory]]&lt;br /&gt;
|| [https://bitcoinarmory.com/download Download] || Power users || {{CLGood|Encrypted, on-device}} || Addon || {{CLBest|One-time}} || {{CLBad|Hours}} || {{CLBad|150+ GB}} || {{CLGood|Jul 2011}} || {{CLBest|Multi-wallet}} || {{CLLinux}}{{CLMac}}{{CLWin}}&lt;br /&gt;
|-&lt;br /&gt;
! [[Bitcoin Core]]&lt;br /&gt;
|| [https://bitcoin.org/en/download Download] || {{CLGood|End-users}} || {{CLGood|Encrypted, on-device}} || {{CLBest|Full}} || Manual || {{CLBad|Hours}} || {{CLBad|120+ GB}} || {{CLGood|May 2011}} || {{CLBad|No}} || {{CLLinux}}{{CLMac}}{{CLWin}}&lt;br /&gt;
|-&lt;br /&gt;
! [[Bitcoin Knots]]&lt;br /&gt;
|| [http://bitcoinknots.org/ Download] || {{CLGood|End-users}} || {{CLGood|Encrypted, on-device}} || {{CLBest|Full}} || Manual || {{CLBad|Hours}} || {{CLYellow|5 GB}} || {{CLGood|Dec 2011}} || {{CLBest|Multi-wallet}} || {{CLLinux}}{{CLMac}}{{CLWin}}&lt;br /&gt;
|-&lt;br /&gt;
! [[bitcoind]]&lt;br /&gt;
|| [https://bitcoin.org/en/download Download] || Programmers || {{CLGood|Encrypted, on-device}} || {{CLBest|Full}} || Manual || {{CLBad|Hours}} || {{CLBad|120+ GB}} || {{CLBest|Aug 2009}} || {{CLBad|No}} || {{CLLinux}}{{CLWin}}&lt;br /&gt;
|-&lt;br /&gt;
! [[Bitcoin_Explorer|Bitcoin Explorer]]&lt;br /&gt;
|| [https://github.com/libbitcoin/libbitcoin-explorer/wiki/Download-BX Download] || Power Users || {{CLBest|Ephemeral, Multisig Optional}} || {{CLBest|Full w/local node}} || {{CLBest|BIP39}} || {{CLBest|Instant}} || {{CLBest|3 MB}} || {{CLGood|May 2011}}  || {{CLBest|Multi-wallet}} || {{CLLinux}}{{CLMac}}{{CLWin}}&lt;br /&gt;
|-&lt;br /&gt;
! [[Libbitcoin_Explorer|libbitcoin-explorer]]&lt;br /&gt;
|| [https://github.com/libbitcoin/libbitcoin-explorer/wiki/Build-BX Build It Yourself] || Programmers || {{CLBest|Ephemeral, Multisig Optional}} || {{CLBest|Full w/local node}} || {{CLBest|BIP39}}|| {{CLBest|Minutes}} || {{CLBest|3 MB}} || {{CLGood|May 2011}}  || {{CLBest|Multi-wallet}} || {{CLAndroid}}{{CLLinux}}{{CLMac}}{{CLWin}}&lt;br /&gt;
|-&lt;br /&gt;
! [[Bitcoin Wallet]]&lt;br /&gt;
|| [https://play.google.com/store/apps/details?id=de.schildbach.wallet Google Play] [https://appworld.blackberry.com/webstore/content/23952882/ BlackBerry World] || {{CLGood|End-users}} || {{CLGood|Isolated, on-device}} || Partial || Manual || {{CLBest|Instant}} || {{CLGood|15 MB}} || {{CLGood|Mar 2011}} || on JB tablets || {{CLAndroid}} [[file:ico-blackberry.png]]&lt;br /&gt;
|-&lt;br /&gt;
! [[Blocktrail]]&lt;br /&gt;
|| [https://www.blocktrail.com/ Download] || {{CLBest|Everyone}} || {{CLBest|Encrypted, on-device, Multisig, HD, Backup server}} || Remote || {{CLBest|One-time}} || {{CLBest|Instant}} || {{CLBest|7.5 MB}} || Sep 2015 || {{CLBad|No}} || {{CLAndroid}}{{CLiOS}}&lt;br /&gt;
|-&lt;br /&gt;
! [[Electrum]]&lt;br /&gt;
|| [https://electrum.org/download.html Download] || Power users || {{CLGood|Encrypted, on-device}} || Minimal || {{CLBest|Memorized}} || {{CLGood|Minutes}} || {{CLGood|5 MB}} || {{CLGood|Nov 2011}} || {{CLBad|No}} || {{CLAndroid}}{{CLLinux}}{{CLMac}}{{CLWin}}&lt;br /&gt;
|-&lt;br /&gt;
! [[Gocoin]]&lt;br /&gt;
|| [https://github.com/piotrnar/gocoin Build It Yourself] || Power users || Designated offline PC || {{CLBest|Full}} || {{CLBest|Memorized}} || {{CLBad|Hours}} || {{CLBad|120+GB}} || May 2013 || {{CLBest|Multi-wallet}} || {{CLLinux}}{{CLMac}}{{CLWin}}{{CLFreeBSD}}&lt;br /&gt;
|-&lt;br /&gt;
! [[GreenAddress]]&lt;br /&gt;
|| [https://greenaddress.it Web] [https://chrome.google.com/webstore/detail/greenaddressit/dgbimgjoijjemhdamicmljbncacfndmp ChromeApp] [https://play.google.com/store/apps/details?id=it.greenaddress.cordova&amp;amp;hl=en Google Play] || {{CLBest|Everyone}} || {{CLGood|Encrypted, on-device}} || {{CLBad|Remote}} || Memorized/Manual || {{CLBest|Instant}} || {{CLBest|None}} || Apr 2013 || {{CLBest|Yes}} || {{CLAndroid}}{{CLLinux}}{{CLMac}}{{CLWin}}&lt;br /&gt;
|-&lt;br /&gt;
! [[MultiBit]]&lt;br /&gt;
|| [https://multibit.org/releases.html Download] || {{CLGood|End-users}} || {{CLGood|Encrypted, on-device}} || Partial || {{CLGood|Automatic (local)}} || {{CLBest|Seconds}} || 50 MB || {{CLGood|Jul 2011}} || {{CLBest|Multi-wallet}} || {{CLLinux}}{{CLMac}}{{CLWin}}&lt;br /&gt;
|-&lt;br /&gt;
! [[Mycelium]]&lt;br /&gt;
|| [https://mycelium.com/download Download] [https://play.google.com/store/apps/details?id=com.mycelium.wallet Google Play]|| {{CLBest|Everyone}} || {{CLGood|Isolated, on-device}} || Partial || Manual, encrypted || {{CLBest|Instant}} || {{CLGood|10 MB}} || Sep 2013 || {{CLBad|No}} || {{CLAndroid}}{{CLiOS}}&lt;br /&gt;
|-&lt;br /&gt;
! [[BlockChain.info#Wallet|My Wallet]]&lt;br /&gt;
|| [https://blockchain.info/wallet/new Web-based] || {{CLBest|Everyone}} || {{CLBad|Encrypted, on-server}} || {{CLBad|Remote}} || {{CLGood|Automatic}} || {{CLGood|Minutes}} || {{CLBest|None}} || {{CLGood|Dec 2011}} || {{CLBest|Yes}} || {{CLAndroid}}{{CLiOS}}{{CLLinux}}{{CLMac}}{{CLWin}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- For Wallet Security: CLBest is reserved for multisig-based, if signatures can be managed independently. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==For developers==&lt;br /&gt;
&lt;br /&gt;
This table shows additional information about various Bitcoin clients that may be relevant to developers.&lt;br /&gt;
&lt;br /&gt;
{| class=&#039;wikitable&#039; style=&#039;text-align: center&#039;&lt;br /&gt;
! Client !! Website !! Source Code !! License !! Discussion !! Architecture&lt;br /&gt;
|-&lt;br /&gt;
! Armory&lt;br /&gt;
|| [http://bitcoinarmory.com/ Link] ||[https://github.com/etotheipi/BitcoinArmory/ Github] || AGPLv3 || [https://bitcointalk.org/index.php?board=97.0 Bitcointalk] || Integrated with [[Thin_Client_Security#Full_Node_Clients|Full Node]]&lt;br /&gt;
|-&lt;br /&gt;
! Bitcoin Core (Satoshi)&lt;br /&gt;
|| [https://bitcoincore.org Link] || [https://github.com/bitcoin/bitcoin Github] || MIT || [https://lists.sourceforge.net/lists/listinfo/bitcoin-development Sourceforge] || Integrated with [[Thin_Client_Security#Full_Node_Clients|Full Node]]&lt;br /&gt;
|-&lt;br /&gt;
! libbitcoin-explorer&lt;br /&gt;
|| [https://github.com/libbitcoin/libbitcoin-explorer/wiki Link] || [https://github.com/libbitcoin/libbitcoin-explorer Github] || AGPLv3 || [https://lists.dyne.org/lurker/list/libbitcoin.en.html Listserv], [https://bitcointalk.org/index.php?topic=30646.0 Bitcointalk] || [[Thin Client Security#Server-Trusting Clients|Server-Client]] or Integrated with [[Thin_Client_Security#Full_Node_Clients|Full Node]]&lt;br /&gt;
|-&lt;br /&gt;
! Bitcoin Wallet&lt;br /&gt;
|| [http://wallet.schildbach.de Link] || [https://github.com/bitcoin-wallet/bitcoin-wallet Github] || GPLv3 || [https://plus.google.com/b/101256420499771441772/communities/105515929887248493912 Google+], [https://bitcointalk.org/index.php?board=100.0 Bitcointalk] || [[Thin Client Security#Simplified Payment Verification (SPV)|SPV]]&lt;br /&gt;
|-&lt;br /&gt;
! Electrum&lt;br /&gt;
|| [https://electrum.org/ Link] || [https://github.com/spesmilo/electrum Github] || MIT || [https://electrum.org/#community Community] || [[Thin Client Security#Simplified Payment Verification (SPV)|SPV]]&lt;br /&gt;
|-&lt;br /&gt;
! Gocoin&lt;br /&gt;
|| [http://www.assets-otc.com/gocoin Link] || [https://github.com/piotrnar/gocoin Github] || proprietary || [https://bitcointalk.org/index.php?topic=199306.0 Bitcointalk] || Integrated with [[Thin_Client_Security#Full_Node_Clients|Full Node]]&lt;br /&gt;
|- &lt;br /&gt;
! GreenAddress&lt;br /&gt;
|| [https://greenaddress.it/ Link] || [https://github.com/greenaddress/ Github] || LGPLv3 || [https://bitcointalk.org/index.php?topic=521988.0 Bitcointalk] || [[Thin Client Security#Server-Trusting Clients|Server-Client]]&lt;br /&gt;
|-&lt;br /&gt;
! MultiBit&lt;br /&gt;
|| [http://multibit.org/ Link] || [https://github.com/jim618/multibit Github] || MIT || [https://groups.google.com/forum/?fromgroups#!forum/bitcoin-multibit Google Groups] || [[Thin Client Security#Simplified Payment Verification (SPV)|SPV]]&lt;br /&gt;
|-&lt;br /&gt;
! My Wallet&lt;br /&gt;
|| [https://blockchain.info/wallet/ Link] || [https://github.com/blockchain/My-Wallet/ Github] || BSD* || None || [[Thin Client Security#Server-Trusting Clients|Server-Client]]&lt;br /&gt;
|-&lt;br /&gt;
! bits of proof&lt;br /&gt;
|| [http://bitsofproof.com Link] || [https://github.com/bitsofproof/supernode Github] || Apache 2.0 || [https://bitcointalk.org/index.php?topic=122013.0 Bitcointalk] || [[Thin Client Security#Server-Trusting Clients|Server-Client]]&lt;br /&gt;
|-&lt;br /&gt;
! btcd&lt;br /&gt;
|| [https://github.com/btcsuite/btcd Link] || [https://github.com/btcsuite/btcd Github] || ISC || [https://github.com/btcsuite/btcd#irc IRC] || [[Thin Client Security#Server-Trusting Clients|Server-Client]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Software#Bitcoin_clients|List of clients]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Libbitcoin_Common&amp;diff=68511</id>
		<title>Libbitcoin Common</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Libbitcoin_Common&amp;diff=68511"/>
		<updated>2021-03-09T01:38:08Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: /* General Purpose Features */ sort list&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The common [https://github.com/libbitcoin/libbitcoin-system libbitcoin-system] (formerly &amp;quot;libbitcoin&amp;quot;) 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.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
 #include &amp;lt;cstdint&amp;gt;&lt;br /&gt;
 #include &amp;lt;iostream&amp;gt;&lt;br /&gt;
 #include &amp;lt;string&amp;gt;&lt;br /&gt;
 #include &amp;lt;bitcoin/bitcoin.hpp&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 // Extract Satoshi&#039;s words.&lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
     const auto block = bc::chain::block::genesis_mainnet();&lt;br /&gt;
     const auto&amp;amp; tx = block.transactions().front();&lt;br /&gt;
     const auto&amp;amp; input = tx.inputs().front();&lt;br /&gt;
     const auto script = input.script().to_data(false);&lt;br /&gt;
     std::string message(script.begin() + sizeof(uint64_t), script.end());&lt;br /&gt;
     std::cout &amp;lt;&amp;lt; message &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
     return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 The Times 03/Jan/2009 Chancellor on brink of second bailout for banks&lt;br /&gt;
&lt;br /&gt;
==Bitcoin Related Features==&lt;br /&gt;
* Key formats (raw, [https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki BIP32], WIF, compressed/uncompressed, minikey)&lt;br /&gt;
* Encoding functions (base 2/10/16/58/64/85)&lt;br /&gt;
* Hash functions (ripemd160, sha1, sha256, sha512, hmac_sha256, hmac_sha512, pkcs5_pbkdf2_hmac_sha512)&lt;br /&gt;
* 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])&lt;br /&gt;
* Mnemonic functions ([https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki BIP39])&lt;br /&gt;
* All published [https://github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md mnemonic dictionaries]&lt;br /&gt;
* Curve math, deterministic ECDSA, verification and encryption functions&lt;br /&gt;
* Address functions (P2PKH and P2SH/[https://github.com/bitcoin/bips/blob/master/bip-0016.mediawiki BIP16])&lt;br /&gt;
* Stealth addresses functions&amp;lt;ref&amp;gt;[https://wiki.unsystem.net/en/index.php/DarkWallet/Stealth DarkWallet Stealth Design Document]&amp;lt;/ref&amp;gt; for wallets and blockchain search&lt;br /&gt;
* Wire and text serializable type library (P2P protocol)&lt;br /&gt;
* Bitcoin script engine (see [[Libbitcoin_Consensus|libbitcoin-consensus]] for more information)&lt;br /&gt;
* Asynchronous P2P networking stack built on [https://think-async.com ASIO] (moved to [[Libbitcoin_Network|libbitcoin-network]] in version 3)&lt;br /&gt;
&lt;br /&gt;
==General Purpose Features==&lt;br /&gt;
* [https://github.com/libbitcoin/libbitcoin-system/wiki Documentation]&lt;br /&gt;
* Logging utilities&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Radix_tree Patricia Trie] template with binary alphabet&lt;br /&gt;
* [http://utf8everywhere.org UTF8 Everywhere] tools and integration for Windows&lt;br /&gt;
* Command line and configuration file utilities based on [http://www.boost.org/doc/libs/1_55_0/doc/html/program_options.html boost program options]&lt;br /&gt;
&lt;br /&gt;
==Build and Quality Control==&lt;br /&gt;
* Autotools builds for GCC/Clang&lt;br /&gt;
* All build artifacts generated by [[Libbitcoin_Build|libbitcoin-build]]&lt;br /&gt;
* Continuous integration builds via [https://travis-ci.org/libbitcoin/libbitcoin Travis-CI]&lt;br /&gt;
* Automated test coverage reporting via [https://travis-ci.org/libbitcoin/libbitcoin Coverall]&lt;br /&gt;
* Visual Studio 2013 project and solution files&lt;br /&gt;
* Support for 32/64 bit processors and [http://en.wikipedia.org/wiki/Endianness endianness] differences&lt;br /&gt;
* Uses C++11 advancements and restricts use of pointers and exceptions&lt;br /&gt;
&lt;br /&gt;
==Dependencies (Version2)==&lt;br /&gt;
* [http://www.boost.org boost]&lt;br /&gt;
* [https://github.com/bitcoin/secp256k1 libsecp256k1]&lt;br /&gt;
* [http://site.icu-project.org ICU] (optional)&lt;br /&gt;
&lt;br /&gt;
==Dependencies (Version3)==&lt;br /&gt;
* [http://www.boost.org boost]&lt;br /&gt;
* [https://github.com/bitcoin/secp256k1 libsecp256k1]&lt;br /&gt;
* [http://site.icu-project.org ICU] (optional)&lt;br /&gt;
* [http://www.libpng.org/pub/png/libpng.html libpng] (optional)&lt;br /&gt;
* [https://fukuchi.org/works/qrencode libqrencode] (optional)&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Libbitcoin]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
[[Category:Clients]]&lt;br /&gt;
[[Category:Open Source]]&lt;br /&gt;
[[Category:Software‏‎]]&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Libbitcoin_Common&amp;diff=68510</id>
		<title>Libbitcoin Common</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Libbitcoin_Common&amp;diff=68510"/>
		<updated>2021-03-09T01:37:51Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: /* General Purpose Features */ add documentation link.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The common [https://github.com/libbitcoin/libbitcoin-system libbitcoin-system] (formerly &amp;quot;libbitcoin&amp;quot;) 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.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
 #include &amp;lt;cstdint&amp;gt;&lt;br /&gt;
 #include &amp;lt;iostream&amp;gt;&lt;br /&gt;
 #include &amp;lt;string&amp;gt;&lt;br /&gt;
 #include &amp;lt;bitcoin/bitcoin.hpp&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 // Extract Satoshi&#039;s words.&lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
     const auto block = bc::chain::block::genesis_mainnet();&lt;br /&gt;
     const auto&amp;amp; tx = block.transactions().front();&lt;br /&gt;
     const auto&amp;amp; input = tx.inputs().front();&lt;br /&gt;
     const auto script = input.script().to_data(false);&lt;br /&gt;
     std::string message(script.begin() + sizeof(uint64_t), script.end());&lt;br /&gt;
     std::cout &amp;lt;&amp;lt; message &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
     return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 The Times 03/Jan/2009 Chancellor on brink of second bailout for banks&lt;br /&gt;
&lt;br /&gt;
==Bitcoin Related Features==&lt;br /&gt;
* Key formats (raw, [https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki BIP32], WIF, compressed/uncompressed, minikey)&lt;br /&gt;
* Encoding functions (base 2/10/16/58/64/85)&lt;br /&gt;
* Hash functions (ripemd160, sha1, sha256, sha512, hmac_sha256, hmac_sha512, pkcs5_pbkdf2_hmac_sha512)&lt;br /&gt;
* 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])&lt;br /&gt;
* Mnemonic functions ([https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki BIP39])&lt;br /&gt;
* All published [https://github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md mnemonic dictionaries]&lt;br /&gt;
* Curve math, deterministic ECDSA, verification and encryption functions&lt;br /&gt;
* Address functions (P2PKH and P2SH/[https://github.com/bitcoin/bips/blob/master/bip-0016.mediawiki BIP16])&lt;br /&gt;
* Stealth addresses functions&amp;lt;ref&amp;gt;[https://wiki.unsystem.net/en/index.php/DarkWallet/Stealth DarkWallet Stealth Design Document]&amp;lt;/ref&amp;gt; for wallets and blockchain search&lt;br /&gt;
* Wire and text serializable type library (P2P protocol)&lt;br /&gt;
* Bitcoin script engine (see [[Libbitcoin_Consensus|libbitcoin-consensus]] for more information)&lt;br /&gt;
* Asynchronous P2P networking stack built on [https://think-async.com ASIO] (moved to [[Libbitcoin_Network|libbitcoin-network]] in version 3)&lt;br /&gt;
&lt;br /&gt;
==General Purpose Features==&lt;br /&gt;
* Logging utilities&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Radix_tree Patricia Trie] template with binary alphabet&lt;br /&gt;
* [http://utf8everywhere.org UTF8 Everywhere] tools and integration for Windows&lt;br /&gt;
* Command line and configuration file utilities based on [http://www.boost.org/doc/libs/1_55_0/doc/html/program_options.html boost program options]&lt;br /&gt;
* [https://github.com/libbitcoin/libbitcoin-system/wiki Documentation]&lt;br /&gt;
&lt;br /&gt;
==Build and Quality Control==&lt;br /&gt;
* Autotools builds for GCC/Clang&lt;br /&gt;
* All build artifacts generated by [[Libbitcoin_Build|libbitcoin-build]]&lt;br /&gt;
* Continuous integration builds via [https://travis-ci.org/libbitcoin/libbitcoin Travis-CI]&lt;br /&gt;
* Automated test coverage reporting via [https://travis-ci.org/libbitcoin/libbitcoin Coverall]&lt;br /&gt;
* Visual Studio 2013 project and solution files&lt;br /&gt;
* Support for 32/64 bit processors and [http://en.wikipedia.org/wiki/Endianness endianness] differences&lt;br /&gt;
* Uses C++11 advancements and restricts use of pointers and exceptions&lt;br /&gt;
&lt;br /&gt;
==Dependencies (Version2)==&lt;br /&gt;
* [http://www.boost.org boost]&lt;br /&gt;
* [https://github.com/bitcoin/secp256k1 libsecp256k1]&lt;br /&gt;
* [http://site.icu-project.org ICU] (optional)&lt;br /&gt;
&lt;br /&gt;
==Dependencies (Version3)==&lt;br /&gt;
* [http://www.boost.org boost]&lt;br /&gt;
* [https://github.com/bitcoin/secp256k1 libsecp256k1]&lt;br /&gt;
* [http://site.icu-project.org ICU] (optional)&lt;br /&gt;
* [http://www.libpng.org/pub/png/libpng.html libpng] (optional)&lt;br /&gt;
* [https://fukuchi.org/works/qrencode libqrencode] (optional)&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Libbitcoin]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
[[Category:Clients]]&lt;br /&gt;
[[Category:Open Source]]&lt;br /&gt;
[[Category:Software‏‎]]&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Libbitcoin_Explorer&amp;diff=68509</id>
		<title>Libbitcoin Explorer</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Libbitcoin_Explorer&amp;diff=68509"/>
		<updated>2021-03-09T01:36:32Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: /* Design */ fix typo, sort&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [https://github.com/libbitcoin/libbitcoin-explorer libbitcoin-explorer] library extends [[Libbitcoin_Client|libbitcoin-client]] with a command line interface and a large number of bitcoin utility commands. The first version was called [[SubvertX]] (sx).&lt;br /&gt;
&lt;br /&gt;
==Console Application==&lt;br /&gt;
The library is accompanied by the console application [[Bitcoin_Explorer|Bitcoin Explorer]] (bx).&lt;br /&gt;
&lt;br /&gt;
==Design==&lt;br /&gt;
* [https://github.com/libbitcoin/libbitcoin-explorer/wiki Documentation]&lt;br /&gt;
* [https://github.com/libbitcoin/libbitcoin-explorer/wiki/Design-Overview Design Overview]&lt;br /&gt;
&lt;br /&gt;
==Dependencies (Version2)==&lt;br /&gt;
* [http://www.boost.org boost]&lt;br /&gt;
* [https://github.com/bitcoin/secp256k1 secp256k1]&lt;br /&gt;
* [https://github.com/jedisct1/libsodium sodium]&lt;br /&gt;
* [https://github.com/zeromq/libzmq zmq]&lt;br /&gt;
* [https://github.com/zeromq/czmq czmq]&lt;br /&gt;
* [https://github.com/zeromq/czmqpp czmqpp]&lt;br /&gt;
* [[Libbitcoin_Common|libbitcoin]]&lt;br /&gt;
* [[Libbitcoin_Client|libbitcoin-client]]&lt;br /&gt;
&lt;br /&gt;
==Dependencies (Version3)==&lt;br /&gt;
* [http://www.boost.org boost]&lt;br /&gt;
* [https://github.com/bitcoin/secp256k1 secp256k1]&lt;br /&gt;
* [https://github.com/zeromq/libzmq zmq]&lt;br /&gt;
* [http://site.icu-project.org ICU] (optional)&lt;br /&gt;
* [http://www.libpng.org/pub/png/libpng.html libpng] (optional)&lt;br /&gt;
* [https://fukuchi.org/works/qrencode libqrencode] (optional)&lt;br /&gt;
* [[Libbitcoin_Common|libbitcoin-system]]&lt;br /&gt;
* [[Libbitcoin_Protocol|libbitcoin-protocol]]&lt;br /&gt;
* [[Libbitcoin_Client|libbitcoin-client]]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Libbitcoin]]&lt;br /&gt;
* [[Bitcoin_Explorer|Bitcoin Explorer]]&lt;br /&gt;
* [[SubvertX]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
[[Category:Clients]]&lt;br /&gt;
[[Category:Open Source]]&lt;br /&gt;
[[Category:Software‏‎]]&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Libbitcoin_Explorer&amp;diff=68508</id>
		<title>Libbitcoin Explorer</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Libbitcoin_Explorer&amp;diff=68508"/>
		<updated>2021-03-09T01:36:09Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: /* Design */ add doc link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [https://github.com/libbitcoin/libbitcoin-explorer libbitcoin-explorer] library extends [[Libbitcoin_Client|libbitcoin-client]] with a command line interface and a large number of bitcoin utility commands. The first version was called [[SubvertX]] (sx).&lt;br /&gt;
&lt;br /&gt;
==Console Application==&lt;br /&gt;
The library is accompanied by the console application [[Bitcoin_Explorer|Bitcoin Explorer]] (bx).&lt;br /&gt;
&lt;br /&gt;
==Design==&lt;br /&gt;
* [https://github.com/libbitcoin/libbitcoin-explorer/wiki/Design-Overview Design Overview]&lt;br /&gt;
* [https://github.com/libbitcoin/libbitcoin-explorer/wiki Design Documentation]&lt;br /&gt;
&lt;br /&gt;
==Dependencies (Version2)==&lt;br /&gt;
* [http://www.boost.org boost]&lt;br /&gt;
* [https://github.com/bitcoin/secp256k1 secp256k1]&lt;br /&gt;
* [https://github.com/jedisct1/libsodium sodium]&lt;br /&gt;
* [https://github.com/zeromq/libzmq zmq]&lt;br /&gt;
* [https://github.com/zeromq/czmq czmq]&lt;br /&gt;
* [https://github.com/zeromq/czmqpp czmqpp]&lt;br /&gt;
* [[Libbitcoin_Common|libbitcoin]]&lt;br /&gt;
* [[Libbitcoin_Client|libbitcoin-client]]&lt;br /&gt;
&lt;br /&gt;
==Dependencies (Version3)==&lt;br /&gt;
* [http://www.boost.org boost]&lt;br /&gt;
* [https://github.com/bitcoin/secp256k1 secp256k1]&lt;br /&gt;
* [https://github.com/zeromq/libzmq zmq]&lt;br /&gt;
* [http://site.icu-project.org ICU] (optional)&lt;br /&gt;
* [http://www.libpng.org/pub/png/libpng.html libpng] (optional)&lt;br /&gt;
* [https://fukuchi.org/works/qrencode libqrencode] (optional)&lt;br /&gt;
* [[Libbitcoin_Common|libbitcoin-system]]&lt;br /&gt;
* [[Libbitcoin_Protocol|libbitcoin-protocol]]&lt;br /&gt;
* [[Libbitcoin_Client|libbitcoin-client]]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Libbitcoin]]&lt;br /&gt;
* [[Bitcoin_Explorer|Bitcoin Explorer]]&lt;br /&gt;
* [[SubvertX]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
[[Category:Clients]]&lt;br /&gt;
[[Category:Open Source]]&lt;br /&gt;
[[Category:Software‏‎]]&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Libbitcoin_Server&amp;diff=68507</id>
		<title>Libbitcoin Server</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Libbitcoin_Server&amp;diff=68507"/>
		<updated>2021-03-09T01:35:15Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: /* Design */ fix dead link.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [https://github.com/libbitcoin/libbitcoin-server libbitcoin-server] library extends [[Libbitcoin_Node|libbitcoin-node]] with a blockchain query service based on [http://zeromq.org ZeroMQ]. The first version was called [[Obelisk]].&lt;br /&gt;
&lt;br /&gt;
==Console Application==&lt;br /&gt;
The library is accompanied by the console application [[Bitcoin_Server|Bitcoin Server]] (bs).&lt;br /&gt;
&lt;br /&gt;
==Design==&lt;br /&gt;
* [https://github.com/libbitcoin/libbitcoin-server/wiki Documentation]&lt;br /&gt;
&lt;br /&gt;
==Dependencies (Version2)==&lt;br /&gt;
* [http://www.boost.org boost]&lt;br /&gt;
* [https://github.com/bitcoin/secp256k1 secp256k1]&lt;br /&gt;
* [https://github.com/jedisct1/libsodium sodium]&lt;br /&gt;
* [https://github.com/zeromq/libzmq zmq]&lt;br /&gt;
* [https://github.com/zeromq/czmq czmq]&lt;br /&gt;
* [https://github.com/zeromq/czmqpp czmqpp]&lt;br /&gt;
* [[Libbitcoin_Common|libbitcoin]]&lt;br /&gt;
* [[Libbitcoin_Consensus|libbitcoin-consensus (optional)]]&lt;br /&gt;
* [[Libbitcoin_Blockchain|libbitcoin-blockchain]]&lt;br /&gt;
* [[Libbitcoin_Node|libbitcoin-node]]&lt;br /&gt;
&lt;br /&gt;
==Dependencies (Version3)==&lt;br /&gt;
* [http://www.boost.org boost]&lt;br /&gt;
* [https://github.com/bitcoin/secp256k1 secp256k1]&lt;br /&gt;
* [https://github.com/zeromq/libzmq zmq]&lt;br /&gt;
* [[Libbitcoin_Common|libbitcoin-system]]&lt;br /&gt;
* [[Libbitcoin_Database|libbitcoin-database]]&lt;br /&gt;
* [[Libbitcoin_Consensus|libbitcoin-consensus (optional)]]&lt;br /&gt;
* [[Libbitcoin_Blockchain|libbitcoin-blockchain]]&lt;br /&gt;
* [[Libbitcoin_Network|libbitcoin-network]]&lt;br /&gt;
* [[Libbitcoin_Node|libbitcoin-node]]&lt;br /&gt;
* [[Libbitcoin_Protocol|libbitcoin-protocol]]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Libbitcoin]]&lt;br /&gt;
* [[Bitcoin_Server|Bitcoin Server]]&lt;br /&gt;
* [[Obelisk]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
[[Category:Nodes]]&lt;br /&gt;
[[Category:Open Source]]&lt;br /&gt;
[[Category:Software‏‎]]&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Libbitcoin_Server&amp;diff=68506</id>
		<title>Libbitcoin Server</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Libbitcoin_Server&amp;diff=68506"/>
		<updated>2021-03-09T01:34:52Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: /* Dependencies (Version3) */ user libbitcoin-system&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [https://github.com/libbitcoin/libbitcoin-server libbitcoin-server] library extends [[Libbitcoin_Node|libbitcoin-node]] with a blockchain query service based on [http://zeromq.org ZeroMQ]. The first version was called [[Obelisk]].&lt;br /&gt;
&lt;br /&gt;
==Console Application==&lt;br /&gt;
The library is accompanied by the console application [[Bitcoin_Server|Bitcoin Server]] (bs).&lt;br /&gt;
&lt;br /&gt;
==Design==&lt;br /&gt;
* [https://github.com/libbitcoin/libbitcoin-server/wiki/Design-Overview Design Overview]&lt;br /&gt;
&lt;br /&gt;
==Dependencies (Version2)==&lt;br /&gt;
* [http://www.boost.org boost]&lt;br /&gt;
* [https://github.com/bitcoin/secp256k1 secp256k1]&lt;br /&gt;
* [https://github.com/jedisct1/libsodium sodium]&lt;br /&gt;
* [https://github.com/zeromq/libzmq zmq]&lt;br /&gt;
* [https://github.com/zeromq/czmq czmq]&lt;br /&gt;
* [https://github.com/zeromq/czmqpp czmqpp]&lt;br /&gt;
* [[Libbitcoin_Common|libbitcoin]]&lt;br /&gt;
* [[Libbitcoin_Consensus|libbitcoin-consensus (optional)]]&lt;br /&gt;
* [[Libbitcoin_Blockchain|libbitcoin-blockchain]]&lt;br /&gt;
* [[Libbitcoin_Node|libbitcoin-node]]&lt;br /&gt;
&lt;br /&gt;
==Dependencies (Version3)==&lt;br /&gt;
* [http://www.boost.org boost]&lt;br /&gt;
* [https://github.com/bitcoin/secp256k1 secp256k1]&lt;br /&gt;
* [https://github.com/zeromq/libzmq zmq]&lt;br /&gt;
* [[Libbitcoin_Common|libbitcoin-system]]&lt;br /&gt;
* [[Libbitcoin_Database|libbitcoin-database]]&lt;br /&gt;
* [[Libbitcoin_Consensus|libbitcoin-consensus (optional)]]&lt;br /&gt;
* [[Libbitcoin_Blockchain|libbitcoin-blockchain]]&lt;br /&gt;
* [[Libbitcoin_Network|libbitcoin-network]]&lt;br /&gt;
* [[Libbitcoin_Node|libbitcoin-node]]&lt;br /&gt;
* [[Libbitcoin_Protocol|libbitcoin-protocol]]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Libbitcoin]]&lt;br /&gt;
* [[Bitcoin_Server|Bitcoin Server]]&lt;br /&gt;
* [[Obelisk]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
[[Category:Nodes]]&lt;br /&gt;
[[Category:Open Source]]&lt;br /&gt;
[[Category:Software‏‎]]&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Libbitcoin_Protocol&amp;diff=68505</id>
		<title>Libbitcoin Protocol</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Libbitcoin_Protocol&amp;diff=68505"/>
		<updated>2021-03-09T01:33:20Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: /* Dependencies */ use libbitcoin-system&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [https://github.com/libbitcoin/libbitcoin-protocol libbitcoin-protocol] library is new in version3 and replaces the [https://github.com/zeromq/czmqpp zeromq/czmq++], [https://github.com/zeromq/czmq zeromq/czmq] and [https://github.com/jedisct1/libsodium libsodium] dependencies. The library provides a high level abstraction for [http://zeromq.org ØMQ] networking primitives used in the libbitcoin client-server interface.&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
The library is integrated with the [[Libbitcoin_Build|Libbitcoin Build]] system&amp;lt;ref&amp;gt;[https://travis-ci.org/libbitcoin/libbitcoin-protocol Libbitcoin Protocol Travis-CI Report]&amp;lt;/ref&amp;gt;, with regular build and test execution&amp;lt;ref&amp;gt;[https://coveralls.io/r/libbitcoin/libbitcoin-protocol Libbitcoin Protocol Coveralls Report]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Dependencies==&lt;br /&gt;
* [http://www.boost.org boost]&lt;br /&gt;
* [https://github.com/bitcoin/secp256k1 secp256k1]&lt;br /&gt;
* [https://github.com/zeromq/libzmq zmq]&lt;br /&gt;
* [[Libbitcoin_Common|libbitcoin-system]]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Libbitcoin]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
[[Category:Open Source]]&lt;br /&gt;
[[Category:Software‏‎]]&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Libbitcoin_Node&amp;diff=68504</id>
		<title>Libbitcoin Node</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Libbitcoin_Node&amp;diff=68504"/>
		<updated>2021-03-09T01:32:47Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: /* Dependencies (Version3) */ use libbitcoin-system&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [https://github.com/libbitcoin/libbitcoin-node libbitcoin-node] library provides an abstraction over the low level networking calls required to implement a full node on the Bitcoin peer-to-peer network. It was originally contained within [[Libbitcoin_Common|libbitcoin]].&lt;br /&gt;
&lt;br /&gt;
==Example (Version3) ==&lt;br /&gt;
 #include &amp;lt;future&amp;gt;&lt;br /&gt;
 #include &amp;lt;iostream&amp;gt;&lt;br /&gt;
 #include &amp;lt;bitcoin/node.hpp&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
     std::cout &amp;lt;&amp;lt; &amp;quot;Starting up...&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
 &lt;br /&gt;
     bc::threadpool pool(1);&lt;br /&gt;
     bc::node::configuration settings(bc::config::settings::mainnet);&lt;br /&gt;
     bc::node::full_node node(settings);&lt;br /&gt;
     std::promise&amp;lt;bc::code&amp;gt; started;&lt;br /&gt;
 &lt;br /&gt;
     const auto handle_started = [&amp;amp;started](const bc::code&amp;amp; ec)&lt;br /&gt;
     {&lt;br /&gt;
         started.set_value(ec);&lt;br /&gt;
     };&lt;br /&gt;
 &lt;br /&gt;
     // To also &amp;quot;run&amp;quot; the node on the p2p nework next call node.run(...).&lt;br /&gt;
     node.start(handle_started);&lt;br /&gt;
 &lt;br /&gt;
     const auto ec = started.get_future().get();&lt;br /&gt;
 &lt;br /&gt;
     if (ec)&lt;br /&gt;
     {&lt;br /&gt;
         std::cout &amp;lt;&amp;lt; &amp;quot;The node failed to start: &amp;quot; &amp;lt;&amp;lt; ec.message() &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
         return 1;&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     const auto display_history = [](const bc::code&amp;amp; code,&lt;br /&gt;
         const bc::chain::history_compact::list&amp;amp; history)&lt;br /&gt;
     {&lt;br /&gt;
         if (code)&lt;br /&gt;
         {&lt;br /&gt;
             std::cout &amp;lt;&amp;lt; &amp;quot;Error: &amp;quot; &amp;lt;&amp;lt; code.message();&lt;br /&gt;
             return;&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         for (const auto&amp;amp; entry : history)&lt;br /&gt;
         {&lt;br /&gt;
             auto output = (entry.kind == bc::chain::point_kind::output);&lt;br /&gt;
             auto kind = (output ? &amp;quot;output&amp;quot; : &amp;quot;spend&amp;quot;);&lt;br /&gt;
             auto height = entry.height;&lt;br /&gt;
             auto hash = bc::encode_hash(entry.point.hash());&lt;br /&gt;
             auto index = entry.point.index();&lt;br /&gt;
 &lt;br /&gt;
             // The value for a spend is the entry.point.checksum() of the&lt;br /&gt;
             // output. This allows the spends to be correlated to outputs.&lt;br /&gt;
             std::cout &amp;lt;&amp;lt; &amp;quot;History...&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
             std::cout &amp;lt;&amp;lt; &amp;quot;Kind: &amp;quot; &amp;lt;&amp;lt; kind &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
             std::cout &amp;lt;&amp;lt; &amp;quot;Height: &amp;quot; &amp;lt;&amp;lt; height &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
             std::cout &amp;lt;&amp;lt; &amp;quot;Point: &amp;quot; &amp;lt;&amp;lt; hash &amp;lt;&amp;lt; &amp;quot;:&amp;quot; &amp;lt;&amp;lt; index &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
             std::cout &amp;lt;&amp;lt; &amp;quot;Value: &amp;quot; &amp;lt;&amp;lt; entry.value &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
             std::cout &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
         }&lt;br /&gt;
     };&lt;br /&gt;
 &lt;br /&gt;
     while (true)&lt;br /&gt;
     {&lt;br /&gt;
         std::cout &amp;lt;&amp;lt; &amp;quot;Type a bitcoin address or &#039;stop&#039; to exit.&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
 &lt;br /&gt;
         std::string command;&lt;br /&gt;
         std::getline(std::cin, command);&lt;br /&gt;
 &lt;br /&gt;
         if (command == &amp;quot;stop&amp;quot;)&lt;br /&gt;
             break;&lt;br /&gt;
 &lt;br /&gt;
         bc::wallet::payment_address address(command);&lt;br /&gt;
 &lt;br /&gt;
         if (!address)&lt;br /&gt;
         {&lt;br /&gt;
             std::cout &amp;lt;&amp;lt; &amp;quot;Invalid address: &amp;quot; &amp;lt;&amp;lt; command &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
             continue;&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         // Accept up to 1000 rows and search from block 0.&lt;br /&gt;
         node.chain().fetch_history(address, 1000, 0, display_history);&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     std::cout &amp;lt;&amp;lt; &amp;quot;Shutting down...&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
 &lt;br /&gt;
     return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==Console Application==&lt;br /&gt;
The library is accompanied by the console application [[Bitcoin_Node|Bitcoin Node]] (bn).&lt;br /&gt;
&lt;br /&gt;
==Design==&lt;br /&gt;
* See [https://github.com/libbitcoin/libbitcoin-server/wiki/Design-Overview Design Overview] (Bitcoin Server)&lt;br /&gt;
&lt;br /&gt;
==Dependencies (Version2)==&lt;br /&gt;
* [http://www.boost.org boost]&lt;br /&gt;
* [https://github.com/bitcoin/secp256k1 secp256k1]&lt;br /&gt;
* [[Libbitcoin_Common|libbitcoin]]&lt;br /&gt;
* [[Libbitcoin_Consensus|libbitcoin-consensus (optional)]]&lt;br /&gt;
* [[Libbitcoin_Blockchain|libbitcoin-blockchain]]&lt;br /&gt;
&lt;br /&gt;
==Dependencies (Version3)==&lt;br /&gt;
* [http://www.boost.org boost]&lt;br /&gt;
* [https://github.com/bitcoin/secp256k1 secp256k1]&lt;br /&gt;
* [[Libbitcoin_Common|libbitcoin-system]]&lt;br /&gt;
* [[Libbitcoin_Blockchain|libbitcoin-network]]&lt;br /&gt;
* [[Libbitcoin_Blockchain|libbitcoin-database]]&lt;br /&gt;
* [[Libbitcoin_Consensus|libbitcoin-consensus (optional)]]&lt;br /&gt;
* [[Libbitcoin_Blockchain|libbitcoin-blockchain]]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Libbitcoin]]&lt;br /&gt;
* [[Bitcoin_Node|Bitcoin Node]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
[[Category:Nodes]]&lt;br /&gt;
[[Category:Open Source]]&lt;br /&gt;
[[Category:Software‏‎]]&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Libbitcoin_Network&amp;diff=68503</id>
		<title>Libbitcoin Network</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Libbitcoin_Network&amp;diff=68503"/>
		<updated>2021-03-09T01:32:01Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: /* Dependencies */ user libbitcoin-system&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [https://github.com/libbitcoin/libbitcoin-network libbitcoin-network] library is a partial implementation of the [[Protocol_documentation|Bitcoin P2P network protocol]]. Excluded are all sub-protocols that require access to a blockchain. The [[Libbitcoin_Node|libbitcoin-node]] library extends this P2P networking capability and incorporates [[Libbitcoin_Blockchain|libbitcoin-blockchain]] in order to implement a [[Full_node|full node]]. The [[Libbitcoin_Explorer|libbitcoin-explorer]] library uses the P2P networking capability to post transactions to the P2P network.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
 #include &amp;lt;future&amp;gt;&lt;br /&gt;
 #include &amp;lt;bitcoin/network.hpp&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 // Send a transaction to a single P2P node.&lt;br /&gt;
 int main(int argc, char* argv[])&lt;br /&gt;
 {&lt;br /&gt;
     // Decode a base16-encoded Bitcoin transaction. &lt;br /&gt;
     bc::data_chunk decoded;&lt;br /&gt;
     if (argc &amp;lt; 1 || !bc::decode_base16(decoded, argv[0]))&lt;br /&gt;
         return -1;&lt;br /&gt;
 &lt;br /&gt;
     // Parse the decoded transaction.&lt;br /&gt;
     const auto tx = bc::chain::transaction::factory_from_data(decoded);&lt;br /&gt;
 &lt;br /&gt;
     // Configure the P2P network session for best performance.&lt;br /&gt;
     auto settings = bc::network::settings(bc::config::settings::mainnet);&lt;br /&gt;
     settings.outbound_connections = 0;&lt;br /&gt;
     settings.manual_attempt_limit = 3;&lt;br /&gt;
 &lt;br /&gt;
     // Start a network session.&lt;br /&gt;
     bc::network::p2p network(settings);&lt;br /&gt;
 &lt;br /&gt;
     // Declare completion signal.&lt;br /&gt;
     std::promise&amp;lt;bc::code&amp;gt; complete;&lt;br /&gt;
 &lt;br /&gt;
     const auto send_handler = [&amp;amp;complete](const bc::code&amp;amp; ec)&lt;br /&gt;
     {&lt;br /&gt;
         complete.set_value(ec);&lt;br /&gt;
     };&lt;br /&gt;
 &lt;br /&gt;
     const auto connect_handler = [&amp;amp;complete, &amp;amp;tx, &amp;amp;send_handler](&lt;br /&gt;
         const bc::code&amp;amp; ec, bc::network::channel::ptr node)&lt;br /&gt;
     {&lt;br /&gt;
         if (ec)&lt;br /&gt;
             complete.set_value(ec);&lt;br /&gt;
         else&lt;br /&gt;
             node-&amp;gt;send(tx, send_handler);&lt;br /&gt;
     };&lt;br /&gt;
 &lt;br /&gt;
     // Connect to the one specified host with retry.&lt;br /&gt;
     network.connect(&amp;quot;localhost&amp;quot;, 8333, connect_handler);&lt;br /&gt;
 &lt;br /&gt;
     // Wait for completion and return result.&lt;br /&gt;
     return complete.get_future().get() ? -1 : 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
* The P2P protocol was originally contained within the [[Libbitcoin_Common|libbitcoin]] library.&lt;br /&gt;
&lt;br /&gt;
* In late 2014 [[William_Swanson|William Swanson]] reorganized libbitcoin sources&amp;lt;ref&amp;gt;[https://lists.dyne.org/lurker/message/20141201.054416.c146b7bc.en.html Libbitcoin network refactoring]&amp;lt;/ref&amp;gt; in accordance with the roadmap&amp;lt;ref&amp;gt;[https://lists.dyne.org/lurker/message/20140924.201619.e3930350.en.html Libbitcoin roadmap summary]&amp;lt;/ref&amp;gt; agreed in Toronto earlier that year. Later sources were moved into the libbitcoin::network namespace.&lt;br /&gt;
&lt;br /&gt;
* By early 2016 [[Eric_Voskuil|Eric Voskuil]] completed the version 3 redesign to improve reliability, performance and readability. The namespace was forked into its own repository and integrated with dependent repositories.&lt;br /&gt;
&lt;br /&gt;
==Dependencies==&lt;br /&gt;
* [http://www.boost.org boost]&lt;br /&gt;
* [[Libbitcoin_Common|libbitcoin-system]]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Libbitcoin]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
[[Category:Clients]]&lt;br /&gt;
[[Category:Open Source]]&lt;br /&gt;
[[Category:Software‏‎]]&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Libbitcoin_Explorer&amp;diff=68502</id>
		<title>Libbitcoin Explorer</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Libbitcoin_Explorer&amp;diff=68502"/>
		<updated>2021-03-09T01:31:02Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: /* Dependencies (Version3) */ user libbitcoin-system&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [https://github.com/libbitcoin/libbitcoin-explorer libbitcoin-explorer] library extends [[Libbitcoin_Client|libbitcoin-client]] with a command line interface and a large number of bitcoin utility commands. The first version was called [[SubvertX]] (sx).&lt;br /&gt;
&lt;br /&gt;
==Console Application==&lt;br /&gt;
The library is accompanied by the console application [[Bitcoin_Explorer|Bitcoin Explorer]] (bx).&lt;br /&gt;
&lt;br /&gt;
==Design==&lt;br /&gt;
* [https://github.com/libbitcoin/libbitcoin-explorer/wiki/Design-Overview Design Overview]&lt;br /&gt;
&lt;br /&gt;
==Dependencies (Version2)==&lt;br /&gt;
* [http://www.boost.org boost]&lt;br /&gt;
* [https://github.com/bitcoin/secp256k1 secp256k1]&lt;br /&gt;
* [https://github.com/jedisct1/libsodium sodium]&lt;br /&gt;
* [https://github.com/zeromq/libzmq zmq]&lt;br /&gt;
* [https://github.com/zeromq/czmq czmq]&lt;br /&gt;
* [https://github.com/zeromq/czmqpp czmqpp]&lt;br /&gt;
* [[Libbitcoin_Common|libbitcoin]]&lt;br /&gt;
* [[Libbitcoin_Client|libbitcoin-client]]&lt;br /&gt;
&lt;br /&gt;
==Dependencies (Version3)==&lt;br /&gt;
* [http://www.boost.org boost]&lt;br /&gt;
* [https://github.com/bitcoin/secp256k1 secp256k1]&lt;br /&gt;
* [https://github.com/zeromq/libzmq zmq]&lt;br /&gt;
* [http://site.icu-project.org ICU] (optional)&lt;br /&gt;
* [http://www.libpng.org/pub/png/libpng.html libpng] (optional)&lt;br /&gt;
* [https://fukuchi.org/works/qrencode libqrencode] (optional)&lt;br /&gt;
* [[Libbitcoin_Common|libbitcoin-system]]&lt;br /&gt;
* [[Libbitcoin_Protocol|libbitcoin-protocol]]&lt;br /&gt;
* [[Libbitcoin_Client|libbitcoin-client]]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Libbitcoin]]&lt;br /&gt;
* [[Bitcoin_Explorer|Bitcoin Explorer]]&lt;br /&gt;
* [[SubvertX]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
[[Category:Clients]]&lt;br /&gt;
[[Category:Open Source]]&lt;br /&gt;
[[Category:Software‏‎]]&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Libbitcoin_Database&amp;diff=68501</id>
		<title>Libbitcoin Database</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Libbitcoin_Database&amp;diff=68501"/>
		<updated>2021-03-09T01:30:30Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: /* See Also */ remove dead link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [https://github.com/libbitcoin/libbitcoin-database libbitcoin-database] library is a dependency of [[Libbitcoin_Blockchain|libbitcoin-blockchain]], [[Libbitcoin_Node|libbitcoin-node]] and [[Libbitcoin_Server|libbitcoin-server]].&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
 #include &amp;lt;string&amp;gt;&lt;br /&gt;
 #include &amp;lt;bitcoin/database.hpp&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 // Create a new mainnet blockchain store.&lt;br /&gt;
 int main(int argc, char* argv[])&lt;br /&gt;
 {&lt;br /&gt;
     std::string prefix(&amp;quot;blockchain&amp;quot;);&lt;br /&gt;
     const auto genesis = bc::chain::block::genesis_mainnet();&lt;br /&gt;
     &lt;br /&gt;
     if (argc &amp;gt; 1)&lt;br /&gt;
         prefix = argv[1];&lt;br /&gt;
     &lt;br /&gt;
     if (!bc::database::data_base::initialize(prefix, genesis)&lt;br /&gt;
         return -1;&lt;br /&gt;
    &lt;br /&gt;
     return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==Design==&lt;br /&gt;
The database is built directly on the operating system&#039;s [https://en.wikipedia.org/wiki/Memory-mapped_file memory-mapped file] system. Logical queries are performed using a set of hash tables. The number of hash buckets is optimized to minimize hash collisions, though collisions are accommodated. These changes resulted in a substantial performance increase, near constant time, for queries against the blockchain. Insert performance was not materially affected. The database uses sequence locking to avoid blocking the writer. This is ideal for a high performance blockchain server as reads are significantly more frequent than writes and yet writes must proceed without delay.&lt;br /&gt;
&lt;br /&gt;
[[Image:Libbitcoin-blockchain-gets.png|500px]] [[Image:Libbitcoin-blockchain-gets-normalised.png|500px]]&lt;br /&gt;
&lt;br /&gt;
==Database==&lt;br /&gt;
The following files constitute the blockchain database non-volatile storage for a node. As of height 440,000 these consume approximately 102 GB of disk space.&lt;br /&gt;
* block_index&lt;br /&gt;
* block_table&lt;br /&gt;
* transaction_table&lt;br /&gt;
&lt;br /&gt;
The following files constitute the non-volatile storage for the server index.&lt;br /&gt;
* history_table&lt;br /&gt;
* history_rows&lt;br /&gt;
* stealth_rows&lt;br /&gt;
* spend_table&lt;br /&gt;
&lt;br /&gt;
The following files are used for locking.&lt;br /&gt;
* flush_lock&lt;br /&gt;
* exclusive_lock&lt;br /&gt;
&lt;br /&gt;
==Considerations==&lt;br /&gt;
* There is no mechanical hard drive optimization. The implementation is intended for solid state drives ([http://en.wikipedia.org/wiki/Solid-state_drive SSD]).&lt;br /&gt;
* There is a likelihood of index corruption during hard shutdown. In version 2 there is no means of detecting corruption aside from catastrophic fault. However given that the entire blockchain is a cache this is not considered significant. Repair can be accomplished by re-synchronizing the blockchain. Version 3 provides robust detection of corruption and the option to flush after each write, making corruption very unlikely (and still fully detectable) if enabled.&lt;br /&gt;
* Data files are append only, with logical deletions only. Therefore file size is not minimized following blockchain reorganization although the impact is typically small. Defragmentation can be accomplished by re-synchronizing the blockchain.&lt;br /&gt;
* The database is effectively locked during write operations. As these operations are anticipated on a period of approximately ten minutes this is not typically significant. However during a period of catch-up synchronizing a version 2 server can become continuously unresponsive to requests. This is not a problem for version 3.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
* The original implementation used [http://leveldb.org LevelDB].&lt;br /&gt;
* In late 2014 by [[Amir_Taaki|Amir Taaki]] (genjix) replaced LevelDB with memory-mapped hash table storage and indexing. &lt;br /&gt;
* In early 2016 [[Eric_Voskuil|Eric Voskuil]] separated the database from [[Libbitcoin_Blockchain|libbitcoin-blockchain]] into an independent library and used isolated locking to make the concurrent read-while-write safe and to enable concurrent writes.&lt;br /&gt;
&lt;br /&gt;
==Dependencies==&lt;br /&gt;
* [http://www.boost.org boost]&lt;br /&gt;
* [https://github.com/bitcoin/secp256k1 secp256k1]&lt;br /&gt;
* [[Libbitcoin_Common|libbitcoin-system]]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Libbitcoin]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
[[Category:Open Source]]&lt;br /&gt;
[[Category:Software‏‎]]&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Libbitcoin_Database&amp;diff=68500</id>
		<title>Libbitcoin Database</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Libbitcoin_Database&amp;diff=68500"/>
		<updated>2021-03-09T01:27:51Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: /* Dependencies */ change libbitcoin to libbitcoin-system.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [https://github.com/libbitcoin/libbitcoin-database libbitcoin-database] library is a dependency of [[Libbitcoin_Blockchain|libbitcoin-blockchain]], [[Libbitcoin_Node|libbitcoin-node]] and [[Libbitcoin_Server|libbitcoin-server]].&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
 #include &amp;lt;string&amp;gt;&lt;br /&gt;
 #include &amp;lt;bitcoin/database.hpp&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 // Create a new mainnet blockchain store.&lt;br /&gt;
 int main(int argc, char* argv[])&lt;br /&gt;
 {&lt;br /&gt;
     std::string prefix(&amp;quot;blockchain&amp;quot;);&lt;br /&gt;
     const auto genesis = bc::chain::block::genesis_mainnet();&lt;br /&gt;
     &lt;br /&gt;
     if (argc &amp;gt; 1)&lt;br /&gt;
         prefix = argv[1];&lt;br /&gt;
     &lt;br /&gt;
     if (!bc::database::data_base::initialize(prefix, genesis)&lt;br /&gt;
         return -1;&lt;br /&gt;
    &lt;br /&gt;
     return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==Design==&lt;br /&gt;
The database is built directly on the operating system&#039;s [https://en.wikipedia.org/wiki/Memory-mapped_file memory-mapped file] system. Logical queries are performed using a set of hash tables. The number of hash buckets is optimized to minimize hash collisions, though collisions are accommodated. These changes resulted in a substantial performance increase, near constant time, for queries against the blockchain. Insert performance was not materially affected. The database uses sequence locking to avoid blocking the writer. This is ideal for a high performance blockchain server as reads are significantly more frequent than writes and yet writes must proceed without delay.&lt;br /&gt;
&lt;br /&gt;
[[Image:Libbitcoin-blockchain-gets.png|500px]] [[Image:Libbitcoin-blockchain-gets-normalised.png|500px]]&lt;br /&gt;
&lt;br /&gt;
==Database==&lt;br /&gt;
The following files constitute the blockchain database non-volatile storage for a node. As of height 440,000 these consume approximately 102 GB of disk space.&lt;br /&gt;
* block_index&lt;br /&gt;
* block_table&lt;br /&gt;
* transaction_table&lt;br /&gt;
&lt;br /&gt;
The following files constitute the non-volatile storage for the server index.&lt;br /&gt;
* history_table&lt;br /&gt;
* history_rows&lt;br /&gt;
* stealth_rows&lt;br /&gt;
* spend_table&lt;br /&gt;
&lt;br /&gt;
The following files are used for locking.&lt;br /&gt;
* flush_lock&lt;br /&gt;
* exclusive_lock&lt;br /&gt;
&lt;br /&gt;
==Considerations==&lt;br /&gt;
* There is no mechanical hard drive optimization. The implementation is intended for solid state drives ([http://en.wikipedia.org/wiki/Solid-state_drive SSD]).&lt;br /&gt;
* There is a likelihood of index corruption during hard shutdown. In version 2 there is no means of detecting corruption aside from catastrophic fault. However given that the entire blockchain is a cache this is not considered significant. Repair can be accomplished by re-synchronizing the blockchain. Version 3 provides robust detection of corruption and the option to flush after each write, making corruption very unlikely (and still fully detectable) if enabled.&lt;br /&gt;
* Data files are append only, with logical deletions only. Therefore file size is not minimized following blockchain reorganization although the impact is typically small. Defragmentation can be accomplished by re-synchronizing the blockchain.&lt;br /&gt;
* The database is effectively locked during write operations. As these operations are anticipated on a period of approximately ten minutes this is not typically significant. However during a period of catch-up synchronizing a version 2 server can become continuously unresponsive to requests. This is not a problem for version 3.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
* The original implementation used [http://leveldb.org LevelDB].&lt;br /&gt;
* In late 2014 by [[Amir_Taaki|Amir Taaki]] (genjix) replaced LevelDB with memory-mapped hash table storage and indexing. &lt;br /&gt;
* In early 2016 [[Eric_Voskuil|Eric Voskuil]] separated the database from [[Libbitcoin_Blockchain|libbitcoin-blockchain]] into an independent library and used isolated locking to make the concurrent read-while-write safe and to enable concurrent writes.&lt;br /&gt;
&lt;br /&gt;
==Dependencies==&lt;br /&gt;
* [http://www.boost.org boost]&lt;br /&gt;
* [https://github.com/bitcoin/secp256k1 secp256k1]&lt;br /&gt;
* [[Libbitcoin_Common|libbitcoin-system]]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Libbitcoin]]&lt;br /&gt;
* [https://wiki.unsystem.net/en/index.php/Libbitcoin/Blockchain Libbitcoin blockchain design (Unsystem)]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
[[Category:Open Source]]&lt;br /&gt;
[[Category:Software‏‎]]&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Libbitcoin_Build&amp;diff=68499</id>
		<title>Libbitcoin Build</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Libbitcoin_Build&amp;diff=68499"/>
		<updated>2021-03-09T01:27:00Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: /* Dependencies */ update URL to moved GSL repo (owner passed away without transfer).&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [https://github.com/libbitcoin/libbitcoin-build libbitcoin-build] repository is used by [[Libbitcoin]] maintainers to generate [http://en.wikipedia.org/wiki/GNU_build_system Autotols] and other build artifacts from declarative sources. The purpose of the library is to maintain build quality and consistency across the Libbitcoin repositories without unnecessarily restricting contributions.&lt;br /&gt;
&lt;br /&gt;
==Generated Artifacts==&lt;br /&gt;
 .travis.yml&lt;br /&gt;
 appveyor.yml&lt;br /&gt;
 autogen.sh&lt;br /&gt;
 configure.ac&lt;br /&gt;
 install.sh&lt;br /&gt;
 [library].pc.in&lt;br /&gt;
 [library]_test_runner.sh&lt;br /&gt;
 Makefile.am&lt;br /&gt;
 include/bitcoin/[library].hpp&lt;br /&gt;
 include/bitcoin/[library]/version.hpp&lt;br /&gt;
&lt;br /&gt;
==Design Overview==&lt;br /&gt;
The Libbitcoin build system uses [https://github.com/imatix/gsl GSL] for generation of build artifacts from a declarative XML model of each repository&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-build/blob/master/generate.xml Libbitcoin Declarative Build Model]&amp;lt;/ref&amp;gt;. The system also enumerates source files within each repository in order to generate a master [library].hpp and Makefile.am. Visual Studio projects and solutions are not currently generated&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-build/blob/master/README.md Libbitcoin Build README.md]&amp;lt;/ref&amp;gt;..&lt;br /&gt;
&lt;br /&gt;
==Change Control Process==&lt;br /&gt;
Maintainers generate and push resulting artifacts to each of the other repositories so that contributors have familiar context. Contributors to a given repository can edit the generated artifacts and later maintainers can determine whether to retain changes by incorporating them into the model. This allows less experienced contributors to introduce changes for review without introducing fragility into user-facing build, install and packaging processes.&lt;br /&gt;
&lt;br /&gt;
==Example Repository Model==&lt;br /&gt;
  &amp;lt;repository name=&amp;quot;libbitcoin-consensus&amp;quot; version=&amp;quot;2.0.0&amp;quot; email=&amp;quot;eric@voskuil.org&amp;quot; &amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;package library=&amp;quot;bitcoin-consensus&amp;quot; description=&amp;quot;Libbitcoin Consensus Library&amp;quot; url=&amp;quot;https://github.com/libbitcoin/libbitcoin-consensus&amp;quot; /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;configure&amp;gt;&lt;br /&gt;
      &amp;lt;option type=&amp;quot;with&amp;quot; name=&amp;quot;pkgconfigdir&amp;quot; default=&amp;quot;${libdir}/pkgconfig&amp;quot; example=&amp;quot;=DIR&amp;quot; unprefixed=&amp;quot;true&amp;quot; substitute=&amp;quot;true&amp;quot; description=&amp;quot;Path to pkgconfig directory.&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;option type=&amp;quot;with&amp;quot; name=&amp;quot;tests&amp;quot; default=&amp;quot;yes&amp;quot; conditional=&amp;quot;true&amp;quot; description=&amp;quot;Compile with unit tests.&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;option type=&amp;quot;enable&amp;quot; name=&amp;quot;ndebug&amp;quot; default=&amp;quot;yes&amp;quot; define=&amp;quot;NDEBUG&amp;quot; description=&amp;quot;Compile without debug assertions.&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;option type=&amp;quot;enable&amp;quot; name=&amp;quot;shared&amp;quot; default=&amp;quot;yes&amp;quot; define=&amp;quot;BOOST_TEST_DYN_LINK&amp;quot; inherited=&amp;quot;true&amp;quot; description=&amp;quot;Required for dynamically linking boost test.&amp;quot; /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
      &amp;lt;dependency name=&amp;quot;boost&amp;quot; compiler=&amp;quot;gcc&amp;quot; version=&amp;quot;1.55.0&amp;quot; option=&amp;quot;tests&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;dependency name=&amp;quot;boost&amp;quot; compiler=&amp;quot;clang&amp;quot; version=&amp;quot;1.56.0&amp;quot; option=&amp;quot;tests&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;dependency name=&amp;quot;boost_unit_test_framework&amp;quot; option=&amp;quot;tests&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;dependency name=&amp;quot;secp256k1&amp;quot; version=&amp;quot;0.0.1&amp;quot; /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
      &amp;lt;flag name=&amp;quot;Wall&amp;quot; comment=&amp;quot;Warn on all stuff.&amp;quot; context=&amp;quot;c&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;flag name=&amp;quot;Wextra&amp;quot; comment=&amp;quot;Warn on extra stuff.&amp;quot; context=&amp;quot;c&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;flag name=&amp;quot;Wpedantic&amp;quot; alternate=&amp;quot;pedantic&amp;quot; comment=&amp;quot;Be really annoying.&amp;quot; context=&amp;quot;c&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;flag name=&amp;quot;Wno-missing-braces&amp;quot; comment=&amp;quot;Conform to style.&amp;quot; context=&amp;quot;c++&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;flag name=&amp;quot;Wno-mismatched-tags&amp;quot; compiler=&amp;quot;clang&amp;quot; comment=&amp;quot;Conflict in stdlib under clang.&amp;quot; context=&amp;quot;c++&amp;quot; /&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
      &amp;lt;flag name=&amp;quot;fstack-protector&amp;quot; comment=&amp;quot;Protect stack.&amp;quot; context=&amp;quot;link&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;flag name=&amp;quot;fstack-protector-all&amp;quot; comment=&amp;quot;Protect stack comprehensively.&amp;quot; context=&amp;quot;link&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;flag name=&amp;quot;fvisibility-hidden&amp;quot; compiler=&amp;quot;gcc&amp;quot; comment=&amp;quot;Hide internal functions from external libs.&amp;quot; context=&amp;quot;c++&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;flag name=&amp;quot;fvisibility-inlines-hidden&amp;quot; compiler=&amp;quot;gcc&amp;quot; comment=&amp;quot;Hide inlines from external libs.&amp;quot; context=&amp;quot;c++&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/configure&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;make&amp;gt;&lt;br /&gt;
      &amp;lt;product prefix=&amp;quot;pkgconfig&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;file path=&amp;quot;libbitcoin-consensus.pc&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/product&amp;gt;&lt;br /&gt;
      &amp;lt;product prefix=&amp;quot;doc&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;file path=&amp;quot;AUTHORS&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;file path=&amp;quot;COPYING&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;file path=&amp;quot;ChangeLog&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;file path=&amp;quot;INSTALL&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;file path=&amp;quot;NEWS&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;file path=&amp;quot;README&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/product&amp;gt;&lt;br /&gt;
      &amp;lt;product prefix=&amp;quot;lib&amp;quot; path=&amp;quot;src&amp;quot; name=&amp;quot;bitcoin-consensus&amp;quot; uuid=&amp;quot;6c521d95-00ce-4120-97d1-430e2870d738&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;library name=&amp;quot;secp256k1&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;headers path=&amp;quot;include&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;headers path=&amp;quot;src&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;headers path=&amp;quot;src/clone&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;sources path=&amp;quot;src&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/product&amp;gt;&lt;br /&gt;
      &amp;lt;product prefix=&amp;quot;bin&amp;quot; path=&amp;quot;test&amp;quot; name=&amp;quot;libbitcoin_consensus_test&amp;quot; test=&amp;quot;true&amp;quot; option=&amp;quot;tests&amp;quot; uuid=&amp;quot;d282ef8c-6217-483c-ac47-864b2fba50fd&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;runner/&amp;gt;&lt;br /&gt;
        &amp;lt;library name=&amp;quot;bitcoin-consensus&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;library name=&amp;quot;boost&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;library name=&amp;quot;boost_unit_test_framework&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;headers path=&amp;quot;include&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;headers path=&amp;quot;src&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;headers path=&amp;quot;src/clone&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;sources path=&amp;quot;test&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/product&amp;gt;&lt;br /&gt;
      &amp;lt;product prefix=&amp;quot;include&amp;quot; container=&amp;quot;bitcoin&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;files path=&amp;quot;include/bitcoin&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/product&amp;gt;&lt;br /&gt;
    &amp;lt;/make&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;install&amp;gt;&lt;br /&gt;
      &amp;lt;build name=&amp;quot;boost&amp;quot; version=&amp;quot;1.56.0&amp;quot; parallel=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--with-system&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--with-test&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/build&amp;gt;&lt;br /&gt;
      &amp;lt;build name=&amp;quot;secp256k1&amp;quot; github=&amp;quot;libbitcoin&amp;quot; repository=&amp;quot;secp256k1&amp;quot; branch=&amp;quot;version4&amp;quot; parallel=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--disable-tests&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--enable-module-recovery&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/build&amp;gt;&lt;br /&gt;
      &amp;lt;build name=&amp;quot;bitcoin-consensus&amp;quot; github=&amp;quot;libbitcoin&amp;quot; repository=&amp;quot;libbitcoin-consensus&amp;quot; branch=&amp;quot;version2&amp;quot; parallel=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;${with_boost}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;${with_pkgconfigdir}&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/build&amp;gt;&lt;br /&gt;
    &amp;lt;/install&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;matrix&amp;gt;&lt;br /&gt;
      &amp;lt;job system=&amp;quot;osx&amp;quot; compiler=&amp;quot;clang&amp;quot; link=&amp;quot;static&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--disable-shared&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--build-boost&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--prefix=$TRAVIS_BUILD_DIR/my-prefix&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/job&amp;gt;&lt;br /&gt;
      &amp;lt;job system=&amp;quot;linux&amp;quot; compiler=&amp;quot;clang&amp;quot; link=&amp;quot;static&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--disable-shared&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--build-boost&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--prefix=$TRAVIS_BUILD_DIR/my-prefix&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;CFLAGS=&#039;-Os&#039;&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;CXXFLAGS=&#039;-Os&#039;&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/job&amp;gt;&lt;br /&gt;
      &amp;lt;job system=&amp;quot;linux&amp;quot; compiler=&amp;quot;gcc&amp;quot; link=&amp;quot;static&amp;quot; coverage=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;exclude path=&amp;quot;clone/*&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--disable-shared&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--build-boost&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--build-dir=my-build&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--prefix=$TRAVIS_BUILD_DIR/my-prefix&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;CFLAGS=&#039;-O0 -g --coverage&#039;&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;CXXFLAGS=&#039;-O0 -g --coverage&#039;&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/job&amp;gt;&lt;br /&gt;
      &amp;lt;job system=&amp;quot;osx&amp;quot; compiler=&amp;quot;clang&amp;quot; link=&amp;quot;dynamic&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;get name=&amp;quot;boost&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/job&amp;gt;&lt;br /&gt;
      &amp;lt;job system=&amp;quot;linux&amp;quot; compiler=&amp;quot;clang&amp;quot; link=&amp;quot;dynamic&amp;quot; sudo=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;!-- This version isn&#039;t available in the repository. --&amp;gt;&lt;br /&gt;
        &amp;lt;!--&amp;lt;get name=&amp;quot;boost1.56&amp;quot; /&amp;gt;--&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--build-boost&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--disable-ndebug&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--disable-static&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;CFLAGS=&#039;-Os&#039;&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;CXXFLAGS=&#039;-Os&#039;&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/job&amp;gt;&lt;br /&gt;
      &amp;lt;job system=&amp;quot;linux&amp;quot; compiler=&amp;quot;gcc&amp;quot; link=&amp;quot;dynamic&amp;quot; sudo=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--disable-static&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--build-boost&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;CFLAGS=&#039;-Os -s&#039;&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;CXXFLAGS=&#039;-Os -s&#039;&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/job&amp;gt;&lt;br /&gt;
    &amp;lt;/matrix&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
  &amp;lt;/repository&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Dependencies==&lt;br /&gt;
* [https://github.com/zeromq/gsl GSL/4.1 - Universal Code Generator]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Libbitcoin]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Libbitcoin_Blockchain&amp;diff=68498</id>
		<title>Libbitcoin Blockchain</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Libbitcoin_Blockchain&amp;diff=68498"/>
		<updated>2021-03-09T01:25:14Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: /* Dependencies (Version3) */ change libbitcoin to libbitcoin-system&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [https://github.com/libbitcoin/libbitcoin-blockchain libbitcoin-blockchain] library is a dependency of [[Libbitcoin_Node|libbitcoin-node]] and [[Libbitcoin_Server|libbitcoin-server]]. The library provides transaction and block validation as well as transaction (memory) and block (orphan) pools.&lt;br /&gt;
&lt;br /&gt;
==Consensus Validation==&lt;br /&gt;
By default the library depends on the [[Libbitcoin_Consensus|libbitcoin-consensus]] library and its use can be selected by run time configuration. This ensures that consensus checks are identical to those implemented by [[Bitcoind|bitcoind]]. By building using the &#039;&#039;--without-consensus&#039;&#039; flag the dependency is avoided and [[Libbitcoin|libbitcoin]] native consensus checks are used instead.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
* The blockchain was originally contained within [[Libbitcoin_Common|libbitcoin]] and contained [[Libbitcoin_Database|libbitcoin-database]].&lt;br /&gt;
&lt;br /&gt;
==Dependencies (Version2)==&lt;br /&gt;
* [http://www.boost.org boost]&lt;br /&gt;
* [https://github.com/bitcoin/secp256k1 secp256k1]&lt;br /&gt;
* [[Libbitcoin_Common|libbitcoin]]&lt;br /&gt;
* [[Libbitcoin_Consensus|libbitcoin-consensus (optional)]]&lt;br /&gt;
&lt;br /&gt;
==Dependencies (Version3)==&lt;br /&gt;
* [http://www.boost.org boost]&lt;br /&gt;
* [https://github.com/bitcoin/secp256k1 secp256k1]&lt;br /&gt;
* [[Libbitcoin_Common|libbitcoin-system]]&lt;br /&gt;
* [[Libbitcoin_Database|libbitcoin-database]]&lt;br /&gt;
* [[Libbitcoin_Consensus|libbitcoin-consensus (optional)]]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Libbitcoin]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
[[Category:Open Source]]&lt;br /&gt;
[[Category:Software‏‎]]&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Libbitcoin_Client&amp;diff=68497</id>
		<title>Libbitcoin Client</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Libbitcoin_Client&amp;diff=68497"/>
		<updated>2021-03-09T01:23:26Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: /* Dependencies (Version3) */ change libbitcoin to libbitcoin-system&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [https://github.com/libbitcoin/libbitcoin-client libbitcoin-client] library provides an abstraction over the low level networking calls required to communicate with [[Bitcoin_Server|Bitcoin Server]] (bs) or other services implementing the Libbitcoin client-server protocol. With few exceptions (fetch-stealth and watch-address), the client is compatible with both [[Obelisk]] and [[Bitcoin_Server|Bitcoin Server]].&lt;br /&gt;
&lt;br /&gt;
==Example (Version3) ==&lt;br /&gt;
 #include &amp;lt;cstddef&amp;gt;&lt;br /&gt;
 #include &amp;lt;iostream&amp;gt;&lt;br /&gt;
 #include &amp;lt;bitcoin/client.hpp&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(int argc, char* argv[])&lt;br /&gt;
 {&lt;br /&gt;
     if (argc &amp;lt; 2)&lt;br /&gt;
     {&lt;br /&gt;
         std::cerr &amp;lt;&amp;lt; &amp;quot;server address required&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
         return 1;&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     // 3 second timeout, 0 retries&lt;br /&gt;
     bc::client::obelisk_client client(3, 0);&lt;br /&gt;
 &lt;br /&gt;
     if (!client.connect({ argv[1] }))&lt;br /&gt;
     {&lt;br /&gt;
         std::cerr &amp;lt;&amp;lt; &amp;quot;connect failed: &amp;quot; &amp;lt;&amp;lt; argv[1] &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
         return 1;&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     const auto on_error = [](const bc::code&amp;amp; ec)&lt;br /&gt;
     {&lt;br /&gt;
         std::cerr &amp;lt;&amp;lt; &amp;quot;fetch failed: &amp;quot; &amp;lt;&amp;lt; ec.message() &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
     };&lt;br /&gt;
  &lt;br /&gt;
     const auto on_done = [](size_t height)&lt;br /&gt;
     {&lt;br /&gt;
         std::cout &amp;lt;&amp;lt; &amp;quot;height: &amp;quot; &amp;lt;&amp;lt; height &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
     };&lt;br /&gt;
 &lt;br /&gt;
     client.blockchain_fetch_last_height(on_error, on_done);&lt;br /&gt;
     client.wait();&lt;br /&gt;
 &lt;br /&gt;
     return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==Example (Version2) ==&lt;br /&gt;
 #include &amp;lt;cstddef&amp;gt;&lt;br /&gt;
 #include &amp;lt;iostream&amp;gt;&lt;br /&gt;
 #include &amp;lt;czmq++/czmqpp.hpp&amp;gt;&lt;br /&gt;
 #include &amp;lt;bitcoin/client.hpp&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(int argc, char* argv[])&lt;br /&gt;
 {&lt;br /&gt;
     czmqpp::context context;&lt;br /&gt;
     czmqpp::socket socket(context, ZMQ_DEALER);&lt;br /&gt;
  &lt;br /&gt;
     if (argc &amp;lt; 2 || socket.connect(argv[1]) &amp;lt; 0)&lt;br /&gt;
     {&lt;br /&gt;
         std::cerr &amp;lt;&amp;lt; &amp;quot;server address required&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
         return 1;&lt;br /&gt;
     }&lt;br /&gt;
  &lt;br /&gt;
     auto stream = std::make_shared&amp;lt;bc::client::socket_stream&amp;gt;(socket);&lt;br /&gt;
     auto message = std::static_pointer_cast&amp;lt;bc::client::message_stream&amp;gt;(stream);&lt;br /&gt;
     auto obelisk = std::make_shared&amp;lt;bc::client::obelisk_codec&amp;gt;(message);&lt;br /&gt;
  &lt;br /&gt;
     const auto error_handler = [](const std::error_code&amp;amp; ec)&lt;br /&gt;
     {&lt;br /&gt;
         std::cerr &amp;lt;&amp;lt; &amp;quot;error: &amp;quot; &amp;lt;&amp;lt; ec.message() &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
     };&lt;br /&gt;
  &lt;br /&gt;
     const auto handler = [](size_t height)&lt;br /&gt;
     {&lt;br /&gt;
         std::cout &amp;lt;&amp;lt; &amp;quot;height: &amp;quot; &amp;lt;&amp;lt; height &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
     };&lt;br /&gt;
  &lt;br /&gt;
     obelisk-&amp;gt;fetch_last_height(error_handler, handler);&lt;br /&gt;
  &lt;br /&gt;
     while (obelisk-&amp;gt;outstanding_call_count())&lt;br /&gt;
     {&lt;br /&gt;
         czmqpp::poller poller;&lt;br /&gt;
         poller.add(socket);&lt;br /&gt;
  &lt;br /&gt;
         const auto delay = static_cast&amp;lt;int&amp;gt;(obelisk-&amp;gt;wakeup().count());&lt;br /&gt;
         if (!delay)&lt;br /&gt;
             break;&lt;br /&gt;
  &lt;br /&gt;
         poller.wait(delay);&lt;br /&gt;
         if (poller.terminated())&lt;br /&gt;
             break;&lt;br /&gt;
  &lt;br /&gt;
         if (!poller.expired())&lt;br /&gt;
             stream-&amp;gt;signal_response(obelisk);&lt;br /&gt;
     }&lt;br /&gt;
  &lt;br /&gt;
     return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==Messaging==&lt;br /&gt;
The client-server protocol (API) is build on [http://zeromq.org ØMQ (aka ZMQ, ZeroMQ and Zero Message Queue)], a &amp;quot;High-speed asynchronous I/O engine, in a tiny library.&amp;quot;&amp;lt;ref&amp;gt;[http://zeromq.org ØMQ - Code Connected]&amp;lt;/ref&amp;gt; ØMQ sits directly on sockets and, &amp;quot;Carries messages across inproc, IPC, TCP, TIPC, multicast.&amp;quot;&amp;lt;ref&amp;gt;[http://zeromq.org ØMQ - Code Connected]&amp;lt;/ref&amp;gt; The API supports the pub-sub pattern&amp;lt;ref&amp;gt;[http://zguide.zeromq.org/page:all#Getting-the-Message-Out ØMQ - Getting the Message Out]&amp;lt;/ref&amp;gt; (e.g. monitoring Bitcoin addresses) and the router-dealer pattern&amp;lt;ref&amp;gt;[http://zguide.zeromq.org/php:chapter3#The-DEALER-to-ROUTER-Combination ØMQ - Advanced Request-Reply Patterns]&amp;lt;/ref&amp;gt; (e.g. requesting stealth transactions).&lt;br /&gt;
&lt;br /&gt;
==Authentication and Encryption==&lt;br /&gt;
The API incorporates [http://curvezmq.org CurveZMQ], &amp;quot;An authentication and encryption protocol for ZeroMQ.&amp;quot;&amp;lt;ref&amp;gt;[http://curvezmq.org CurveZMQ - Security for ZeroMQ]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[http://rfc.zeromq.org/spec:26 CurveZMQ Authentication and Encryption Protoco]&amp;lt;/ref&amp;gt; CurveZMQ is based on [http://curvecp.org CurveCP] and [http://nacl.cr.yp.to NaCl], providing fast, secure elliptic-curve crypto.&amp;lt;ref&amp;gt;[http://cr.yp.to/highspeed/coolnacl-20120725.pdf &amp;quot;The security impact of a new cryptographic library&amp;quot; - Daniel J. Bernstein et. al.]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Private key certificates are self-generated as [http://rfc.zeromq.org/spec:4 ZPL (ZeroMQ Property Language)] encoded files with public and secret key properties. The keys are [http://rfc.zeromq.org/spec:32 Z85 - (ZeroMQ Base-85 Encoding Algorithm)] encoded elliptic curve points. Keys can be fabricated by Bitcoin Explorer (bx)&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-explorer/wiki/bx-cert-new Bitcoin Explorer cert-new command.]&amp;lt;/ref&amp;gt; as follows (version 2).&lt;br /&gt;
&lt;br /&gt;
 $ bx cert-new citizen4.private&lt;br /&gt;
&lt;br /&gt;
 $ cat citizen4.private&lt;br /&gt;
 #   ****  Generated on 2015-05-18 15:09:59 by CZMQ  ****&lt;br /&gt;
 #   ZeroMQ CURVE **Secret** Certificate&lt;br /&gt;
 #   DO NOT PROVIDE THIS FILE TO OTHER USERS nor change its permissions.&lt;br /&gt;
 &lt;br /&gt;
 metadata&lt;br /&gt;
 curve&lt;br /&gt;
     public-key = &amp;quot;Mu^Lc6Y(ebQAzQRGl^XkZKXMpb+]&amp;lt;pnVDZcd:WSv&amp;quot;&lt;br /&gt;
     secret-key = &amp;quot;dCS]l9&amp;lt;(u#4L]4$(6&amp;gt;CqJ]@NX-kvo+I5^&amp;amp;WPHDX+&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Client applications can be configured with the public key of one or more servers&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-explorer/wiki/Configuration-Settings#default-configuration-settings Bitcoin Explorer Configuration Settings]&amp;lt;/ref&amp;gt; and thereby securely authenticate the server that is configured with the corresponding private key certificate&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-server/wiki/Configuration-Settings#configuration-settings Bitcoin Server Configuration Settings]&amp;lt;/ref&amp;gt;. A client with a server&#039;s public key may also create a secure channel with the server. Client applications may be configured with a self-generated private key and thereby securely authenticate to a server that holds a copy of that that client&#039;s public key.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
* The libbitcoin client-server protocol (API) is sometimes referred to as the Obelisk protocol, as this was the name of the first version of the server. In the first version the client API was contained within the libbitcoin-server library, which led to a dependency between client applications such as [[Bitcoin_Explorer|Bitcoin Explorer]] (bx), and the server library.&lt;br /&gt;
&lt;br /&gt;
* In the summer of 2014 William Swanson redesigned the client library as libbitcoin-client. The first release of the independent library shipped as version 2.0 coincident with Bitcoin Explorer 2.0. This was a client to Obelisk, the original server application. As Obelisk was upgraded to Bitcoin Server (version 2.0) the client (version 2.1) was adapted to minor corresponding changes in the client-server API.&lt;br /&gt;
&lt;br /&gt;
==Dependencies (Version2)==&lt;br /&gt;
* [http://www.boost.org boost]&lt;br /&gt;
* [https://github.com/bitcoin/secp256k1 secp256k1]&lt;br /&gt;
* [https://github.com/jedisct1/libsodium sodium]&lt;br /&gt;
* [https://github.com/zeromq/libzmq zmq]&lt;br /&gt;
* [https://github.com/zeromq/czmq czmq]&lt;br /&gt;
* [https://github.com/zeromq/czmqpp czmqpp]&lt;br /&gt;
* [[Libbitcoin_Common|libbitcoin]]&lt;br /&gt;
&lt;br /&gt;
==Dependencies (Version3)==&lt;br /&gt;
* [http://www.boost.org boost]&lt;br /&gt;
* [https://github.com/bitcoin/secp256k1 secp256k1]&lt;br /&gt;
* [https://github.com/zeromq/libzmq zmq]&lt;br /&gt;
* [[Libbitcoin_Protocol|libbitcoin-protocol]]&lt;br /&gt;
* [[Libbitcoin_Common|libbitcoin-system]]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Libbitcoin]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
[[Category:Clients]]&lt;br /&gt;
[[Category:Open Source]]&lt;br /&gt;
[[Category:Software‏‎]]&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Libbitcoin_Build&amp;diff=68496</id>
		<title>Libbitcoin Build</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Libbitcoin_Build&amp;diff=68496"/>
		<updated>2021-03-09T01:22:18Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: /* Example Repository Model */ remove SWIG&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [https://github.com/libbitcoin/libbitcoin-build libbitcoin-build] repository is used by [[Libbitcoin]] maintainers to generate [http://en.wikipedia.org/wiki/GNU_build_system Autotols] and other build artifacts from declarative sources. The purpose of the library is to maintain build quality and consistency across the Libbitcoin repositories without unnecessarily restricting contributions.&lt;br /&gt;
&lt;br /&gt;
==Generated Artifacts==&lt;br /&gt;
 .travis.yml&lt;br /&gt;
 appveyor.yml&lt;br /&gt;
 autogen.sh&lt;br /&gt;
 configure.ac&lt;br /&gt;
 install.sh&lt;br /&gt;
 [library].pc.in&lt;br /&gt;
 [library]_test_runner.sh&lt;br /&gt;
 Makefile.am&lt;br /&gt;
 include/bitcoin/[library].hpp&lt;br /&gt;
 include/bitcoin/[library]/version.hpp&lt;br /&gt;
&lt;br /&gt;
==Design Overview==&lt;br /&gt;
The Libbitcoin build system uses [https://github.com/imatix/gsl GSL] for generation of build artifacts from a declarative XML model of each repository&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-build/blob/master/generate.xml Libbitcoin Declarative Build Model]&amp;lt;/ref&amp;gt;. The system also enumerates source files within each repository in order to generate a master [library].hpp and Makefile.am. Visual Studio projects and solutions are not currently generated&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-build/blob/master/README.md Libbitcoin Build README.md]&amp;lt;/ref&amp;gt;..&lt;br /&gt;
&lt;br /&gt;
==Change Control Process==&lt;br /&gt;
Maintainers generate and push resulting artifacts to each of the other repositories so that contributors have familiar context. Contributors to a given repository can edit the generated artifacts and later maintainers can determine whether to retain changes by incorporating them into the model. This allows less experienced contributors to introduce changes for review without introducing fragility into user-facing build, install and packaging processes.&lt;br /&gt;
&lt;br /&gt;
==Example Repository Model==&lt;br /&gt;
  &amp;lt;repository name=&amp;quot;libbitcoin-consensus&amp;quot; version=&amp;quot;2.0.0&amp;quot; email=&amp;quot;eric@voskuil.org&amp;quot; &amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;package library=&amp;quot;bitcoin-consensus&amp;quot; description=&amp;quot;Libbitcoin Consensus Library&amp;quot; url=&amp;quot;https://github.com/libbitcoin/libbitcoin-consensus&amp;quot; /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;configure&amp;gt;&lt;br /&gt;
      &amp;lt;option type=&amp;quot;with&amp;quot; name=&amp;quot;pkgconfigdir&amp;quot; default=&amp;quot;${libdir}/pkgconfig&amp;quot; example=&amp;quot;=DIR&amp;quot; unprefixed=&amp;quot;true&amp;quot; substitute=&amp;quot;true&amp;quot; description=&amp;quot;Path to pkgconfig directory.&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;option type=&amp;quot;with&amp;quot; name=&amp;quot;tests&amp;quot; default=&amp;quot;yes&amp;quot; conditional=&amp;quot;true&amp;quot; description=&amp;quot;Compile with unit tests.&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;option type=&amp;quot;enable&amp;quot; name=&amp;quot;ndebug&amp;quot; default=&amp;quot;yes&amp;quot; define=&amp;quot;NDEBUG&amp;quot; description=&amp;quot;Compile without debug assertions.&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;option type=&amp;quot;enable&amp;quot; name=&amp;quot;shared&amp;quot; default=&amp;quot;yes&amp;quot; define=&amp;quot;BOOST_TEST_DYN_LINK&amp;quot; inherited=&amp;quot;true&amp;quot; description=&amp;quot;Required for dynamically linking boost test.&amp;quot; /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
      &amp;lt;dependency name=&amp;quot;boost&amp;quot; compiler=&amp;quot;gcc&amp;quot; version=&amp;quot;1.55.0&amp;quot; option=&amp;quot;tests&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;dependency name=&amp;quot;boost&amp;quot; compiler=&amp;quot;clang&amp;quot; version=&amp;quot;1.56.0&amp;quot; option=&amp;quot;tests&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;dependency name=&amp;quot;boost_unit_test_framework&amp;quot; option=&amp;quot;tests&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;dependency name=&amp;quot;secp256k1&amp;quot; version=&amp;quot;0.0.1&amp;quot; /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
      &amp;lt;flag name=&amp;quot;Wall&amp;quot; comment=&amp;quot;Warn on all stuff.&amp;quot; context=&amp;quot;c&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;flag name=&amp;quot;Wextra&amp;quot; comment=&amp;quot;Warn on extra stuff.&amp;quot; context=&amp;quot;c&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;flag name=&amp;quot;Wpedantic&amp;quot; alternate=&amp;quot;pedantic&amp;quot; comment=&amp;quot;Be really annoying.&amp;quot; context=&amp;quot;c&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;flag name=&amp;quot;Wno-missing-braces&amp;quot; comment=&amp;quot;Conform to style.&amp;quot; context=&amp;quot;c++&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;flag name=&amp;quot;Wno-mismatched-tags&amp;quot; compiler=&amp;quot;clang&amp;quot; comment=&amp;quot;Conflict in stdlib under clang.&amp;quot; context=&amp;quot;c++&amp;quot; /&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
      &amp;lt;flag name=&amp;quot;fstack-protector&amp;quot; comment=&amp;quot;Protect stack.&amp;quot; context=&amp;quot;link&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;flag name=&amp;quot;fstack-protector-all&amp;quot; comment=&amp;quot;Protect stack comprehensively.&amp;quot; context=&amp;quot;link&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;flag name=&amp;quot;fvisibility-hidden&amp;quot; compiler=&amp;quot;gcc&amp;quot; comment=&amp;quot;Hide internal functions from external libs.&amp;quot; context=&amp;quot;c++&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;flag name=&amp;quot;fvisibility-inlines-hidden&amp;quot; compiler=&amp;quot;gcc&amp;quot; comment=&amp;quot;Hide inlines from external libs.&amp;quot; context=&amp;quot;c++&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/configure&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;make&amp;gt;&lt;br /&gt;
      &amp;lt;product prefix=&amp;quot;pkgconfig&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;file path=&amp;quot;libbitcoin-consensus.pc&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/product&amp;gt;&lt;br /&gt;
      &amp;lt;product prefix=&amp;quot;doc&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;file path=&amp;quot;AUTHORS&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;file path=&amp;quot;COPYING&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;file path=&amp;quot;ChangeLog&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;file path=&amp;quot;INSTALL&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;file path=&amp;quot;NEWS&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;file path=&amp;quot;README&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/product&amp;gt;&lt;br /&gt;
      &amp;lt;product prefix=&amp;quot;lib&amp;quot; path=&amp;quot;src&amp;quot; name=&amp;quot;bitcoin-consensus&amp;quot; uuid=&amp;quot;6c521d95-00ce-4120-97d1-430e2870d738&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;library name=&amp;quot;secp256k1&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;headers path=&amp;quot;include&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;headers path=&amp;quot;src&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;headers path=&amp;quot;src/clone&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;sources path=&amp;quot;src&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/product&amp;gt;&lt;br /&gt;
      &amp;lt;product prefix=&amp;quot;bin&amp;quot; path=&amp;quot;test&amp;quot; name=&amp;quot;libbitcoin_consensus_test&amp;quot; test=&amp;quot;true&amp;quot; option=&amp;quot;tests&amp;quot; uuid=&amp;quot;d282ef8c-6217-483c-ac47-864b2fba50fd&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;runner/&amp;gt;&lt;br /&gt;
        &amp;lt;library name=&amp;quot;bitcoin-consensus&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;library name=&amp;quot;boost&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;library name=&amp;quot;boost_unit_test_framework&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;headers path=&amp;quot;include&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;headers path=&amp;quot;src&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;headers path=&amp;quot;src/clone&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;sources path=&amp;quot;test&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/product&amp;gt;&lt;br /&gt;
      &amp;lt;product prefix=&amp;quot;include&amp;quot; container=&amp;quot;bitcoin&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;files path=&amp;quot;include/bitcoin&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/product&amp;gt;&lt;br /&gt;
    &amp;lt;/make&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;install&amp;gt;&lt;br /&gt;
      &amp;lt;build name=&amp;quot;boost&amp;quot; version=&amp;quot;1.56.0&amp;quot; parallel=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--with-system&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--with-test&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/build&amp;gt;&lt;br /&gt;
      &amp;lt;build name=&amp;quot;secp256k1&amp;quot; github=&amp;quot;libbitcoin&amp;quot; repository=&amp;quot;secp256k1&amp;quot; branch=&amp;quot;version4&amp;quot; parallel=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--disable-tests&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--enable-module-recovery&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/build&amp;gt;&lt;br /&gt;
      &amp;lt;build name=&amp;quot;bitcoin-consensus&amp;quot; github=&amp;quot;libbitcoin&amp;quot; repository=&amp;quot;libbitcoin-consensus&amp;quot; branch=&amp;quot;version2&amp;quot; parallel=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;${with_boost}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;${with_pkgconfigdir}&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/build&amp;gt;&lt;br /&gt;
    &amp;lt;/install&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;matrix&amp;gt;&lt;br /&gt;
      &amp;lt;job system=&amp;quot;osx&amp;quot; compiler=&amp;quot;clang&amp;quot; link=&amp;quot;static&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--disable-shared&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--build-boost&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--prefix=$TRAVIS_BUILD_DIR/my-prefix&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/job&amp;gt;&lt;br /&gt;
      &amp;lt;job system=&amp;quot;linux&amp;quot; compiler=&amp;quot;clang&amp;quot; link=&amp;quot;static&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--disable-shared&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--build-boost&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--prefix=$TRAVIS_BUILD_DIR/my-prefix&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;CFLAGS=&#039;-Os&#039;&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;CXXFLAGS=&#039;-Os&#039;&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/job&amp;gt;&lt;br /&gt;
      &amp;lt;job system=&amp;quot;linux&amp;quot; compiler=&amp;quot;gcc&amp;quot; link=&amp;quot;static&amp;quot; coverage=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;exclude path=&amp;quot;clone/*&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--disable-shared&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--build-boost&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--build-dir=my-build&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--prefix=$TRAVIS_BUILD_DIR/my-prefix&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;CFLAGS=&#039;-O0 -g --coverage&#039;&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;CXXFLAGS=&#039;-O0 -g --coverage&#039;&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/job&amp;gt;&lt;br /&gt;
      &amp;lt;job system=&amp;quot;osx&amp;quot; compiler=&amp;quot;clang&amp;quot; link=&amp;quot;dynamic&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;get name=&amp;quot;boost&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/job&amp;gt;&lt;br /&gt;
      &amp;lt;job system=&amp;quot;linux&amp;quot; compiler=&amp;quot;clang&amp;quot; link=&amp;quot;dynamic&amp;quot; sudo=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;!-- This version isn&#039;t available in the repository. --&amp;gt;&lt;br /&gt;
        &amp;lt;!--&amp;lt;get name=&amp;quot;boost1.56&amp;quot; /&amp;gt;--&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--build-boost&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--disable-ndebug&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--disable-static&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;CFLAGS=&#039;-Os&#039;&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;CXXFLAGS=&#039;-Os&#039;&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/job&amp;gt;&lt;br /&gt;
      &amp;lt;job system=&amp;quot;linux&amp;quot; compiler=&amp;quot;gcc&amp;quot; link=&amp;quot;dynamic&amp;quot; sudo=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--disable-static&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--build-boost&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;CFLAGS=&#039;-Os -s&#039;&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;CXXFLAGS=&#039;-Os -s&#039;&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/job&amp;gt;&lt;br /&gt;
    &amp;lt;/matrix&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
  &amp;lt;/repository&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Dependencies==&lt;br /&gt;
* [https://github.com/imatix/gsl GSL/4.1 - Universal Code Generator]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Libbitcoin]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Libbitcoin_Build&amp;diff=68495</id>
		<title>Libbitcoin Build</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Libbitcoin_Build&amp;diff=68495"/>
		<updated>2021-03-09T01:19:29Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: /* Design Overview */ remove SWIG&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [https://github.com/libbitcoin/libbitcoin-build libbitcoin-build] repository is used by [[Libbitcoin]] maintainers to generate [http://en.wikipedia.org/wiki/GNU_build_system Autotols] and other build artifacts from declarative sources. The purpose of the library is to maintain build quality and consistency across the Libbitcoin repositories without unnecessarily restricting contributions.&lt;br /&gt;
&lt;br /&gt;
==Generated Artifacts==&lt;br /&gt;
 .travis.yml&lt;br /&gt;
 appveyor.yml&lt;br /&gt;
 autogen.sh&lt;br /&gt;
 configure.ac&lt;br /&gt;
 install.sh&lt;br /&gt;
 [library].pc.in&lt;br /&gt;
 [library]_test_runner.sh&lt;br /&gt;
 Makefile.am&lt;br /&gt;
 include/bitcoin/[library].hpp&lt;br /&gt;
 include/bitcoin/[library]/version.hpp&lt;br /&gt;
&lt;br /&gt;
==Design Overview==&lt;br /&gt;
The Libbitcoin build system uses [https://github.com/imatix/gsl GSL] for generation of build artifacts from a declarative XML model of each repository&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-build/blob/master/generate.xml Libbitcoin Declarative Build Model]&amp;lt;/ref&amp;gt;. The system also enumerates source files within each repository in order to generate a master [library].hpp and Makefile.am. Visual Studio projects and solutions are not currently generated&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-build/blob/master/README.md Libbitcoin Build README.md]&amp;lt;/ref&amp;gt;..&lt;br /&gt;
&lt;br /&gt;
==Change Control Process==&lt;br /&gt;
Maintainers generate and push resulting artifacts to each of the other repositories so that contributors have familiar context. Contributors to a given repository can edit the generated artifacts and later maintainers can determine whether to retain changes by incorporating them into the model. This allows less experienced contributors to introduce changes for review without introducing fragility into user-facing build, install and packaging processes.&lt;br /&gt;
&lt;br /&gt;
==Example Repository Model==&lt;br /&gt;
  &amp;lt;repository name=&amp;quot;libbitcoin-consensus&amp;quot; version=&amp;quot;2.0.0&amp;quot; email=&amp;quot;eric@voskuil.org&amp;quot; &amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;package library=&amp;quot;bitcoin-consensus&amp;quot; description=&amp;quot;Libbitcoin Consensus Library&amp;quot; url=&amp;quot;https://github.com/libbitcoin/libbitcoin-consensus&amp;quot; /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;configure&amp;gt;&lt;br /&gt;
      &amp;lt;option type=&amp;quot;with&amp;quot; name=&amp;quot;pkgconfigdir&amp;quot; default=&amp;quot;${libdir}/pkgconfig&amp;quot; example=&amp;quot;=DIR&amp;quot; unprefixed=&amp;quot;true&amp;quot; substitute=&amp;quot;true&amp;quot; description=&amp;quot;Path to pkgconfig directory.&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;option type=&amp;quot;with&amp;quot; name=&amp;quot;tests&amp;quot; default=&amp;quot;yes&amp;quot; conditional=&amp;quot;true&amp;quot; description=&amp;quot;Compile with unit tests.&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;option type=&amp;quot;with&amp;quot; name=&amp;quot;java&amp;quot; default=&amp;quot;no&amp;quot; conditional=&amp;quot;true&amp;quot; description=&amp;quot;Compile the Java bindings.&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;option type=&amp;quot;with&amp;quot; name=&amp;quot;python&amp;quot; default=&amp;quot;no&amp;quot; conditional=&amp;quot;true&amp;quot; description=&amp;quot;Compile the Python bindings.&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;option type=&amp;quot;enable&amp;quot; name=&amp;quot;ndebug&amp;quot; default=&amp;quot;yes&amp;quot; define=&amp;quot;NDEBUG&amp;quot; description=&amp;quot;Compile without debug assertions.&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;option type=&amp;quot;enable&amp;quot; name=&amp;quot;shared&amp;quot; default=&amp;quot;yes&amp;quot; define=&amp;quot;BOOST_TEST_DYN_LINK&amp;quot; inherited=&amp;quot;true&amp;quot; description=&amp;quot;Required for dynamically linking boost test.&amp;quot; /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
      &amp;lt;dependency name=&amp;quot;boost&amp;quot; compiler=&amp;quot;gcc&amp;quot; version=&amp;quot;1.55.0&amp;quot; option=&amp;quot;tests&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;dependency name=&amp;quot;boost&amp;quot; compiler=&amp;quot;clang&amp;quot; version=&amp;quot;1.56.0&amp;quot; option=&amp;quot;tests&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;dependency name=&amp;quot;boost_unit_test_framework&amp;quot; option=&amp;quot;tests&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;dependency name=&amp;quot;secp256k1&amp;quot; version=&amp;quot;0.0.1&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;dependency name=&amp;quot;java&amp;quot; option=&amp;quot;java&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;dependency name=&amp;quot;python&amp;quot; version=&amp;quot;2.7&amp;quot; option=&amp;quot;python&amp;quot; /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
      &amp;lt;flag name=&amp;quot;Wall&amp;quot; comment=&amp;quot;Warn on all stuff.&amp;quot; context=&amp;quot;c&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;flag name=&amp;quot;Wextra&amp;quot; comment=&amp;quot;Warn on extra stuff.&amp;quot; context=&amp;quot;c&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;flag name=&amp;quot;Wpedantic&amp;quot; alternate=&amp;quot;pedantic&amp;quot; comment=&amp;quot;Be really annoying.&amp;quot; context=&amp;quot;c&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;flag name=&amp;quot;Wno-missing-braces&amp;quot; comment=&amp;quot;Conform to style.&amp;quot; context=&amp;quot;c++&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;flag name=&amp;quot;Wno-mismatched-tags&amp;quot; compiler=&amp;quot;clang&amp;quot; comment=&amp;quot;Conflict in stdlib under clang.&amp;quot; context=&amp;quot;c++&amp;quot; /&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
      &amp;lt;flag name=&amp;quot;fstack-protector&amp;quot; comment=&amp;quot;Protect stack.&amp;quot; context=&amp;quot;link&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;flag name=&amp;quot;fstack-protector-all&amp;quot; comment=&amp;quot;Protect stack comprehensively.&amp;quot; context=&amp;quot;link&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;flag name=&amp;quot;fvisibility-hidden&amp;quot; compiler=&amp;quot;gcc&amp;quot; comment=&amp;quot;Hide internal functions from external libs.&amp;quot; context=&amp;quot;c++&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;flag name=&amp;quot;fvisibility-inlines-hidden&amp;quot; compiler=&amp;quot;gcc&amp;quot; comment=&amp;quot;Hide inlines from external libs.&amp;quot; context=&amp;quot;c++&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/configure&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;make&amp;gt;&lt;br /&gt;
      &amp;lt;product prefix=&amp;quot;pkgconfig&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;file path=&amp;quot;libbitcoin-consensus.pc&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/product&amp;gt;&lt;br /&gt;
      &amp;lt;product prefix=&amp;quot;doc&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;file path=&amp;quot;AUTHORS&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;file path=&amp;quot;COPYING&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;file path=&amp;quot;ChangeLog&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;file path=&amp;quot;INSTALL&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;file path=&amp;quot;NEWS&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;file path=&amp;quot;README&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/product&amp;gt;&lt;br /&gt;
      &amp;lt;product prefix=&amp;quot;lib&amp;quot; path=&amp;quot;src&amp;quot; name=&amp;quot;bitcoin-consensus&amp;quot; uuid=&amp;quot;6c521d95-00ce-4120-97d1-430e2870d738&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;library name=&amp;quot;secp256k1&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;headers path=&amp;quot;include&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;headers path=&amp;quot;src&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;headers path=&amp;quot;src/clone&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;sources path=&amp;quot;src&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/product&amp;gt;&lt;br /&gt;
      &amp;lt;product prefix=&amp;quot;bin&amp;quot; path=&amp;quot;test&amp;quot; name=&amp;quot;libbitcoin_consensus_test&amp;quot; test=&amp;quot;true&amp;quot; option=&amp;quot;tests&amp;quot; uuid=&amp;quot;d282ef8c-6217-483c-ac47-864b2fba50fd&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;runner/&amp;gt;&lt;br /&gt;
        &amp;lt;library name=&amp;quot;bitcoin-consensus&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;library name=&amp;quot;boost&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;library name=&amp;quot;boost_unit_test_framework&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;headers path=&amp;quot;include&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;headers path=&amp;quot;src&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;headers path=&amp;quot;src/clone&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;sources path=&amp;quot;test&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/product&amp;gt;&lt;br /&gt;
      &amp;lt;product prefix=&amp;quot;include&amp;quot; container=&amp;quot;bitcoin&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;files path=&amp;quot;include/bitcoin&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/product&amp;gt;&lt;br /&gt;
      &amp;lt;product prefix=&amp;quot;lib&amp;quot; path=&amp;quot;bindings/java/wrap&amp;quot; name=&amp;quot;bitcoin-consensus-jni&amp;quot; option=&amp;quot;java&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;library name=&amp;quot;bitcoin-consensus&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;library name=&amp;quot;java&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;headers path=&amp;quot;include&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;sources path=&amp;quot;bindings/java/wrap&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/product&amp;gt;&lt;br /&gt;
      &amp;lt;product prefix=&amp;quot;javaexec&amp;quot; distribute=&amp;quot;true&amp;quot; install=&amp;quot;false&amp;quot; option=&amp;quot;java&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;files path=&amp;quot;bindings/java/proxy/org/libbitcoin/consensus&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/product&amp;gt;&lt;br /&gt;
      &amp;lt;product prefix=&amp;quot;jarexec&amp;quot; distribute=&amp;quot;false&amp;quot; install=&amp;quot;true&amp;quot; option=&amp;quot;java&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;file path=&amp;quot;org.libbitcoin.consensus-${VERSION}.jar&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/product&amp;gt;&lt;br /&gt;
      &amp;lt;product prefix=&amp;quot;pkgpyexec&amp;quot; path=&amp;quot;bindings/python/wrap&amp;quot; name=&amp;quot;_bitcoin-consensus&amp;quot; unprefixed=&amp;quot;true&amp;quot; option=&amp;quot;python&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;library name=&amp;quot;bitcoin-consensus&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;library name=&amp;quot;python&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;headers path=&amp;quot;include&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;sources path=&amp;quot;bindings/python/wrap&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/product&amp;gt;&lt;br /&gt;
      &amp;lt;product prefix=&amp;quot;pkgpython&amp;quot; option=&amp;quot;python&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;files path=&amp;quot;bindings/python/proxy&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/product&amp;gt;&lt;br /&gt;
    &amp;lt;/make&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;install&amp;gt;&lt;br /&gt;
      &amp;lt;build name=&amp;quot;boost&amp;quot; version=&amp;quot;1.56.0&amp;quot; parallel=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--with-system&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--with-test&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/build&amp;gt;&lt;br /&gt;
      &amp;lt;build name=&amp;quot;secp256k1&amp;quot; github=&amp;quot;libbitcoin&amp;quot; repository=&amp;quot;secp256k1&amp;quot; branch=&amp;quot;version4&amp;quot; parallel=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--disable-tests&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--enable-module-recovery&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/build&amp;gt;&lt;br /&gt;
      &amp;lt;build name=&amp;quot;bitcoin-consensus&amp;quot; github=&amp;quot;libbitcoin&amp;quot; repository=&amp;quot;libbitcoin-consensus&amp;quot; branch=&amp;quot;version2&amp;quot; parallel=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;${with_boost}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;${with_pkgconfigdir}&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/build&amp;gt;&lt;br /&gt;
    &amp;lt;/install&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;matrix&amp;gt;&lt;br /&gt;
      &amp;lt;job system=&amp;quot;osx&amp;quot; compiler=&amp;quot;clang&amp;quot; link=&amp;quot;static&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;get name=&amp;quot;swig&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--with-java&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--disable-shared&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--build-boost&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--prefix=$TRAVIS_BUILD_DIR/my-prefix&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/job&amp;gt;&lt;br /&gt;
      &amp;lt;job system=&amp;quot;linux&amp;quot; compiler=&amp;quot;clang&amp;quot; link=&amp;quot;static&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;get name=&amp;quot;swig&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--with-python&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--disable-shared&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--build-boost&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--prefix=$TRAVIS_BUILD_DIR/my-prefix&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;CFLAGS=&#039;-Os&#039;&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;CXXFLAGS=&#039;-Os&#039;&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/job&amp;gt;&lt;br /&gt;
      &amp;lt;job system=&amp;quot;linux&amp;quot; compiler=&amp;quot;gcc&amp;quot; link=&amp;quot;static&amp;quot; coverage=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;exclude path=&amp;quot;clone/*&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;get name=&amp;quot;swig&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--with-java&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--disable-shared&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--build-boost&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--build-dir=my-build&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--prefix=$TRAVIS_BUILD_DIR/my-prefix&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;CFLAGS=&#039;-O0 -g --coverage&#039;&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;CXXFLAGS=&#039;-O0 -g --coverage&#039;&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/job&amp;gt;&lt;br /&gt;
      &amp;lt;job system=&amp;quot;osx&amp;quot; compiler=&amp;quot;clang&amp;quot; link=&amp;quot;dynamic&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;get name=&amp;quot;boost&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;get name=&amp;quot;swig&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--with-python&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/job&amp;gt;&lt;br /&gt;
      &amp;lt;job system=&amp;quot;linux&amp;quot; compiler=&amp;quot;clang&amp;quot; link=&amp;quot;dynamic&amp;quot; sudo=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;!-- This version isn&#039;t available in the repository. --&amp;gt;&lt;br /&gt;
        &amp;lt;!--&amp;lt;get name=&amp;quot;boost1.56&amp;quot; /&amp;gt;--&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--build-boost&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--disable-ndebug&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--disable-static&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;CFLAGS=&#039;-Os&#039;&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;CXXFLAGS=&#039;-Os&#039;&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/job&amp;gt;&lt;br /&gt;
      &amp;lt;job system=&amp;quot;linux&amp;quot; compiler=&amp;quot;gcc&amp;quot; link=&amp;quot;dynamic&amp;quot; sudo=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;get name=&amp;quot;swig&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--with-java&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--with-python&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--disable-static&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--build-boost&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;CFLAGS=&#039;-Os -s&#039;&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;CXXFLAGS=&#039;-Os -s&#039;&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/job&amp;gt;&lt;br /&gt;
    &amp;lt;/matrix&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
  &amp;lt;/repository&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Dependencies==&lt;br /&gt;
* [https://github.com/imatix/gsl GSL/4.1 - Universal Code Generator]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Libbitcoin]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Libbitcoin_Build&amp;diff=68494</id>
		<title>Libbitcoin Build</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Libbitcoin_Build&amp;diff=68494"/>
		<updated>2021-03-09T01:19:04Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: /* Dependencies */ remove SWIG&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [https://github.com/libbitcoin/libbitcoin-build libbitcoin-build] repository is used by [[Libbitcoin]] maintainers to generate [http://en.wikipedia.org/wiki/GNU_build_system Autotols] and other build artifacts from declarative sources. The purpose of the library is to maintain build quality and consistency across the Libbitcoin repositories without unnecessarily restricting contributions.&lt;br /&gt;
&lt;br /&gt;
==Generated Artifacts==&lt;br /&gt;
 .travis.yml&lt;br /&gt;
 appveyor.yml&lt;br /&gt;
 autogen.sh&lt;br /&gt;
 configure.ac&lt;br /&gt;
 install.sh&lt;br /&gt;
 [library].pc.in&lt;br /&gt;
 [library]_test_runner.sh&lt;br /&gt;
 Makefile.am&lt;br /&gt;
 include/bitcoin/[library].hpp&lt;br /&gt;
 include/bitcoin/[library]/version.hpp&lt;br /&gt;
&lt;br /&gt;
==Design Overview==&lt;br /&gt;
The Libbitcoin build system uses [https://github.com/imatix/gsl GSL] for generation of build artifacts from a declarative XML model of each repository&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-build/blob/master/generate.xml Libbitcoin Declarative Build Model]&amp;lt;/ref&amp;gt;. The system also enumerates source files within each repository in order to generate a master [library].hpp and Makefile.am. Visual Studio projects and solutions are not currently generated&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-build/blob/master/README.md Libbitcoin Build README.md]&amp;lt;/ref&amp;gt;. Scripts invoking [http://www.swig.org SWIG] are used to generate source code for Java and Python bindings&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-build/blob/master/templates/gsl.bindings.sh SWIG Binding Generation Script Generator]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Change Control Process==&lt;br /&gt;
Maintainers generate and push resulting artifacts to each of the other repositories so that contributors have familiar context. Contributors to a given repository can edit the generated artifacts and later maintainers can determine whether to retain changes by incorporating them into the model. This allows less experienced contributors to introduce changes for review without introducing fragility into user-facing build, install and packaging processes.&lt;br /&gt;
&lt;br /&gt;
==Example Repository Model==&lt;br /&gt;
  &amp;lt;repository name=&amp;quot;libbitcoin-consensus&amp;quot; version=&amp;quot;2.0.0&amp;quot; email=&amp;quot;eric@voskuil.org&amp;quot; &amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;package library=&amp;quot;bitcoin-consensus&amp;quot; description=&amp;quot;Libbitcoin Consensus Library&amp;quot; url=&amp;quot;https://github.com/libbitcoin/libbitcoin-consensus&amp;quot; /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;configure&amp;gt;&lt;br /&gt;
      &amp;lt;option type=&amp;quot;with&amp;quot; name=&amp;quot;pkgconfigdir&amp;quot; default=&amp;quot;${libdir}/pkgconfig&amp;quot; example=&amp;quot;=DIR&amp;quot; unprefixed=&amp;quot;true&amp;quot; substitute=&amp;quot;true&amp;quot; description=&amp;quot;Path to pkgconfig directory.&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;option type=&amp;quot;with&amp;quot; name=&amp;quot;tests&amp;quot; default=&amp;quot;yes&amp;quot; conditional=&amp;quot;true&amp;quot; description=&amp;quot;Compile with unit tests.&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;option type=&amp;quot;with&amp;quot; name=&amp;quot;java&amp;quot; default=&amp;quot;no&amp;quot; conditional=&amp;quot;true&amp;quot; description=&amp;quot;Compile the Java bindings.&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;option type=&amp;quot;with&amp;quot; name=&amp;quot;python&amp;quot; default=&amp;quot;no&amp;quot; conditional=&amp;quot;true&amp;quot; description=&amp;quot;Compile the Python bindings.&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;option type=&amp;quot;enable&amp;quot; name=&amp;quot;ndebug&amp;quot; default=&amp;quot;yes&amp;quot; define=&amp;quot;NDEBUG&amp;quot; description=&amp;quot;Compile without debug assertions.&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;option type=&amp;quot;enable&amp;quot; name=&amp;quot;shared&amp;quot; default=&amp;quot;yes&amp;quot; define=&amp;quot;BOOST_TEST_DYN_LINK&amp;quot; inherited=&amp;quot;true&amp;quot; description=&amp;quot;Required for dynamically linking boost test.&amp;quot; /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
      &amp;lt;dependency name=&amp;quot;boost&amp;quot; compiler=&amp;quot;gcc&amp;quot; version=&amp;quot;1.55.0&amp;quot; option=&amp;quot;tests&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;dependency name=&amp;quot;boost&amp;quot; compiler=&amp;quot;clang&amp;quot; version=&amp;quot;1.56.0&amp;quot; option=&amp;quot;tests&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;dependency name=&amp;quot;boost_unit_test_framework&amp;quot; option=&amp;quot;tests&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;dependency name=&amp;quot;secp256k1&amp;quot; version=&amp;quot;0.0.1&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;dependency name=&amp;quot;java&amp;quot; option=&amp;quot;java&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;dependency name=&amp;quot;python&amp;quot; version=&amp;quot;2.7&amp;quot; option=&amp;quot;python&amp;quot; /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
      &amp;lt;flag name=&amp;quot;Wall&amp;quot; comment=&amp;quot;Warn on all stuff.&amp;quot; context=&amp;quot;c&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;flag name=&amp;quot;Wextra&amp;quot; comment=&amp;quot;Warn on extra stuff.&amp;quot; context=&amp;quot;c&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;flag name=&amp;quot;Wpedantic&amp;quot; alternate=&amp;quot;pedantic&amp;quot; comment=&amp;quot;Be really annoying.&amp;quot; context=&amp;quot;c&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;flag name=&amp;quot;Wno-missing-braces&amp;quot; comment=&amp;quot;Conform to style.&amp;quot; context=&amp;quot;c++&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;flag name=&amp;quot;Wno-mismatched-tags&amp;quot; compiler=&amp;quot;clang&amp;quot; comment=&amp;quot;Conflict in stdlib under clang.&amp;quot; context=&amp;quot;c++&amp;quot; /&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
      &amp;lt;flag name=&amp;quot;fstack-protector&amp;quot; comment=&amp;quot;Protect stack.&amp;quot; context=&amp;quot;link&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;flag name=&amp;quot;fstack-protector-all&amp;quot; comment=&amp;quot;Protect stack comprehensively.&amp;quot; context=&amp;quot;link&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;flag name=&amp;quot;fvisibility-hidden&amp;quot; compiler=&amp;quot;gcc&amp;quot; comment=&amp;quot;Hide internal functions from external libs.&amp;quot; context=&amp;quot;c++&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;flag name=&amp;quot;fvisibility-inlines-hidden&amp;quot; compiler=&amp;quot;gcc&amp;quot; comment=&amp;quot;Hide inlines from external libs.&amp;quot; context=&amp;quot;c++&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/configure&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;make&amp;gt;&lt;br /&gt;
      &amp;lt;product prefix=&amp;quot;pkgconfig&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;file path=&amp;quot;libbitcoin-consensus.pc&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/product&amp;gt;&lt;br /&gt;
      &amp;lt;product prefix=&amp;quot;doc&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;file path=&amp;quot;AUTHORS&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;file path=&amp;quot;COPYING&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;file path=&amp;quot;ChangeLog&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;file path=&amp;quot;INSTALL&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;file path=&amp;quot;NEWS&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;file path=&amp;quot;README&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/product&amp;gt;&lt;br /&gt;
      &amp;lt;product prefix=&amp;quot;lib&amp;quot; path=&amp;quot;src&amp;quot; name=&amp;quot;bitcoin-consensus&amp;quot; uuid=&amp;quot;6c521d95-00ce-4120-97d1-430e2870d738&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;library name=&amp;quot;secp256k1&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;headers path=&amp;quot;include&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;headers path=&amp;quot;src&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;headers path=&amp;quot;src/clone&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;sources path=&amp;quot;src&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/product&amp;gt;&lt;br /&gt;
      &amp;lt;product prefix=&amp;quot;bin&amp;quot; path=&amp;quot;test&amp;quot; name=&amp;quot;libbitcoin_consensus_test&amp;quot; test=&amp;quot;true&amp;quot; option=&amp;quot;tests&amp;quot; uuid=&amp;quot;d282ef8c-6217-483c-ac47-864b2fba50fd&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;runner/&amp;gt;&lt;br /&gt;
        &amp;lt;library name=&amp;quot;bitcoin-consensus&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;library name=&amp;quot;boost&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;library name=&amp;quot;boost_unit_test_framework&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;headers path=&amp;quot;include&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;headers path=&amp;quot;src&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;headers path=&amp;quot;src/clone&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;sources path=&amp;quot;test&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/product&amp;gt;&lt;br /&gt;
      &amp;lt;product prefix=&amp;quot;include&amp;quot; container=&amp;quot;bitcoin&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;files path=&amp;quot;include/bitcoin&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/product&amp;gt;&lt;br /&gt;
      &amp;lt;product prefix=&amp;quot;lib&amp;quot; path=&amp;quot;bindings/java/wrap&amp;quot; name=&amp;quot;bitcoin-consensus-jni&amp;quot; option=&amp;quot;java&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;library name=&amp;quot;bitcoin-consensus&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;library name=&amp;quot;java&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;headers path=&amp;quot;include&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;sources path=&amp;quot;bindings/java/wrap&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/product&amp;gt;&lt;br /&gt;
      &amp;lt;product prefix=&amp;quot;javaexec&amp;quot; distribute=&amp;quot;true&amp;quot; install=&amp;quot;false&amp;quot; option=&amp;quot;java&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;files path=&amp;quot;bindings/java/proxy/org/libbitcoin/consensus&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/product&amp;gt;&lt;br /&gt;
      &amp;lt;product prefix=&amp;quot;jarexec&amp;quot; distribute=&amp;quot;false&amp;quot; install=&amp;quot;true&amp;quot; option=&amp;quot;java&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;file path=&amp;quot;org.libbitcoin.consensus-${VERSION}.jar&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/product&amp;gt;&lt;br /&gt;
      &amp;lt;product prefix=&amp;quot;pkgpyexec&amp;quot; path=&amp;quot;bindings/python/wrap&amp;quot; name=&amp;quot;_bitcoin-consensus&amp;quot; unprefixed=&amp;quot;true&amp;quot; option=&amp;quot;python&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;library name=&amp;quot;bitcoin-consensus&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;library name=&amp;quot;python&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;headers path=&amp;quot;include&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;sources path=&amp;quot;bindings/python/wrap&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/product&amp;gt;&lt;br /&gt;
      &amp;lt;product prefix=&amp;quot;pkgpython&amp;quot; option=&amp;quot;python&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;files path=&amp;quot;bindings/python/proxy&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/product&amp;gt;&lt;br /&gt;
    &amp;lt;/make&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;install&amp;gt;&lt;br /&gt;
      &amp;lt;build name=&amp;quot;boost&amp;quot; version=&amp;quot;1.56.0&amp;quot; parallel=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--with-system&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--with-test&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/build&amp;gt;&lt;br /&gt;
      &amp;lt;build name=&amp;quot;secp256k1&amp;quot; github=&amp;quot;libbitcoin&amp;quot; repository=&amp;quot;secp256k1&amp;quot; branch=&amp;quot;version4&amp;quot; parallel=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--disable-tests&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--enable-module-recovery&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/build&amp;gt;&lt;br /&gt;
      &amp;lt;build name=&amp;quot;bitcoin-consensus&amp;quot; github=&amp;quot;libbitcoin&amp;quot; repository=&amp;quot;libbitcoin-consensus&amp;quot; branch=&amp;quot;version2&amp;quot; parallel=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;${with_boost}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;${with_pkgconfigdir}&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/build&amp;gt;&lt;br /&gt;
    &amp;lt;/install&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;matrix&amp;gt;&lt;br /&gt;
      &amp;lt;job system=&amp;quot;osx&amp;quot; compiler=&amp;quot;clang&amp;quot; link=&amp;quot;static&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;get name=&amp;quot;swig&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--with-java&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--disable-shared&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--build-boost&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--prefix=$TRAVIS_BUILD_DIR/my-prefix&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/job&amp;gt;&lt;br /&gt;
      &amp;lt;job system=&amp;quot;linux&amp;quot; compiler=&amp;quot;clang&amp;quot; link=&amp;quot;static&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;get name=&amp;quot;swig&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--with-python&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--disable-shared&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--build-boost&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--prefix=$TRAVIS_BUILD_DIR/my-prefix&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;CFLAGS=&#039;-Os&#039;&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;CXXFLAGS=&#039;-Os&#039;&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/job&amp;gt;&lt;br /&gt;
      &amp;lt;job system=&amp;quot;linux&amp;quot; compiler=&amp;quot;gcc&amp;quot; link=&amp;quot;static&amp;quot; coverage=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;exclude path=&amp;quot;clone/*&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;get name=&amp;quot;swig&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--with-java&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--disable-shared&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--build-boost&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--build-dir=my-build&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--prefix=$TRAVIS_BUILD_DIR/my-prefix&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;CFLAGS=&#039;-O0 -g --coverage&#039;&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;CXXFLAGS=&#039;-O0 -g --coverage&#039;&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/job&amp;gt;&lt;br /&gt;
      &amp;lt;job system=&amp;quot;osx&amp;quot; compiler=&amp;quot;clang&amp;quot; link=&amp;quot;dynamic&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;get name=&amp;quot;boost&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;get name=&amp;quot;swig&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--with-python&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/job&amp;gt;&lt;br /&gt;
      &amp;lt;job system=&amp;quot;linux&amp;quot; compiler=&amp;quot;clang&amp;quot; link=&amp;quot;dynamic&amp;quot; sudo=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;!-- This version isn&#039;t available in the repository. --&amp;gt;&lt;br /&gt;
        &amp;lt;!--&amp;lt;get name=&amp;quot;boost1.56&amp;quot; /&amp;gt;--&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--build-boost&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--disable-ndebug&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--disable-static&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;CFLAGS=&#039;-Os&#039;&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;CXXFLAGS=&#039;-Os&#039;&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/job&amp;gt;&lt;br /&gt;
      &amp;lt;job system=&amp;quot;linux&amp;quot; compiler=&amp;quot;gcc&amp;quot; link=&amp;quot;dynamic&amp;quot; sudo=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;get name=&amp;quot;swig&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--with-java&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--with-python&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--disable-static&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;--build-boost&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;CFLAGS=&#039;-Os -s&#039;&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;option value=&amp;quot;CXXFLAGS=&#039;-Os -s&#039;&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/job&amp;gt;&lt;br /&gt;
    &amp;lt;/matrix&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
  &amp;lt;/repository&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Dependencies==&lt;br /&gt;
* [https://github.com/imatix/gsl GSL/4.1 - Universal Code Generator]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Libbitcoin]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Libbitcoin&amp;diff=68493</id>
		<title>Libbitcoin</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Libbitcoin&amp;diff=68493"/>
		<updated>2021-03-09T01:18:26Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: /* Libbitcoin Libraries */ change libbitcoin to libbitcoin-system (display only).&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Libbitcoin-logo.png|250px|right|libbitcoin logo]]&lt;br /&gt;
&lt;br /&gt;
[http://libbitcoin.info Libbitcoin] is a set of cross platform, open source C++ libraries for building bitcoin applications. The toolkit consists of libraries, examples, tests and applications. The project was established on three principles&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=30646.msg384791#msg384791 Libbitcoin Values - Amir Taaki]&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* Privacy: Bitcoin should always remain as private as possible for its users.&lt;br /&gt;
* Scalability: Bitcoin built today with the future in mind.&lt;br /&gt;
* Integrity: No individual or group should have enough power over the network to compromise its original aims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
Libbitcoin is actively maintained. Since version 2.0 the original projects of [[Libbitcoin_Common|Libbitcoin]], [[Obelisk]] and [[SubvertX|SubvertX (sx)]] have been rationalized under a common repository, taxonomy and build system&amp;lt;ref&amp;gt;[https://github.com/libbitcoin Libbitcoin Repository]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Libbitcoin includes the dedicated consensus library [[Libbitcoin_Consensus|libbitcoin-consensus]]. This library provides a clean interface to the 34 source and header files from Bitcoin Core considered consensus critical. The use of this library is optional when building [[Libbitcoin_Blockchain|libbitcoin-blockchain]].&lt;br /&gt;
&lt;br /&gt;
Signed single file application binaries are available for [[Bitcoin_Explorer|Bitcoin Explorer]]&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-explorer/wiki/Download-BX Download Bitcoin Explorer (bx)]&amp;lt;/ref&amp;gt;, [[Bitcoin_Node|Bitcoin Node]]&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-node/wiki/Download-BN Download Bitcoin Node(bx)]&amp;lt;/ref&amp;gt; and [[Bitcoin_Server|Bitcoin Server]]&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-server/wiki/Download-BS Download Bitcoin Server (bs)]&amp;lt;/ref&amp;gt; for Linux, macOS and Windows platforms. Extensive end-user and developer documentation is provided for Bitcoin Explorer&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-explorer/wiki Bitcoin Explorer Documentation]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Libbitcoin repositories include standard Autotools builds supporting GCC and Clang as well as robust Visual Studio solutions. Single file install scripts for Linux/macOS can download and build all dependencies and repositories&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin/blob/master/README.md Libbitcoin Repository Build Instructions]&amp;lt;/ref&amp;gt;. Linux and macOS builds are regularly tested on Travis-CI&amp;lt;ref&amp;gt;[https://travis-ci.org/libbitcoin Libbitcoin Build Status Reports]&amp;lt;/ref&amp;gt; and Windows builds on [https://ci.appveyor.com AppVeyor]. Tests are executed following each automated build and subsequent reports are published through Coveralls&amp;lt;ref&amp;gt;[https://coveralls.io/github/libbitcoin Libbitcoin Test Coverage Reports]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
There are a number of community Bitcoin Server deployments, including those maintained by Neill Miller and by Bitprim&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-server/wiki/Community-Servers Libbitcoin Community Servers]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Libbitcoin Libraries==&lt;br /&gt;
* [[Libbitcoin_Common|libbitcoin-system]]&lt;br /&gt;
* [[Libbitcoin_Blockchain|libbitcoin-blockchain]]&lt;br /&gt;
* [[Libbitcoin_Build|libbitcoin-build]]&lt;br /&gt;
* [[Libbitcoin_Client|libbitcoin-client]]&lt;br /&gt;
* [[Libbitcoin_Consensus|libbitcoin-consensus]]&lt;br /&gt;
* [[Libbitcoin_Database|libbitcoin-database]]&lt;br /&gt;
* [[Libbitcoin_Explorer|libbitcoin-explorer]]&lt;br /&gt;
* [[Libbitcoin_Network|libbitcoin-network]]&lt;br /&gt;
* [[Libbitcoin_Node|libbitcoin-node]]&lt;br /&gt;
* [[Libbitcoin_Protocol|libbitcoin-protocol]]&lt;br /&gt;
* [[Libbitcoin_Server|libbitcoin-server]]&lt;br /&gt;
&lt;br /&gt;
==Libbitcoin Applications==&lt;br /&gt;
* [[Bitcoin_Explorer|Bitcoin Explorer]] (bx) - Bitcoin command line tool &lt;br /&gt;
* [[Bitcoin_Node|Bitcoin Node]] (bn) - Bitcoin full node (only)&lt;br /&gt;
* [[Bitcoin_Server|Bitcoin Server]] (bs) - Blockchain query service (and full node)&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
* Libbitcoin was the second full implementation of [https://bitcoin.org/bitcoin.pdf Bitcoin], after the [[Original_Bitcoin_client|original client]]. It was created by a community of open source developers led by [[Amir_Taaki|Amir Taaki]] (genjix).&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin/graphs/contributors GitHub Libbitcoin Contributors]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The first commits were by [[Patrick_Strateman|Patrick Strateman]] (phantomcircuit) on May 18, 2011&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin/commit/9dea4682bf0e4247f3c4cb8a6c140ade61bf7df7 First Libbitcoin Commit by Patrick Strateman]&amp;lt;/ref&amp;gt; and Libbitcoin was announced on July 21, 2011.&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=30646.0 Bitcoin Talk Libbitcoin Announcement]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The related command line application [[SubvertX|SubvertX (sx)]] was announced on November 2, 2011.&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=50721.0 Bitcoin Talk SubvertX Announcement]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The related server [[Obelisk]] was first released on January 6, 2014, with an update to SubvertX (sx) and the second major release of Libbitcoin.&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=30646.msg4341812#msg4341812 Bitcoin Talk Libbitcoin, Obelisk and SubvertX Release Announcement]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* SubvertX was redesigned by [[Eric_Voskuil|Eric Voskuil]] (evoskuil) and released as [[Bitcoin_Explorer|Bitcoin Explorer]] (bx 2.0) on December 13, 2014.&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-explorer/releases/tag/v2.0.0 Bitcoin Explorer Release]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The privacy protocol design was the work product of a Libbitcoin team meeting in San Diego in August, 2014.&amp;lt;ref&amp;gt;[https://lists.dyne.org/lurker/message/20140906.221448.18997951.en.html Libbitcoin Update 2014-09-06]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[Bitcoin_Server|Bitcoin Server]] (bs 2.0) was released on On May 9th, 2015, replacing Obelisk. A blockchain redesign by genjix substantially improved query performance&amp;lt;ref&amp;gt;[http://www.reddit.com/r/Bitcoin/comments/2go7qm/devs_be_sure_to_test_your_bitcoin_apidata Reddit Post on Obelisk Performance]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
* [[Bitcoin_Node|Bitcoin Node]] (bn 2.2) achieved parity with Bitcoin Server on December 21st, 2015, as a release quality full node.&lt;br /&gt;
* All repositories were updated to version 3.0 on March 7th, 2017, including substantial performance, quality and feature improvements &amp;lt;ref&amp;gt;[https://lists.dyne.org/lurker/message/20170308.080743.d893b7da.en.html Libbitcoin Update 2017-03-08]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
* Version 4 is in active development as of 2021.&lt;br /&gt;
&lt;br /&gt;
==Active Maintainers==&lt;br /&gt;
* [[Eric_Voskuil|Eric Voskuil]] (core development)&lt;br /&gt;
* Phillip Mienk (core development)&lt;br /&gt;
* Neill Miller (wallet development, hosting)&lt;br /&gt;
* Kulpreet Singh, PhD (store development)&lt;br /&gt;
* Skaht (bx operational test)&lt;br /&gt;
&lt;br /&gt;
==Early Contributors==&lt;br /&gt;
* [[Amir_Taaki|Amir Taaki]] (genjix)&lt;br /&gt;
* Robert Williamson (bobalot)&lt;br /&gt;
* [[Patrick_Strateman|Patrick Strateman]] (phantomcircuit)&lt;br /&gt;
* Denis Roio (jaromil)&lt;br /&gt;
* [[Luke_Dashjr| Luke Dashjr]] (luke-jr)&lt;br /&gt;
&lt;br /&gt;
==Projects Using Libbitcoin==&lt;br /&gt;
* [[Airbitz]]&lt;br /&gt;
* [http://bitprim.org/ Bitprim]&lt;br /&gt;
* [https://cancoin.co/wallet Cancoin]&lt;br /&gt;
* [https://chip-chap.com Chip-Chap]&lt;br /&gt;
* [https://github.com/darkwallet/darkleaks Darkleaks]&lt;br /&gt;
* [https://www.darkwallet.is Darkwallet]&lt;br /&gt;
* [https://github.com/darkwallet/darkmarket Darkmarket]&lt;br /&gt;
* [[Mastering_Bitcoin]]&lt;br /&gt;
* [https://github.com/mvs-live/metaverse Metaverse]&lt;br /&gt;
* [http://openbazaar.org OpenBazaar]&lt;br /&gt;
* [https://www.cs.cornell.edu/People/egs/papers/teechan.pdf Teechan]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [http://libbitcoin.info libbitcoin.info]&lt;br /&gt;
* {{Freenode IRC|libbitcoin}}&lt;br /&gt;
* [https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/libbitcoin Libbitcoin Mailing List]&lt;br /&gt;
* [https://bitcointalk.org/index.php?topic=30646.0 Bitcointalk Topic]&lt;br /&gt;
* https://bitcoinmagazine.com/articles/what-libbitcoin-and-sx-are-and-why-they-matter-1376064919&lt;br /&gt;
* http://www.slideshare.net/swansontec/libbitcoin-slides&lt;br /&gt;
* https://github.com/aantonop/bitcoinbook/blob/develop/appdx-bx.asciidoc&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
[[Category:Clients‏‎]]&lt;br /&gt;
[[Category:Nodes]]&lt;br /&gt;
[[Category:Open Source]]&lt;br /&gt;
[[Category:Software‏‎]]&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Libbitcoin_Common&amp;diff=68492</id>
		<title>Libbitcoin Common</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Libbitcoin_Common&amp;diff=68492"/>
		<updated>2021-03-09T01:17:07Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: Update libbitcoin ref (dead link) to libbitcoin-system.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The common [https://github.com/libbitcoin/libbitcoin-system libbitcoin-system] (formerly &amp;quot;libbitcoin&amp;quot;) 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.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
 #include &amp;lt;cstdint&amp;gt;&lt;br /&gt;
 #include &amp;lt;iostream&amp;gt;&lt;br /&gt;
 #include &amp;lt;string&amp;gt;&lt;br /&gt;
 #include &amp;lt;bitcoin/bitcoin.hpp&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 // Extract Satoshi&#039;s words.&lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
     const auto block = bc::chain::block::genesis_mainnet();&lt;br /&gt;
     const auto&amp;amp; tx = block.transactions().front();&lt;br /&gt;
     const auto&amp;amp; input = tx.inputs().front();&lt;br /&gt;
     const auto script = input.script().to_data(false);&lt;br /&gt;
     std::string message(script.begin() + sizeof(uint64_t), script.end());&lt;br /&gt;
     std::cout &amp;lt;&amp;lt; message &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
     return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 The Times 03/Jan/2009 Chancellor on brink of second bailout for banks&lt;br /&gt;
&lt;br /&gt;
==Bitcoin Related Features==&lt;br /&gt;
* Key formats (raw, [https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki BIP32], WIF, compressed/uncompressed, minikey)&lt;br /&gt;
* Encoding functions (base 2/10/16/58/64/85)&lt;br /&gt;
* Hash functions (ripemd160, sha1, sha256, sha512, hmac_sha256, hmac_sha512, pkcs5_pbkdf2_hmac_sha512)&lt;br /&gt;
* 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])&lt;br /&gt;
* Mnemonic functions ([https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki BIP39])&lt;br /&gt;
* All published [https://github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md mnemonic dictionaries]&lt;br /&gt;
* Curve math, deterministic ECDSA, verification and encryption functions&lt;br /&gt;
* Address functions (P2PKH and P2SH/[https://github.com/bitcoin/bips/blob/master/bip-0016.mediawiki BIP16])&lt;br /&gt;
* Stealth addresses functions&amp;lt;ref&amp;gt;[https://wiki.unsystem.net/en/index.php/DarkWallet/Stealth DarkWallet Stealth Design Document]&amp;lt;/ref&amp;gt; for wallets and blockchain search&lt;br /&gt;
* Wire and text serializable type library (P2P protocol)&lt;br /&gt;
* Bitcoin script engine (see [[Libbitcoin_Consensus|libbitcoin-consensus]] for more information)&lt;br /&gt;
* Asynchronous P2P networking stack built on [https://think-async.com ASIO] (moved to [[Libbitcoin_Network|libbitcoin-network]] in version 3)&lt;br /&gt;
&lt;br /&gt;
==General Purpose Features==&lt;br /&gt;
* Logging utilities&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Radix_tree Patricia Trie] template with binary alphabet&lt;br /&gt;
* [http://utf8everywhere.org UTF8 Everywhere] tools and integration for Windows&lt;br /&gt;
* Command line and configuration file utilities based on [http://www.boost.org/doc/libs/1_55_0/doc/html/program_options.html boost program options]&lt;br /&gt;
&lt;br /&gt;
==Build and Quality Control==&lt;br /&gt;
* Autotools builds for GCC/Clang&lt;br /&gt;
* All build artifacts generated by [[Libbitcoin_Build|libbitcoin-build]]&lt;br /&gt;
* Continuous integration builds via [https://travis-ci.org/libbitcoin/libbitcoin Travis-CI]&lt;br /&gt;
* Automated test coverage reporting via [https://travis-ci.org/libbitcoin/libbitcoin Coverall]&lt;br /&gt;
* Visual Studio 2013 project and solution files&lt;br /&gt;
* Support for 32/64 bit processors and [http://en.wikipedia.org/wiki/Endianness endianness] differences&lt;br /&gt;
* Uses C++11 advancements and restricts use of pointers and exceptions&lt;br /&gt;
&lt;br /&gt;
==Dependencies (Version2)==&lt;br /&gt;
* [http://www.boost.org boost]&lt;br /&gt;
* [https://github.com/bitcoin/secp256k1 libsecp256k1]&lt;br /&gt;
* [http://site.icu-project.org ICU] (optional)&lt;br /&gt;
&lt;br /&gt;
==Dependencies (Version3)==&lt;br /&gt;
* [http://www.boost.org boost]&lt;br /&gt;
* [https://github.com/bitcoin/secp256k1 libsecp256k1]&lt;br /&gt;
* [http://site.icu-project.org ICU] (optional)&lt;br /&gt;
* [http://www.libpng.org/pub/png/libpng.html libpng] (optional)&lt;br /&gt;
* [https://fukuchi.org/works/qrencode libqrencode] (optional)&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Libbitcoin]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
[[Category:Clients]]&lt;br /&gt;
[[Category:Open Source]]&lt;br /&gt;
[[Category:Software‏‎]]&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Libbitcoin&amp;diff=68491</id>
		<title>Libbitcoin</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Libbitcoin&amp;diff=68491"/>
		<updated>2021-03-09T01:14:53Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: /* History */ Add v4 reference.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Libbitcoin-logo.png|250px|right|libbitcoin logo]]&lt;br /&gt;
&lt;br /&gt;
[http://libbitcoin.info Libbitcoin] is a set of cross platform, open source C++ libraries for building bitcoin applications. The toolkit consists of libraries, examples, tests and applications. The project was established on three principles&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=30646.msg384791#msg384791 Libbitcoin Values - Amir Taaki]&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* Privacy: Bitcoin should always remain as private as possible for its users.&lt;br /&gt;
* Scalability: Bitcoin built today with the future in mind.&lt;br /&gt;
* Integrity: No individual or group should have enough power over the network to compromise its original aims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
Libbitcoin is actively maintained. Since version 2.0 the original projects of [[Libbitcoin_Common|Libbitcoin]], [[Obelisk]] and [[SubvertX|SubvertX (sx)]] have been rationalized under a common repository, taxonomy and build system&amp;lt;ref&amp;gt;[https://github.com/libbitcoin Libbitcoin Repository]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Libbitcoin includes the dedicated consensus library [[Libbitcoin_Consensus|libbitcoin-consensus]]. This library provides a clean interface to the 34 source and header files from Bitcoin Core considered consensus critical. The use of this library is optional when building [[Libbitcoin_Blockchain|libbitcoin-blockchain]].&lt;br /&gt;
&lt;br /&gt;
Signed single file application binaries are available for [[Bitcoin_Explorer|Bitcoin Explorer]]&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-explorer/wiki/Download-BX Download Bitcoin Explorer (bx)]&amp;lt;/ref&amp;gt;, [[Bitcoin_Node|Bitcoin Node]]&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-node/wiki/Download-BN Download Bitcoin Node(bx)]&amp;lt;/ref&amp;gt; and [[Bitcoin_Server|Bitcoin Server]]&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-server/wiki/Download-BS Download Bitcoin Server (bs)]&amp;lt;/ref&amp;gt; for Linux, macOS and Windows platforms. Extensive end-user and developer documentation is provided for Bitcoin Explorer&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-explorer/wiki Bitcoin Explorer Documentation]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Libbitcoin repositories include standard Autotools builds supporting GCC and Clang as well as robust Visual Studio solutions. Single file install scripts for Linux/macOS can download and build all dependencies and repositories&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin/blob/master/README.md Libbitcoin Repository Build Instructions]&amp;lt;/ref&amp;gt;. Linux and macOS builds are regularly tested on Travis-CI&amp;lt;ref&amp;gt;[https://travis-ci.org/libbitcoin Libbitcoin Build Status Reports]&amp;lt;/ref&amp;gt; and Windows builds on [https://ci.appveyor.com AppVeyor]. Tests are executed following each automated build and subsequent reports are published through Coveralls&amp;lt;ref&amp;gt;[https://coveralls.io/github/libbitcoin Libbitcoin Test Coverage Reports]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
There are a number of community Bitcoin Server deployments, including those maintained by Neill Miller and by Bitprim&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-server/wiki/Community-Servers Libbitcoin Community Servers]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Libbitcoin Libraries==&lt;br /&gt;
* [[Libbitcoin_Common|libbitcoin]] (system)&lt;br /&gt;
* [[Libbitcoin_Blockchain|libbitcoin-blockchain]]&lt;br /&gt;
* [[Libbitcoin_Build|libbitcoin-build]]&lt;br /&gt;
* [[Libbitcoin_Client|libbitcoin-client]]&lt;br /&gt;
* [[Libbitcoin_Consensus|libbitcoin-consensus]]&lt;br /&gt;
* [[Libbitcoin_Database|libbitcoin-database]]&lt;br /&gt;
* [[Libbitcoin_Explorer|libbitcoin-explorer]]&lt;br /&gt;
* [[Libbitcoin_Network|libbitcoin-network]]&lt;br /&gt;
* [[Libbitcoin_Node|libbitcoin-node]]&lt;br /&gt;
* [[Libbitcoin_Protocol|libbitcoin-protocol]]&lt;br /&gt;
* [[Libbitcoin_Server|libbitcoin-server]]&lt;br /&gt;
&lt;br /&gt;
==Libbitcoin Applications==&lt;br /&gt;
* [[Bitcoin_Explorer|Bitcoin Explorer]] (bx) - Bitcoin command line tool &lt;br /&gt;
* [[Bitcoin_Node|Bitcoin Node]] (bn) - Bitcoin full node (only)&lt;br /&gt;
* [[Bitcoin_Server|Bitcoin Server]] (bs) - Blockchain query service (and full node)&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
* Libbitcoin was the second full implementation of [https://bitcoin.org/bitcoin.pdf Bitcoin], after the [[Original_Bitcoin_client|original client]]. It was created by a community of open source developers led by [[Amir_Taaki|Amir Taaki]] (genjix).&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin/graphs/contributors GitHub Libbitcoin Contributors]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The first commits were by [[Patrick_Strateman|Patrick Strateman]] (phantomcircuit) on May 18, 2011&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin/commit/9dea4682bf0e4247f3c4cb8a6c140ade61bf7df7 First Libbitcoin Commit by Patrick Strateman]&amp;lt;/ref&amp;gt; and Libbitcoin was announced on July 21, 2011.&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=30646.0 Bitcoin Talk Libbitcoin Announcement]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The related command line application [[SubvertX|SubvertX (sx)]] was announced on November 2, 2011.&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=50721.0 Bitcoin Talk SubvertX Announcement]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The related server [[Obelisk]] was first released on January 6, 2014, with an update to SubvertX (sx) and the second major release of Libbitcoin.&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=30646.msg4341812#msg4341812 Bitcoin Talk Libbitcoin, Obelisk and SubvertX Release Announcement]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* SubvertX was redesigned by [[Eric_Voskuil|Eric Voskuil]] (evoskuil) and released as [[Bitcoin_Explorer|Bitcoin Explorer]] (bx 2.0) on December 13, 2014.&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-explorer/releases/tag/v2.0.0 Bitcoin Explorer Release]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The privacy protocol design was the work product of a Libbitcoin team meeting in San Diego in August, 2014.&amp;lt;ref&amp;gt;[https://lists.dyne.org/lurker/message/20140906.221448.18997951.en.html Libbitcoin Update 2014-09-06]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[Bitcoin_Server|Bitcoin Server]] (bs 2.0) was released on On May 9th, 2015, replacing Obelisk. A blockchain redesign by genjix substantially improved query performance&amp;lt;ref&amp;gt;[http://www.reddit.com/r/Bitcoin/comments/2go7qm/devs_be_sure_to_test_your_bitcoin_apidata Reddit Post on Obelisk Performance]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
* [[Bitcoin_Node|Bitcoin Node]] (bn 2.2) achieved parity with Bitcoin Server on December 21st, 2015, as a release quality full node.&lt;br /&gt;
* All repositories were updated to version 3.0 on March 7th, 2017, including substantial performance, quality and feature improvements &amp;lt;ref&amp;gt;[https://lists.dyne.org/lurker/message/20170308.080743.d893b7da.en.html Libbitcoin Update 2017-03-08]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
* Version 4 is in active development as of 2021.&lt;br /&gt;
&lt;br /&gt;
==Active Maintainers==&lt;br /&gt;
* [[Eric_Voskuil|Eric Voskuil]] (core development)&lt;br /&gt;
* Phillip Mienk (core development)&lt;br /&gt;
* Neill Miller (wallet development, hosting)&lt;br /&gt;
* Kulpreet Singh, PhD (store development)&lt;br /&gt;
* Skaht (bx operational test)&lt;br /&gt;
&lt;br /&gt;
==Early Contributors==&lt;br /&gt;
* [[Amir_Taaki|Amir Taaki]] (genjix)&lt;br /&gt;
* Robert Williamson (bobalot)&lt;br /&gt;
* [[Patrick_Strateman|Patrick Strateman]] (phantomcircuit)&lt;br /&gt;
* Denis Roio (jaromil)&lt;br /&gt;
* [[Luke_Dashjr| Luke Dashjr]] (luke-jr)&lt;br /&gt;
&lt;br /&gt;
==Projects Using Libbitcoin==&lt;br /&gt;
* [[Airbitz]]&lt;br /&gt;
* [http://bitprim.org/ Bitprim]&lt;br /&gt;
* [https://cancoin.co/wallet Cancoin]&lt;br /&gt;
* [https://chip-chap.com Chip-Chap]&lt;br /&gt;
* [https://github.com/darkwallet/darkleaks Darkleaks]&lt;br /&gt;
* [https://www.darkwallet.is Darkwallet]&lt;br /&gt;
* [https://github.com/darkwallet/darkmarket Darkmarket]&lt;br /&gt;
* [[Mastering_Bitcoin]]&lt;br /&gt;
* [https://github.com/mvs-live/metaverse Metaverse]&lt;br /&gt;
* [http://openbazaar.org OpenBazaar]&lt;br /&gt;
* [https://www.cs.cornell.edu/People/egs/papers/teechan.pdf Teechan]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [http://libbitcoin.info libbitcoin.info]&lt;br /&gt;
* {{Freenode IRC|libbitcoin}}&lt;br /&gt;
* [https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/libbitcoin Libbitcoin Mailing List]&lt;br /&gt;
* [https://bitcointalk.org/index.php?topic=30646.0 Bitcointalk Topic]&lt;br /&gt;
* https://bitcoinmagazine.com/articles/what-libbitcoin-and-sx-are-and-why-they-matter-1376064919&lt;br /&gt;
* http://www.slideshare.net/swansontec/libbitcoin-slides&lt;br /&gt;
* https://github.com/aantonop/bitcoinbook/blob/develop/appdx-bx.asciidoc&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
[[Category:Clients‏‎]]&lt;br /&gt;
[[Category:Nodes]]&lt;br /&gt;
[[Category:Open Source]]&lt;br /&gt;
[[Category:Software‏‎]]&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Libbitcoin&amp;diff=68490</id>
		<title>Libbitcoin</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Libbitcoin&amp;diff=68490"/>
		<updated>2021-03-09T01:12:10Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: /* Active Maintainers */ Update team changes.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Libbitcoin-logo.png|250px|right|libbitcoin logo]]&lt;br /&gt;
&lt;br /&gt;
[http://libbitcoin.info Libbitcoin] is a set of cross platform, open source C++ libraries for building bitcoin applications. The toolkit consists of libraries, examples, tests and applications. The project was established on three principles&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=30646.msg384791#msg384791 Libbitcoin Values - Amir Taaki]&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* Privacy: Bitcoin should always remain as private as possible for its users.&lt;br /&gt;
* Scalability: Bitcoin built today with the future in mind.&lt;br /&gt;
* Integrity: No individual or group should have enough power over the network to compromise its original aims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
Libbitcoin is actively maintained. Since version 2.0 the original projects of [[Libbitcoin_Common|Libbitcoin]], [[Obelisk]] and [[SubvertX|SubvertX (sx)]] have been rationalized under a common repository, taxonomy and build system&amp;lt;ref&amp;gt;[https://github.com/libbitcoin Libbitcoin Repository]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Libbitcoin includes the dedicated consensus library [[Libbitcoin_Consensus|libbitcoin-consensus]]. This library provides a clean interface to the 34 source and header files from Bitcoin Core considered consensus critical. The use of this library is optional when building [[Libbitcoin_Blockchain|libbitcoin-blockchain]].&lt;br /&gt;
&lt;br /&gt;
Signed single file application binaries are available for [[Bitcoin_Explorer|Bitcoin Explorer]]&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-explorer/wiki/Download-BX Download Bitcoin Explorer (bx)]&amp;lt;/ref&amp;gt;, [[Bitcoin_Node|Bitcoin Node]]&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-node/wiki/Download-BN Download Bitcoin Node(bx)]&amp;lt;/ref&amp;gt; and [[Bitcoin_Server|Bitcoin Server]]&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-server/wiki/Download-BS Download Bitcoin Server (bs)]&amp;lt;/ref&amp;gt; for Linux, macOS and Windows platforms. Extensive end-user and developer documentation is provided for Bitcoin Explorer&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-explorer/wiki Bitcoin Explorer Documentation]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Libbitcoin repositories include standard Autotools builds supporting GCC and Clang as well as robust Visual Studio solutions. Single file install scripts for Linux/macOS can download and build all dependencies and repositories&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin/blob/master/README.md Libbitcoin Repository Build Instructions]&amp;lt;/ref&amp;gt;. Linux and macOS builds are regularly tested on Travis-CI&amp;lt;ref&amp;gt;[https://travis-ci.org/libbitcoin Libbitcoin Build Status Reports]&amp;lt;/ref&amp;gt; and Windows builds on [https://ci.appveyor.com AppVeyor]. Tests are executed following each automated build and subsequent reports are published through Coveralls&amp;lt;ref&amp;gt;[https://coveralls.io/github/libbitcoin Libbitcoin Test Coverage Reports]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
There are a number of community Bitcoin Server deployments, including those maintained by Neill Miller and by Bitprim&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-server/wiki/Community-Servers Libbitcoin Community Servers]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Libbitcoin Libraries==&lt;br /&gt;
* [[Libbitcoin_Common|libbitcoin]] (system)&lt;br /&gt;
* [[Libbitcoin_Blockchain|libbitcoin-blockchain]]&lt;br /&gt;
* [[Libbitcoin_Build|libbitcoin-build]]&lt;br /&gt;
* [[Libbitcoin_Client|libbitcoin-client]]&lt;br /&gt;
* [[Libbitcoin_Consensus|libbitcoin-consensus]]&lt;br /&gt;
* [[Libbitcoin_Database|libbitcoin-database]]&lt;br /&gt;
* [[Libbitcoin_Explorer|libbitcoin-explorer]]&lt;br /&gt;
* [[Libbitcoin_Network|libbitcoin-network]]&lt;br /&gt;
* [[Libbitcoin_Node|libbitcoin-node]]&lt;br /&gt;
* [[Libbitcoin_Protocol|libbitcoin-protocol]]&lt;br /&gt;
* [[Libbitcoin_Server|libbitcoin-server]]&lt;br /&gt;
&lt;br /&gt;
==Libbitcoin Applications==&lt;br /&gt;
* [[Bitcoin_Explorer|Bitcoin Explorer]] (bx) - Bitcoin command line tool &lt;br /&gt;
* [[Bitcoin_Node|Bitcoin Node]] (bn) - Bitcoin full node (only)&lt;br /&gt;
* [[Bitcoin_Server|Bitcoin Server]] (bs) - Blockchain query service (and full node)&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
* Libbitcoin was the second full implementation of [https://bitcoin.org/bitcoin.pdf Bitcoin], after the [[Original_Bitcoin_client|original client]]. It was created by a community of open source developers led by [[Amir_Taaki|Amir Taaki]] (genjix).&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin/graphs/contributors GitHub Libbitcoin Contributors]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The first commits were by [[Patrick_Strateman|Patrick Strateman]] (phantomcircuit) on May 18, 2011&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin/commit/9dea4682bf0e4247f3c4cb8a6c140ade61bf7df7 First Libbitcoin Commit by Patrick Strateman]&amp;lt;/ref&amp;gt; and Libbitcoin was announced on July 21, 2011.&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=30646.0 Bitcoin Talk Libbitcoin Announcement]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The related command line application [[SubvertX|SubvertX (sx)]] was announced on November 2, 2011.&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=50721.0 Bitcoin Talk SubvertX Announcement]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The related server [[Obelisk]] was first released on January 6, 2014, with an update to SubvertX (sx) and the second major release of Libbitcoin.&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=30646.msg4341812#msg4341812 Bitcoin Talk Libbitcoin, Obelisk and SubvertX Release Announcement]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* SubvertX was redesigned by [[Eric_Voskuil|Eric Voskuil]] (evoskuil) and released as [[Bitcoin_Explorer|Bitcoin Explorer]] (bx 2.0) on December 13, 2014.&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-explorer/releases/tag/v2.0.0 Bitcoin Explorer Release]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The privacy protocol design was the work product of a Libbitcoin team meeting in San Diego in August, 2014.&amp;lt;ref&amp;gt;[https://lists.dyne.org/lurker/message/20140906.221448.18997951.en.html Libbitcoin Update 2014-09-06]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[Bitcoin_Server|Bitcoin Server]] (bs 2.0) was released on On May 9th, 2015, replacing Obelisk. A blockchain redesign by genjix substantially improved query performance&amp;lt;ref&amp;gt;[http://www.reddit.com/r/Bitcoin/comments/2go7qm/devs_be_sure_to_test_your_bitcoin_apidata Reddit Post on Obelisk Performance]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
* [[Bitcoin_Node|Bitcoin Node]] (bn 2.2) achieved parity with Bitcoin Server on December 21st, 2015, as a release quality full node.&lt;br /&gt;
* All repositories were updated to version 3.0 on March 7th, 2017, including substantial performance, quality and feature improvements &amp;lt;ref&amp;gt;[https://lists.dyne.org/lurker/message/20170308.080743.d893b7da.en.html Libbitcoin Update 2017-03-08]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Active Maintainers==&lt;br /&gt;
* [[Eric_Voskuil|Eric Voskuil]] (core development)&lt;br /&gt;
* Phillip Mienk (core development)&lt;br /&gt;
* Neill Miller (wallet development, hosting)&lt;br /&gt;
* Kulpreet Singh, PhD (store development)&lt;br /&gt;
* Skaht (bx operational test)&lt;br /&gt;
&lt;br /&gt;
==Early Contributors==&lt;br /&gt;
* [[Amir_Taaki|Amir Taaki]] (genjix)&lt;br /&gt;
* Robert Williamson (bobalot)&lt;br /&gt;
* [[Patrick_Strateman|Patrick Strateman]] (phantomcircuit)&lt;br /&gt;
* Denis Roio (jaromil)&lt;br /&gt;
* [[Luke_Dashjr| Luke Dashjr]] (luke-jr)&lt;br /&gt;
&lt;br /&gt;
==Projects Using Libbitcoin==&lt;br /&gt;
* [[Airbitz]]&lt;br /&gt;
* [http://bitprim.org/ Bitprim]&lt;br /&gt;
* [https://cancoin.co/wallet Cancoin]&lt;br /&gt;
* [https://chip-chap.com Chip-Chap]&lt;br /&gt;
* [https://github.com/darkwallet/darkleaks Darkleaks]&lt;br /&gt;
* [https://www.darkwallet.is Darkwallet]&lt;br /&gt;
* [https://github.com/darkwallet/darkmarket Darkmarket]&lt;br /&gt;
* [[Mastering_Bitcoin]]&lt;br /&gt;
* [https://github.com/mvs-live/metaverse Metaverse]&lt;br /&gt;
* [http://openbazaar.org OpenBazaar]&lt;br /&gt;
* [https://www.cs.cornell.edu/People/egs/papers/teechan.pdf Teechan]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [http://libbitcoin.info libbitcoin.info]&lt;br /&gt;
* {{Freenode IRC|libbitcoin}}&lt;br /&gt;
* [https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/libbitcoin Libbitcoin Mailing List]&lt;br /&gt;
* [https://bitcointalk.org/index.php?topic=30646.0 Bitcointalk Topic]&lt;br /&gt;
* https://bitcoinmagazine.com/articles/what-libbitcoin-and-sx-are-and-why-they-matter-1376064919&lt;br /&gt;
* http://www.slideshare.net/swansontec/libbitcoin-slides&lt;br /&gt;
* https://github.com/aantonop/bitcoinbook/blob/develop/appdx-bx.asciidoc&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
[[Category:Clients‏‎]]&lt;br /&gt;
[[Category:Nodes]]&lt;br /&gt;
[[Category:Open Source]]&lt;br /&gt;
[[Category:Software‏‎]]&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Libbitcoin&amp;diff=68489</id>
		<title>Libbitcoin</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Libbitcoin&amp;diff=68489"/>
		<updated>2021-03-09T01:08:34Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: /* See Also */ Remove dead link, fix link.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Libbitcoin-logo.png|250px|right|libbitcoin logo]]&lt;br /&gt;
&lt;br /&gt;
[http://libbitcoin.info Libbitcoin] is a set of cross platform, open source C++ libraries for building bitcoin applications. The toolkit consists of libraries, examples, tests and applications. The project was established on three principles&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=30646.msg384791#msg384791 Libbitcoin Values - Amir Taaki]&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* Privacy: Bitcoin should always remain as private as possible for its users.&lt;br /&gt;
* Scalability: Bitcoin built today with the future in mind.&lt;br /&gt;
* Integrity: No individual or group should have enough power over the network to compromise its original aims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
Libbitcoin is actively maintained. Since version 2.0 the original projects of [[Libbitcoin_Common|Libbitcoin]], [[Obelisk]] and [[SubvertX|SubvertX (sx)]] have been rationalized under a common repository, taxonomy and build system&amp;lt;ref&amp;gt;[https://github.com/libbitcoin Libbitcoin Repository]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Libbitcoin includes the dedicated consensus library [[Libbitcoin_Consensus|libbitcoin-consensus]]. This library provides a clean interface to the 34 source and header files from Bitcoin Core considered consensus critical. The use of this library is optional when building [[Libbitcoin_Blockchain|libbitcoin-blockchain]].&lt;br /&gt;
&lt;br /&gt;
Signed single file application binaries are available for [[Bitcoin_Explorer|Bitcoin Explorer]]&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-explorer/wiki/Download-BX Download Bitcoin Explorer (bx)]&amp;lt;/ref&amp;gt;, [[Bitcoin_Node|Bitcoin Node]]&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-node/wiki/Download-BN Download Bitcoin Node(bx)]&amp;lt;/ref&amp;gt; and [[Bitcoin_Server|Bitcoin Server]]&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-server/wiki/Download-BS Download Bitcoin Server (bs)]&amp;lt;/ref&amp;gt; for Linux, macOS and Windows platforms. Extensive end-user and developer documentation is provided for Bitcoin Explorer&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-explorer/wiki Bitcoin Explorer Documentation]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Libbitcoin repositories include standard Autotools builds supporting GCC and Clang as well as robust Visual Studio solutions. Single file install scripts for Linux/macOS can download and build all dependencies and repositories&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin/blob/master/README.md Libbitcoin Repository Build Instructions]&amp;lt;/ref&amp;gt;. Linux and macOS builds are regularly tested on Travis-CI&amp;lt;ref&amp;gt;[https://travis-ci.org/libbitcoin Libbitcoin Build Status Reports]&amp;lt;/ref&amp;gt; and Windows builds on [https://ci.appveyor.com AppVeyor]. Tests are executed following each automated build and subsequent reports are published through Coveralls&amp;lt;ref&amp;gt;[https://coveralls.io/github/libbitcoin Libbitcoin Test Coverage Reports]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
There are a number of community Bitcoin Server deployments, including those maintained by Neill Miller and by Bitprim&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-server/wiki/Community-Servers Libbitcoin Community Servers]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Libbitcoin Libraries==&lt;br /&gt;
* [[Libbitcoin_Common|libbitcoin]] (system)&lt;br /&gt;
* [[Libbitcoin_Blockchain|libbitcoin-blockchain]]&lt;br /&gt;
* [[Libbitcoin_Build|libbitcoin-build]]&lt;br /&gt;
* [[Libbitcoin_Client|libbitcoin-client]]&lt;br /&gt;
* [[Libbitcoin_Consensus|libbitcoin-consensus]]&lt;br /&gt;
* [[Libbitcoin_Database|libbitcoin-database]]&lt;br /&gt;
* [[Libbitcoin_Explorer|libbitcoin-explorer]]&lt;br /&gt;
* [[Libbitcoin_Network|libbitcoin-network]]&lt;br /&gt;
* [[Libbitcoin_Node|libbitcoin-node]]&lt;br /&gt;
* [[Libbitcoin_Protocol|libbitcoin-protocol]]&lt;br /&gt;
* [[Libbitcoin_Server|libbitcoin-server]]&lt;br /&gt;
&lt;br /&gt;
==Libbitcoin Applications==&lt;br /&gt;
* [[Bitcoin_Explorer|Bitcoin Explorer]] (bx) - Bitcoin command line tool &lt;br /&gt;
* [[Bitcoin_Node|Bitcoin Node]] (bn) - Bitcoin full node (only)&lt;br /&gt;
* [[Bitcoin_Server|Bitcoin Server]] (bs) - Blockchain query service (and full node)&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
* Libbitcoin was the second full implementation of [https://bitcoin.org/bitcoin.pdf Bitcoin], after the [[Original_Bitcoin_client|original client]]. It was created by a community of open source developers led by [[Amir_Taaki|Amir Taaki]] (genjix).&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin/graphs/contributors GitHub Libbitcoin Contributors]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The first commits were by [[Patrick_Strateman|Patrick Strateman]] (phantomcircuit) on May 18, 2011&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin/commit/9dea4682bf0e4247f3c4cb8a6c140ade61bf7df7 First Libbitcoin Commit by Patrick Strateman]&amp;lt;/ref&amp;gt; and Libbitcoin was announced on July 21, 2011.&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=30646.0 Bitcoin Talk Libbitcoin Announcement]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The related command line application [[SubvertX|SubvertX (sx)]] was announced on November 2, 2011.&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=50721.0 Bitcoin Talk SubvertX Announcement]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The related server [[Obelisk]] was first released on January 6, 2014, with an update to SubvertX (sx) and the second major release of Libbitcoin.&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=30646.msg4341812#msg4341812 Bitcoin Talk Libbitcoin, Obelisk and SubvertX Release Announcement]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* SubvertX was redesigned by [[Eric_Voskuil|Eric Voskuil]] (evoskuil) and released as [[Bitcoin_Explorer|Bitcoin Explorer]] (bx 2.0) on December 13, 2014.&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-explorer/releases/tag/v2.0.0 Bitcoin Explorer Release]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The privacy protocol design was the work product of a Libbitcoin team meeting in San Diego in August, 2014.&amp;lt;ref&amp;gt;[https://lists.dyne.org/lurker/message/20140906.221448.18997951.en.html Libbitcoin Update 2014-09-06]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[Bitcoin_Server|Bitcoin Server]] (bs 2.0) was released on On May 9th, 2015, replacing Obelisk. A blockchain redesign by genjix substantially improved query performance&amp;lt;ref&amp;gt;[http://www.reddit.com/r/Bitcoin/comments/2go7qm/devs_be_sure_to_test_your_bitcoin_apidata Reddit Post on Obelisk Performance]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
* [[Bitcoin_Node|Bitcoin Node]] (bn 2.2) achieved parity with Bitcoin Server on December 21st, 2015, as a release quality full node.&lt;br /&gt;
* All repositories were updated to version 3.0 on March 7th, 2017, including substantial performance, quality and feature improvements &amp;lt;ref&amp;gt;[https://lists.dyne.org/lurker/message/20170308.080743.d893b7da.en.html Libbitcoin Update 2017-03-08]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Active Maintainers==&lt;br /&gt;
* [[Eric_Voskuil|Eric Voskuil]] (development)&lt;br /&gt;
* Phillip Mienk (development)&lt;br /&gt;
* Neill Miller (development, hosting)&lt;br /&gt;
* Pablo Castellano ([https://tracker.debian.org/pkg/libbitcoin debian packaging])&lt;br /&gt;
* Santi ([https://libbitcoin.org libbitcoin.org])&lt;br /&gt;
* Mariano (node/server operational test)&lt;br /&gt;
* Skaht (bx operational test)&lt;br /&gt;
&lt;br /&gt;
==Early Contributors==&lt;br /&gt;
* [[Amir_Taaki|Amir Taaki]] (genjix)&lt;br /&gt;
* Robert Williamson (bobalot)&lt;br /&gt;
* [[Patrick_Strateman|Patrick Strateman]] (phantomcircuit)&lt;br /&gt;
* Denis Roio (jaromil)&lt;br /&gt;
* [[Luke_Dashjr| Luke Dashjr]] (luke-jr)&lt;br /&gt;
&lt;br /&gt;
==Projects Using Libbitcoin==&lt;br /&gt;
* [[Airbitz]]&lt;br /&gt;
* [http://bitprim.org/ Bitprim]&lt;br /&gt;
* [https://cancoin.co/wallet Cancoin]&lt;br /&gt;
* [https://chip-chap.com Chip-Chap]&lt;br /&gt;
* [https://github.com/darkwallet/darkleaks Darkleaks]&lt;br /&gt;
* [https://www.darkwallet.is Darkwallet]&lt;br /&gt;
* [https://github.com/darkwallet/darkmarket Darkmarket]&lt;br /&gt;
* [[Mastering_Bitcoin]]&lt;br /&gt;
* [https://github.com/mvs-live/metaverse Metaverse]&lt;br /&gt;
* [http://openbazaar.org OpenBazaar]&lt;br /&gt;
* [https://www.cs.cornell.edu/People/egs/papers/teechan.pdf Teechan]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [http://libbitcoin.info libbitcoin.info]&lt;br /&gt;
* {{Freenode IRC|libbitcoin}}&lt;br /&gt;
* [https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/libbitcoin Libbitcoin Mailing List]&lt;br /&gt;
* [https://bitcointalk.org/index.php?topic=30646.0 Bitcointalk Topic]&lt;br /&gt;
* https://bitcoinmagazine.com/articles/what-libbitcoin-and-sx-are-and-why-they-matter-1376064919&lt;br /&gt;
* http://www.slideshare.net/swansontec/libbitcoin-slides&lt;br /&gt;
* https://github.com/aantonop/bitcoinbook/blob/develop/appdx-bx.asciidoc&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
[[Category:Clients‏‎]]&lt;br /&gt;
[[Category:Nodes]]&lt;br /&gt;
[[Category:Open Source]]&lt;br /&gt;
[[Category:Software‏‎]]&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Libbitcoin&amp;diff=68488</id>
		<title>Libbitcoin</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Libbitcoin&amp;diff=68488"/>
		<updated>2021-03-09T01:06:44Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: /* Status */ fix coveralls link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Libbitcoin-logo.png|250px|right|libbitcoin logo]]&lt;br /&gt;
&lt;br /&gt;
[http://libbitcoin.info Libbitcoin] is a set of cross platform, open source C++ libraries for building bitcoin applications. The toolkit consists of libraries, examples, tests and applications. The project was established on three principles&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=30646.msg384791#msg384791 Libbitcoin Values - Amir Taaki]&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* Privacy: Bitcoin should always remain as private as possible for its users.&lt;br /&gt;
* Scalability: Bitcoin built today with the future in mind.&lt;br /&gt;
* Integrity: No individual or group should have enough power over the network to compromise its original aims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
Libbitcoin is actively maintained. Since version 2.0 the original projects of [[Libbitcoin_Common|Libbitcoin]], [[Obelisk]] and [[SubvertX|SubvertX (sx)]] have been rationalized under a common repository, taxonomy and build system&amp;lt;ref&amp;gt;[https://github.com/libbitcoin Libbitcoin Repository]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Libbitcoin includes the dedicated consensus library [[Libbitcoin_Consensus|libbitcoin-consensus]]. This library provides a clean interface to the 34 source and header files from Bitcoin Core considered consensus critical. The use of this library is optional when building [[Libbitcoin_Blockchain|libbitcoin-blockchain]].&lt;br /&gt;
&lt;br /&gt;
Signed single file application binaries are available for [[Bitcoin_Explorer|Bitcoin Explorer]]&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-explorer/wiki/Download-BX Download Bitcoin Explorer (bx)]&amp;lt;/ref&amp;gt;, [[Bitcoin_Node|Bitcoin Node]]&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-node/wiki/Download-BN Download Bitcoin Node(bx)]&amp;lt;/ref&amp;gt; and [[Bitcoin_Server|Bitcoin Server]]&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-server/wiki/Download-BS Download Bitcoin Server (bs)]&amp;lt;/ref&amp;gt; for Linux, macOS and Windows platforms. Extensive end-user and developer documentation is provided for Bitcoin Explorer&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-explorer/wiki Bitcoin Explorer Documentation]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Libbitcoin repositories include standard Autotools builds supporting GCC and Clang as well as robust Visual Studio solutions. Single file install scripts for Linux/macOS can download and build all dependencies and repositories&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin/blob/master/README.md Libbitcoin Repository Build Instructions]&amp;lt;/ref&amp;gt;. Linux and macOS builds are regularly tested on Travis-CI&amp;lt;ref&amp;gt;[https://travis-ci.org/libbitcoin Libbitcoin Build Status Reports]&amp;lt;/ref&amp;gt; and Windows builds on [https://ci.appveyor.com AppVeyor]. Tests are executed following each automated build and subsequent reports are published through Coveralls&amp;lt;ref&amp;gt;[https://coveralls.io/github/libbitcoin Libbitcoin Test Coverage Reports]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
There are a number of community Bitcoin Server deployments, including those maintained by Neill Miller and by Bitprim&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-server/wiki/Community-Servers Libbitcoin Community Servers]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Libbitcoin Libraries==&lt;br /&gt;
* [[Libbitcoin_Common|libbitcoin]] (system)&lt;br /&gt;
* [[Libbitcoin_Blockchain|libbitcoin-blockchain]]&lt;br /&gt;
* [[Libbitcoin_Build|libbitcoin-build]]&lt;br /&gt;
* [[Libbitcoin_Client|libbitcoin-client]]&lt;br /&gt;
* [[Libbitcoin_Consensus|libbitcoin-consensus]]&lt;br /&gt;
* [[Libbitcoin_Database|libbitcoin-database]]&lt;br /&gt;
* [[Libbitcoin_Explorer|libbitcoin-explorer]]&lt;br /&gt;
* [[Libbitcoin_Network|libbitcoin-network]]&lt;br /&gt;
* [[Libbitcoin_Node|libbitcoin-node]]&lt;br /&gt;
* [[Libbitcoin_Protocol|libbitcoin-protocol]]&lt;br /&gt;
* [[Libbitcoin_Server|libbitcoin-server]]&lt;br /&gt;
&lt;br /&gt;
==Libbitcoin Applications==&lt;br /&gt;
* [[Bitcoin_Explorer|Bitcoin Explorer]] (bx) - Bitcoin command line tool &lt;br /&gt;
* [[Bitcoin_Node|Bitcoin Node]] (bn) - Bitcoin full node (only)&lt;br /&gt;
* [[Bitcoin_Server|Bitcoin Server]] (bs) - Blockchain query service (and full node)&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
* Libbitcoin was the second full implementation of [https://bitcoin.org/bitcoin.pdf Bitcoin], after the [[Original_Bitcoin_client|original client]]. It was created by a community of open source developers led by [[Amir_Taaki|Amir Taaki]] (genjix).&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin/graphs/contributors GitHub Libbitcoin Contributors]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The first commits were by [[Patrick_Strateman|Patrick Strateman]] (phantomcircuit) on May 18, 2011&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin/commit/9dea4682bf0e4247f3c4cb8a6c140ade61bf7df7 First Libbitcoin Commit by Patrick Strateman]&amp;lt;/ref&amp;gt; and Libbitcoin was announced on July 21, 2011.&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=30646.0 Bitcoin Talk Libbitcoin Announcement]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The related command line application [[SubvertX|SubvertX (sx)]] was announced on November 2, 2011.&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=50721.0 Bitcoin Talk SubvertX Announcement]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The related server [[Obelisk]] was first released on January 6, 2014, with an update to SubvertX (sx) and the second major release of Libbitcoin.&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=30646.msg4341812#msg4341812 Bitcoin Talk Libbitcoin, Obelisk and SubvertX Release Announcement]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* SubvertX was redesigned by [[Eric_Voskuil|Eric Voskuil]] (evoskuil) and released as [[Bitcoin_Explorer|Bitcoin Explorer]] (bx 2.0) on December 13, 2014.&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-explorer/releases/tag/v2.0.0 Bitcoin Explorer Release]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The privacy protocol design was the work product of a Libbitcoin team meeting in San Diego in August, 2014.&amp;lt;ref&amp;gt;[https://lists.dyne.org/lurker/message/20140906.221448.18997951.en.html Libbitcoin Update 2014-09-06]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[Bitcoin_Server|Bitcoin Server]] (bs 2.0) was released on On May 9th, 2015, replacing Obelisk. A blockchain redesign by genjix substantially improved query performance&amp;lt;ref&amp;gt;[http://www.reddit.com/r/Bitcoin/comments/2go7qm/devs_be_sure_to_test_your_bitcoin_apidata Reddit Post on Obelisk Performance]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
* [[Bitcoin_Node|Bitcoin Node]] (bn 2.2) achieved parity with Bitcoin Server on December 21st, 2015, as a release quality full node.&lt;br /&gt;
* All repositories were updated to version 3.0 on March 7th, 2017, including substantial performance, quality and feature improvements &amp;lt;ref&amp;gt;[https://lists.dyne.org/lurker/message/20170308.080743.d893b7da.en.html Libbitcoin Update 2017-03-08]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Active Maintainers==&lt;br /&gt;
* [[Eric_Voskuil|Eric Voskuil]] (development)&lt;br /&gt;
* Phillip Mienk (development)&lt;br /&gt;
* Neill Miller (development, hosting)&lt;br /&gt;
* Pablo Castellano ([https://tracker.debian.org/pkg/libbitcoin debian packaging])&lt;br /&gt;
* Santi ([https://libbitcoin.org libbitcoin.org])&lt;br /&gt;
* Mariano (node/server operational test)&lt;br /&gt;
* Skaht (bx operational test)&lt;br /&gt;
&lt;br /&gt;
==Early Contributors==&lt;br /&gt;
* [[Amir_Taaki|Amir Taaki]] (genjix)&lt;br /&gt;
* Robert Williamson (bobalot)&lt;br /&gt;
* [[Patrick_Strateman|Patrick Strateman]] (phantomcircuit)&lt;br /&gt;
* Denis Roio (jaromil)&lt;br /&gt;
* [[Luke_Dashjr| Luke Dashjr]] (luke-jr)&lt;br /&gt;
&lt;br /&gt;
==Projects Using Libbitcoin==&lt;br /&gt;
* [[Airbitz]]&lt;br /&gt;
* [http://bitprim.org/ Bitprim]&lt;br /&gt;
* [https://cancoin.co/wallet Cancoin]&lt;br /&gt;
* [https://chip-chap.com Chip-Chap]&lt;br /&gt;
* [https://github.com/darkwallet/darkleaks Darkleaks]&lt;br /&gt;
* [https://www.darkwallet.is Darkwallet]&lt;br /&gt;
* [https://github.com/darkwallet/darkmarket Darkmarket]&lt;br /&gt;
* [[Mastering_Bitcoin]]&lt;br /&gt;
* [https://github.com/mvs-live/metaverse Metaverse]&lt;br /&gt;
* [http://openbazaar.org OpenBazaar]&lt;br /&gt;
* [https://www.cs.cornell.edu/People/egs/papers/teechan.pdf Teechan]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [http://libbitcoin.org libbitcoin.org]&lt;br /&gt;
* {{Freenode IRC|libbitcoin}}&lt;br /&gt;
* [https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/libbitcoin Libbitcoin Mailing List]&lt;br /&gt;
* [https://bitcointalk.org/index.php?topic=30646.0 Bitcointalk Topic]&lt;br /&gt;
* https://bitcoinmagazine.com/articles/what-libbitcoin-and-sx-are-and-why-they-matter-1376064919&lt;br /&gt;
* http://blog.coinkite.com/post/97397052686/public-obelisk-server-for-the-community&lt;br /&gt;
* http://www.slideshare.net/swansontec/libbitcoin-slides&lt;br /&gt;
* https://github.com/aantonop/bitcoinbook/blob/develop/appdx-bx.asciidoc&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
[[Category:Clients‏‎]]&lt;br /&gt;
[[Category:Nodes]]&lt;br /&gt;
[[Category:Open Source]]&lt;br /&gt;
[[Category:Software‏‎]]&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Libbitcoin&amp;diff=68487</id>
		<title>Libbitcoin</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Libbitcoin&amp;diff=68487"/>
		<updated>2021-03-09T01:04:03Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: /* Projects Using Libbitcoin */ fix list sort :/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Libbitcoin-logo.png|250px|right|libbitcoin logo]]&lt;br /&gt;
&lt;br /&gt;
[http://libbitcoin.info Libbitcoin] is a set of cross platform, open source C++ libraries for building bitcoin applications. The toolkit consists of libraries, examples, tests and applications. The project was established on three principles&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=30646.msg384791#msg384791 Libbitcoin Values - Amir Taaki]&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* Privacy: Bitcoin should always remain as private as possible for its users.&lt;br /&gt;
* Scalability: Bitcoin built today with the future in mind.&lt;br /&gt;
* Integrity: No individual or group should have enough power over the network to compromise its original aims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
Libbitcoin is actively maintained. Since version 2.0 the original projects of [[Libbitcoin_Common|Libbitcoin]], [[Obelisk]] and [[SubvertX|SubvertX (sx)]] have been rationalized under a common repository, taxonomy and build system&amp;lt;ref&amp;gt;[https://github.com/libbitcoin Libbitcoin Repository]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Libbitcoin includes the dedicated consensus library [[Libbitcoin_Consensus|libbitcoin-consensus]]. This library provides a clean interface to the 34 source and header files from Bitcoin Core considered consensus critical. The use of this library is optional when building [[Libbitcoin_Blockchain|libbitcoin-blockchain]].&lt;br /&gt;
&lt;br /&gt;
Signed single file application binaries are available for [[Bitcoin_Explorer|Bitcoin Explorer]]&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-explorer/wiki/Download-BX Download Bitcoin Explorer (bx)]&amp;lt;/ref&amp;gt;, [[Bitcoin_Node|Bitcoin Node]]&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-node/wiki/Download-BN Download Bitcoin Node(bx)]&amp;lt;/ref&amp;gt; and [[Bitcoin_Server|Bitcoin Server]]&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-server/wiki/Download-BS Download Bitcoin Server (bs)]&amp;lt;/ref&amp;gt; for Linux, macOS and Windows platforms. Extensive end-user and developer documentation is provided for Bitcoin Explorer&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-explorer/wiki Bitcoin Explorer Documentation]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Libbitcoin repositories include standard Autotools builds supporting GCC and Clang as well as robust Visual Studio solutions. Single file install scripts for Linux/macOS can download and build all dependencies and repositories&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin/blob/master/README.md Libbitcoin Repository Build Instructions]&amp;lt;/ref&amp;gt;. Linux and macOS builds are regularly tested on Travis-CI&amp;lt;ref&amp;gt;[https://travis-ci.org/libbitcoin Libbitcoin Build Status Reports]&amp;lt;/ref&amp;gt; and Windows builds on [https://ci.appveyor.com AppVeyor]. Tests are executed following each automated build and subsequent reports are published through Coveralls&amp;lt;ref&amp;gt;[https://coveralls.io/r/libbitcoin Libbitcoin Test Coverage Reports]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
There are a number of community Bitcoin Server deployments, including those maintained by Neill Miller and by Bitprim&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-server/wiki/Community-Servers Libbitcoin Community Servers]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Libbitcoin Libraries==&lt;br /&gt;
* [[Libbitcoin_Common|libbitcoin]] (system)&lt;br /&gt;
* [[Libbitcoin_Blockchain|libbitcoin-blockchain]]&lt;br /&gt;
* [[Libbitcoin_Build|libbitcoin-build]]&lt;br /&gt;
* [[Libbitcoin_Client|libbitcoin-client]]&lt;br /&gt;
* [[Libbitcoin_Consensus|libbitcoin-consensus]]&lt;br /&gt;
* [[Libbitcoin_Database|libbitcoin-database]]&lt;br /&gt;
* [[Libbitcoin_Explorer|libbitcoin-explorer]]&lt;br /&gt;
* [[Libbitcoin_Network|libbitcoin-network]]&lt;br /&gt;
* [[Libbitcoin_Node|libbitcoin-node]]&lt;br /&gt;
* [[Libbitcoin_Protocol|libbitcoin-protocol]]&lt;br /&gt;
* [[Libbitcoin_Server|libbitcoin-server]]&lt;br /&gt;
&lt;br /&gt;
==Libbitcoin Applications==&lt;br /&gt;
* [[Bitcoin_Explorer|Bitcoin Explorer]] (bx) - Bitcoin command line tool &lt;br /&gt;
* [[Bitcoin_Node|Bitcoin Node]] (bn) - Bitcoin full node (only)&lt;br /&gt;
* [[Bitcoin_Server|Bitcoin Server]] (bs) - Blockchain query service (and full node)&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
* Libbitcoin was the second full implementation of [https://bitcoin.org/bitcoin.pdf Bitcoin], after the [[Original_Bitcoin_client|original client]]. It was created by a community of open source developers led by [[Amir_Taaki|Amir Taaki]] (genjix).&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin/graphs/contributors GitHub Libbitcoin Contributors]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The first commits were by [[Patrick_Strateman|Patrick Strateman]] (phantomcircuit) on May 18, 2011&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin/commit/9dea4682bf0e4247f3c4cb8a6c140ade61bf7df7 First Libbitcoin Commit by Patrick Strateman]&amp;lt;/ref&amp;gt; and Libbitcoin was announced on July 21, 2011.&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=30646.0 Bitcoin Talk Libbitcoin Announcement]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The related command line application [[SubvertX|SubvertX (sx)]] was announced on November 2, 2011.&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=50721.0 Bitcoin Talk SubvertX Announcement]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The related server [[Obelisk]] was first released on January 6, 2014, with an update to SubvertX (sx) and the second major release of Libbitcoin.&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=30646.msg4341812#msg4341812 Bitcoin Talk Libbitcoin, Obelisk and SubvertX Release Announcement]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* SubvertX was redesigned by [[Eric_Voskuil|Eric Voskuil]] (evoskuil) and released as [[Bitcoin_Explorer|Bitcoin Explorer]] (bx 2.0) on December 13, 2014.&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-explorer/releases/tag/v2.0.0 Bitcoin Explorer Release]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The privacy protocol design was the work product of a Libbitcoin team meeting in San Diego in August, 2014.&amp;lt;ref&amp;gt;[https://lists.dyne.org/lurker/message/20140906.221448.18997951.en.html Libbitcoin Update 2014-09-06]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[Bitcoin_Server|Bitcoin Server]] (bs 2.0) was released on On May 9th, 2015, replacing Obelisk. A blockchain redesign by genjix substantially improved query performance&amp;lt;ref&amp;gt;[http://www.reddit.com/r/Bitcoin/comments/2go7qm/devs_be_sure_to_test_your_bitcoin_apidata Reddit Post on Obelisk Performance]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
* [[Bitcoin_Node|Bitcoin Node]] (bn 2.2) achieved parity with Bitcoin Server on December 21st, 2015, as a release quality full node.&lt;br /&gt;
* All repositories were updated to version 3.0 on March 7th, 2017, including substantial performance, quality and feature improvements &amp;lt;ref&amp;gt;[https://lists.dyne.org/lurker/message/20170308.080743.d893b7da.en.html Libbitcoin Update 2017-03-08]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Active Maintainers==&lt;br /&gt;
* [[Eric_Voskuil|Eric Voskuil]] (development)&lt;br /&gt;
* Phillip Mienk (development)&lt;br /&gt;
* Neill Miller (development, hosting)&lt;br /&gt;
* Pablo Castellano ([https://tracker.debian.org/pkg/libbitcoin debian packaging])&lt;br /&gt;
* Santi ([https://libbitcoin.org libbitcoin.org])&lt;br /&gt;
* Mariano (node/server operational test)&lt;br /&gt;
* Skaht (bx operational test)&lt;br /&gt;
&lt;br /&gt;
==Early Contributors==&lt;br /&gt;
* [[Amir_Taaki|Amir Taaki]] (genjix)&lt;br /&gt;
* Robert Williamson (bobalot)&lt;br /&gt;
* [[Patrick_Strateman|Patrick Strateman]] (phantomcircuit)&lt;br /&gt;
* Denis Roio (jaromil)&lt;br /&gt;
* [[Luke_Dashjr| Luke Dashjr]] (luke-jr)&lt;br /&gt;
&lt;br /&gt;
==Projects Using Libbitcoin==&lt;br /&gt;
* [[Airbitz]]&lt;br /&gt;
* [http://bitprim.org/ Bitprim]&lt;br /&gt;
* [https://cancoin.co/wallet Cancoin]&lt;br /&gt;
* [https://chip-chap.com Chip-Chap]&lt;br /&gt;
* [https://github.com/darkwallet/darkleaks Darkleaks]&lt;br /&gt;
* [https://www.darkwallet.is Darkwallet]&lt;br /&gt;
* [https://github.com/darkwallet/darkmarket Darkmarket]&lt;br /&gt;
* [[Mastering_Bitcoin]]&lt;br /&gt;
* [https://github.com/mvs-live/metaverse Metaverse]&lt;br /&gt;
* [http://openbazaar.org OpenBazaar]&lt;br /&gt;
* [https://www.cs.cornell.edu/People/egs/papers/teechan.pdf Teechan]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [http://libbitcoin.org libbitcoin.org]&lt;br /&gt;
* {{Freenode IRC|libbitcoin}}&lt;br /&gt;
* [https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/libbitcoin Libbitcoin Mailing List]&lt;br /&gt;
* [https://bitcointalk.org/index.php?topic=30646.0 Bitcointalk Topic]&lt;br /&gt;
* https://bitcoinmagazine.com/articles/what-libbitcoin-and-sx-are-and-why-they-matter-1376064919&lt;br /&gt;
* http://blog.coinkite.com/post/97397052686/public-obelisk-server-for-the-community&lt;br /&gt;
* http://www.slideshare.net/swansontec/libbitcoin-slides&lt;br /&gt;
* https://github.com/aantonop/bitcoinbook/blob/develop/appdx-bx.asciidoc&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
[[Category:Clients‏‎]]&lt;br /&gt;
[[Category:Nodes]]&lt;br /&gt;
[[Category:Open Source]]&lt;br /&gt;
[[Category:Software‏‎]]&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Libbitcoin&amp;diff=68486</id>
		<title>Libbitcoin</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Libbitcoin&amp;diff=68486"/>
		<updated>2021-03-09T01:03:39Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: /* Projects Using Libbitcoin */ Update  * Mastering_Bitcoin dead link to wiki internal link and resort.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Libbitcoin-logo.png|250px|right|libbitcoin logo]]&lt;br /&gt;
&lt;br /&gt;
[http://libbitcoin.info Libbitcoin] is a set of cross platform, open source C++ libraries for building bitcoin applications. The toolkit consists of libraries, examples, tests and applications. The project was established on three principles&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=30646.msg384791#msg384791 Libbitcoin Values - Amir Taaki]&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* Privacy: Bitcoin should always remain as private as possible for its users.&lt;br /&gt;
* Scalability: Bitcoin built today with the future in mind.&lt;br /&gt;
* Integrity: No individual or group should have enough power over the network to compromise its original aims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
Libbitcoin is actively maintained. Since version 2.0 the original projects of [[Libbitcoin_Common|Libbitcoin]], [[Obelisk]] and [[SubvertX|SubvertX (sx)]] have been rationalized under a common repository, taxonomy and build system&amp;lt;ref&amp;gt;[https://github.com/libbitcoin Libbitcoin Repository]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Libbitcoin includes the dedicated consensus library [[Libbitcoin_Consensus|libbitcoin-consensus]]. This library provides a clean interface to the 34 source and header files from Bitcoin Core considered consensus critical. The use of this library is optional when building [[Libbitcoin_Blockchain|libbitcoin-blockchain]].&lt;br /&gt;
&lt;br /&gt;
Signed single file application binaries are available for [[Bitcoin_Explorer|Bitcoin Explorer]]&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-explorer/wiki/Download-BX Download Bitcoin Explorer (bx)]&amp;lt;/ref&amp;gt;, [[Bitcoin_Node|Bitcoin Node]]&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-node/wiki/Download-BN Download Bitcoin Node(bx)]&amp;lt;/ref&amp;gt; and [[Bitcoin_Server|Bitcoin Server]]&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-server/wiki/Download-BS Download Bitcoin Server (bs)]&amp;lt;/ref&amp;gt; for Linux, macOS and Windows platforms. Extensive end-user and developer documentation is provided for Bitcoin Explorer&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-explorer/wiki Bitcoin Explorer Documentation]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Libbitcoin repositories include standard Autotools builds supporting GCC and Clang as well as robust Visual Studio solutions. Single file install scripts for Linux/macOS can download and build all dependencies and repositories&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin/blob/master/README.md Libbitcoin Repository Build Instructions]&amp;lt;/ref&amp;gt;. Linux and macOS builds are regularly tested on Travis-CI&amp;lt;ref&amp;gt;[https://travis-ci.org/libbitcoin Libbitcoin Build Status Reports]&amp;lt;/ref&amp;gt; and Windows builds on [https://ci.appveyor.com AppVeyor]. Tests are executed following each automated build and subsequent reports are published through Coveralls&amp;lt;ref&amp;gt;[https://coveralls.io/r/libbitcoin Libbitcoin Test Coverage Reports]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
There are a number of community Bitcoin Server deployments, including those maintained by Neill Miller and by Bitprim&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-server/wiki/Community-Servers Libbitcoin Community Servers]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Libbitcoin Libraries==&lt;br /&gt;
* [[Libbitcoin_Common|libbitcoin]] (system)&lt;br /&gt;
* [[Libbitcoin_Blockchain|libbitcoin-blockchain]]&lt;br /&gt;
* [[Libbitcoin_Build|libbitcoin-build]]&lt;br /&gt;
* [[Libbitcoin_Client|libbitcoin-client]]&lt;br /&gt;
* [[Libbitcoin_Consensus|libbitcoin-consensus]]&lt;br /&gt;
* [[Libbitcoin_Database|libbitcoin-database]]&lt;br /&gt;
* [[Libbitcoin_Explorer|libbitcoin-explorer]]&lt;br /&gt;
* [[Libbitcoin_Network|libbitcoin-network]]&lt;br /&gt;
* [[Libbitcoin_Node|libbitcoin-node]]&lt;br /&gt;
* [[Libbitcoin_Protocol|libbitcoin-protocol]]&lt;br /&gt;
* [[Libbitcoin_Server|libbitcoin-server]]&lt;br /&gt;
&lt;br /&gt;
==Libbitcoin Applications==&lt;br /&gt;
* [[Bitcoin_Explorer|Bitcoin Explorer]] (bx) - Bitcoin command line tool &lt;br /&gt;
* [[Bitcoin_Node|Bitcoin Node]] (bn) - Bitcoin full node (only)&lt;br /&gt;
* [[Bitcoin_Server|Bitcoin Server]] (bs) - Blockchain query service (and full node)&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
* Libbitcoin was the second full implementation of [https://bitcoin.org/bitcoin.pdf Bitcoin], after the [[Original_Bitcoin_client|original client]]. It was created by a community of open source developers led by [[Amir_Taaki|Amir Taaki]] (genjix).&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin/graphs/contributors GitHub Libbitcoin Contributors]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The first commits were by [[Patrick_Strateman|Patrick Strateman]] (phantomcircuit) on May 18, 2011&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin/commit/9dea4682bf0e4247f3c4cb8a6c140ade61bf7df7 First Libbitcoin Commit by Patrick Strateman]&amp;lt;/ref&amp;gt; and Libbitcoin was announced on July 21, 2011.&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=30646.0 Bitcoin Talk Libbitcoin Announcement]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The related command line application [[SubvertX|SubvertX (sx)]] was announced on November 2, 2011.&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=50721.0 Bitcoin Talk SubvertX Announcement]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The related server [[Obelisk]] was first released on January 6, 2014, with an update to SubvertX (sx) and the second major release of Libbitcoin.&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=30646.msg4341812#msg4341812 Bitcoin Talk Libbitcoin, Obelisk and SubvertX Release Announcement]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* SubvertX was redesigned by [[Eric_Voskuil|Eric Voskuil]] (evoskuil) and released as [[Bitcoin_Explorer|Bitcoin Explorer]] (bx 2.0) on December 13, 2014.&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-explorer/releases/tag/v2.0.0 Bitcoin Explorer Release]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The privacy protocol design was the work product of a Libbitcoin team meeting in San Diego in August, 2014.&amp;lt;ref&amp;gt;[https://lists.dyne.org/lurker/message/20140906.221448.18997951.en.html Libbitcoin Update 2014-09-06]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[Bitcoin_Server|Bitcoin Server]] (bs 2.0) was released on On May 9th, 2015, replacing Obelisk. A blockchain redesign by genjix substantially improved query performance&amp;lt;ref&amp;gt;[http://www.reddit.com/r/Bitcoin/comments/2go7qm/devs_be_sure_to_test_your_bitcoin_apidata Reddit Post on Obelisk Performance]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
* [[Bitcoin_Node|Bitcoin Node]] (bn 2.2) achieved parity with Bitcoin Server on December 21st, 2015, as a release quality full node.&lt;br /&gt;
* All repositories were updated to version 3.0 on March 7th, 2017, including substantial performance, quality and feature improvements &amp;lt;ref&amp;gt;[https://lists.dyne.org/lurker/message/20170308.080743.d893b7da.en.html Libbitcoin Update 2017-03-08]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Active Maintainers==&lt;br /&gt;
* [[Eric_Voskuil|Eric Voskuil]] (development)&lt;br /&gt;
* Phillip Mienk (development)&lt;br /&gt;
* Neill Miller (development, hosting)&lt;br /&gt;
* Pablo Castellano ([https://tracker.debian.org/pkg/libbitcoin debian packaging])&lt;br /&gt;
* Santi ([https://libbitcoin.org libbitcoin.org])&lt;br /&gt;
* Mariano (node/server operational test)&lt;br /&gt;
* Skaht (bx operational test)&lt;br /&gt;
&lt;br /&gt;
==Early Contributors==&lt;br /&gt;
* [[Amir_Taaki|Amir Taaki]] (genjix)&lt;br /&gt;
* Robert Williamson (bobalot)&lt;br /&gt;
* [[Patrick_Strateman|Patrick Strateman]] (phantomcircuit)&lt;br /&gt;
* Denis Roio (jaromil)&lt;br /&gt;
* [[Luke_Dashjr| Luke Dashjr]] (luke-jr)&lt;br /&gt;
&lt;br /&gt;
==Projects Using Libbitcoin==&lt;br /&gt;
* [[Airbitz]]&lt;br /&gt;
* [[Mastering_Bitcoin]]&lt;br /&gt;
* [http://bitprim.org/ Bitprim]&lt;br /&gt;
* [https://cancoin.co/wallet Cancoin]&lt;br /&gt;
* [https://chip-chap.com Chip-Chap]&lt;br /&gt;
* [https://github.com/darkwallet/darkleaks Darkleaks]&lt;br /&gt;
* [https://www.darkwallet.is Darkwallet]&lt;br /&gt;
* [https://github.com/darkwallet/darkmarket Darkmarket]&lt;br /&gt;
* [https://github.com/mvs-live/metaverse Metaverse]&lt;br /&gt;
* [http://openbazaar.org OpenBazaar]&lt;br /&gt;
* [https://www.cs.cornell.edu/People/egs/papers/teechan.pdf Teechan]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [http://libbitcoin.org libbitcoin.org]&lt;br /&gt;
* {{Freenode IRC|libbitcoin}}&lt;br /&gt;
* [https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/libbitcoin Libbitcoin Mailing List]&lt;br /&gt;
* [https://bitcointalk.org/index.php?topic=30646.0 Bitcointalk Topic]&lt;br /&gt;
* https://bitcoinmagazine.com/articles/what-libbitcoin-and-sx-are-and-why-they-matter-1376064919&lt;br /&gt;
* http://blog.coinkite.com/post/97397052686/public-obelisk-server-for-the-community&lt;br /&gt;
* http://www.slideshare.net/swansontec/libbitcoin-slides&lt;br /&gt;
* https://github.com/aantonop/bitcoinbook/blob/develop/appdx-bx.asciidoc&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
[[Category:Clients‏‎]]&lt;br /&gt;
[[Category:Nodes]]&lt;br /&gt;
[[Category:Open Source]]&lt;br /&gt;
[[Category:Software‏‎]]&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Libbitcoin&amp;diff=68485</id>
		<title>Libbitcoin</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Libbitcoin&amp;diff=68485"/>
		<updated>2021-03-09T01:00:46Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: Fix dead link, change OSX to macOS, remove reference to dead feature (SWIG).&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Libbitcoin-logo.png|250px|right|libbitcoin logo]]&lt;br /&gt;
&lt;br /&gt;
[http://libbitcoin.info Libbitcoin] is a set of cross platform, open source C++ libraries for building bitcoin applications. The toolkit consists of libraries, examples, tests and applications. The project was established on three principles&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=30646.msg384791#msg384791 Libbitcoin Values - Amir Taaki]&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* Privacy: Bitcoin should always remain as private as possible for its users.&lt;br /&gt;
* Scalability: Bitcoin built today with the future in mind.&lt;br /&gt;
* Integrity: No individual or group should have enough power over the network to compromise its original aims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
Libbitcoin is actively maintained. Since version 2.0 the original projects of [[Libbitcoin_Common|Libbitcoin]], [[Obelisk]] and [[SubvertX|SubvertX (sx)]] have been rationalized under a common repository, taxonomy and build system&amp;lt;ref&amp;gt;[https://github.com/libbitcoin Libbitcoin Repository]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Libbitcoin includes the dedicated consensus library [[Libbitcoin_Consensus|libbitcoin-consensus]]. This library provides a clean interface to the 34 source and header files from Bitcoin Core considered consensus critical. The use of this library is optional when building [[Libbitcoin_Blockchain|libbitcoin-blockchain]].&lt;br /&gt;
&lt;br /&gt;
Signed single file application binaries are available for [[Bitcoin_Explorer|Bitcoin Explorer]]&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-explorer/wiki/Download-BX Download Bitcoin Explorer (bx)]&amp;lt;/ref&amp;gt;, [[Bitcoin_Node|Bitcoin Node]]&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-node/wiki/Download-BN Download Bitcoin Node(bx)]&amp;lt;/ref&amp;gt; and [[Bitcoin_Server|Bitcoin Server]]&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-server/wiki/Download-BS Download Bitcoin Server (bs)]&amp;lt;/ref&amp;gt; for Linux, macOS and Windows platforms. Extensive end-user and developer documentation is provided for Bitcoin Explorer&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-explorer/wiki Bitcoin Explorer Documentation]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Libbitcoin repositories include standard Autotools builds supporting GCC and Clang as well as robust Visual Studio solutions. Single file install scripts for Linux/macOS can download and build all dependencies and repositories&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin/blob/master/README.md Libbitcoin Repository Build Instructions]&amp;lt;/ref&amp;gt;. Linux and macOS builds are regularly tested on Travis-CI&amp;lt;ref&amp;gt;[https://travis-ci.org/libbitcoin Libbitcoin Build Status Reports]&amp;lt;/ref&amp;gt; and Windows builds on [https://ci.appveyor.com AppVeyor]. Tests are executed following each automated build and subsequent reports are published through Coveralls&amp;lt;ref&amp;gt;[https://coveralls.io/r/libbitcoin Libbitcoin Test Coverage Reports]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
There are a number of community Bitcoin Server deployments, including those maintained by Neill Miller and by Bitprim&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-server/wiki/Community-Servers Libbitcoin Community Servers]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Libbitcoin Libraries==&lt;br /&gt;
* [[Libbitcoin_Common|libbitcoin]] (system)&lt;br /&gt;
* [[Libbitcoin_Blockchain|libbitcoin-blockchain]]&lt;br /&gt;
* [[Libbitcoin_Build|libbitcoin-build]]&lt;br /&gt;
* [[Libbitcoin_Client|libbitcoin-client]]&lt;br /&gt;
* [[Libbitcoin_Consensus|libbitcoin-consensus]]&lt;br /&gt;
* [[Libbitcoin_Database|libbitcoin-database]]&lt;br /&gt;
* [[Libbitcoin_Explorer|libbitcoin-explorer]]&lt;br /&gt;
* [[Libbitcoin_Network|libbitcoin-network]]&lt;br /&gt;
* [[Libbitcoin_Node|libbitcoin-node]]&lt;br /&gt;
* [[Libbitcoin_Protocol|libbitcoin-protocol]]&lt;br /&gt;
* [[Libbitcoin_Server|libbitcoin-server]]&lt;br /&gt;
&lt;br /&gt;
==Libbitcoin Applications==&lt;br /&gt;
* [[Bitcoin_Explorer|Bitcoin Explorer]] (bx) - Bitcoin command line tool &lt;br /&gt;
* [[Bitcoin_Node|Bitcoin Node]] (bn) - Bitcoin full node (only)&lt;br /&gt;
* [[Bitcoin_Server|Bitcoin Server]] (bs) - Blockchain query service (and full node)&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
* Libbitcoin was the second full implementation of [https://bitcoin.org/bitcoin.pdf Bitcoin], after the [[Original_Bitcoin_client|original client]]. It was created by a community of open source developers led by [[Amir_Taaki|Amir Taaki]] (genjix).&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin/graphs/contributors GitHub Libbitcoin Contributors]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The first commits were by [[Patrick_Strateman|Patrick Strateman]] (phantomcircuit) on May 18, 2011&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin/commit/9dea4682bf0e4247f3c4cb8a6c140ade61bf7df7 First Libbitcoin Commit by Patrick Strateman]&amp;lt;/ref&amp;gt; and Libbitcoin was announced on July 21, 2011.&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=30646.0 Bitcoin Talk Libbitcoin Announcement]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The related command line application [[SubvertX|SubvertX (sx)]] was announced on November 2, 2011.&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=50721.0 Bitcoin Talk SubvertX Announcement]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The related server [[Obelisk]] was first released on January 6, 2014, with an update to SubvertX (sx) and the second major release of Libbitcoin.&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=30646.msg4341812#msg4341812 Bitcoin Talk Libbitcoin, Obelisk and SubvertX Release Announcement]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* SubvertX was redesigned by [[Eric_Voskuil|Eric Voskuil]] (evoskuil) and released as [[Bitcoin_Explorer|Bitcoin Explorer]] (bx 2.0) on December 13, 2014.&amp;lt;ref&amp;gt;[https://github.com/libbitcoin/libbitcoin-explorer/releases/tag/v2.0.0 Bitcoin Explorer Release]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The privacy protocol design was the work product of a Libbitcoin team meeting in San Diego in August, 2014.&amp;lt;ref&amp;gt;[https://lists.dyne.org/lurker/message/20140906.221448.18997951.en.html Libbitcoin Update 2014-09-06]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[Bitcoin_Server|Bitcoin Server]] (bs 2.0) was released on On May 9th, 2015, replacing Obelisk. A blockchain redesign by genjix substantially improved query performance&amp;lt;ref&amp;gt;[http://www.reddit.com/r/Bitcoin/comments/2go7qm/devs_be_sure_to_test_your_bitcoin_apidata Reddit Post on Obelisk Performance]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
* [[Bitcoin_Node|Bitcoin Node]] (bn 2.2) achieved parity with Bitcoin Server on December 21st, 2015, as a release quality full node.&lt;br /&gt;
* All repositories were updated to version 3.0 on March 7th, 2017, including substantial performance, quality and feature improvements &amp;lt;ref&amp;gt;[https://lists.dyne.org/lurker/message/20170308.080743.d893b7da.en.html Libbitcoin Update 2017-03-08]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Active Maintainers==&lt;br /&gt;
* [[Eric_Voskuil|Eric Voskuil]] (development)&lt;br /&gt;
* Phillip Mienk (development)&lt;br /&gt;
* Neill Miller (development, hosting)&lt;br /&gt;
* Pablo Castellano ([https://tracker.debian.org/pkg/libbitcoin debian packaging])&lt;br /&gt;
* Santi ([https://libbitcoin.org libbitcoin.org])&lt;br /&gt;
* Mariano (node/server operational test)&lt;br /&gt;
* Skaht (bx operational test)&lt;br /&gt;
&lt;br /&gt;
==Early Contributors==&lt;br /&gt;
* [[Amir_Taaki|Amir Taaki]] (genjix)&lt;br /&gt;
* Robert Williamson (bobalot)&lt;br /&gt;
* [[Patrick_Strateman|Patrick Strateman]] (phantomcircuit)&lt;br /&gt;
* Denis Roio (jaromil)&lt;br /&gt;
* [[Luke_Dashjr| Luke Dashjr]] (luke-jr)&lt;br /&gt;
&lt;br /&gt;
==Projects Using Libbitcoin==&lt;br /&gt;
* [[Airbitz]]&lt;br /&gt;
* [http://bitprim.org/ Bitprim]&lt;br /&gt;
* [https://cancoin.co/wallet Cancoin]&lt;br /&gt;
* [https://chip-chap.com Chip-Chap]&lt;br /&gt;
* [https://github.com/darkwallet/darkleaks Darkleaks]&lt;br /&gt;
* [https://www.darkwallet.is Darkwallet]&lt;br /&gt;
* [https://github.com/darkwallet/darkmarket Darkmarket]&lt;br /&gt;
* [https://www.bitcoinbook.info Mastering Bitcoin (book)]&lt;br /&gt;
* [https://github.com/mvs-live/metaverse Metaverse]&lt;br /&gt;
* [http://openbazaar.org OpenBazaar]&lt;br /&gt;
* [https://www.cs.cornell.edu/People/egs/papers/teechan.pdf Teechan]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [http://libbitcoin.org libbitcoin.org]&lt;br /&gt;
* {{Freenode IRC|libbitcoin}}&lt;br /&gt;
* [https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/libbitcoin Libbitcoin Mailing List]&lt;br /&gt;
* [https://bitcointalk.org/index.php?topic=30646.0 Bitcointalk Topic]&lt;br /&gt;
* https://bitcoinmagazine.com/articles/what-libbitcoin-and-sx-are-and-why-they-matter-1376064919&lt;br /&gt;
* http://blog.coinkite.com/post/97397052686/public-obelisk-server-for-the-community&lt;br /&gt;
* http://www.slideshare.net/swansontec/libbitcoin-slides&lt;br /&gt;
* https://github.com/aantonop/bitcoinbook/blob/develop/appdx-bx.asciidoc&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
[[Category:Clients‏‎]]&lt;br /&gt;
[[Category:Nodes]]&lt;br /&gt;
[[Category:Open Source]]&lt;br /&gt;
[[Category:Software‏‎]]&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=User:Evoskuil&amp;diff=68484</id>
		<title>User:Evoskuil</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=User:Evoskuil&amp;diff=68484"/>
		<updated>2021-03-09T00:53:40Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: Add last name&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Eric Voskuil is:&lt;br /&gt;
&lt;br /&gt;
* A [[Libbitcoin]] developer since 2014.&lt;br /&gt;
* Author of [https://voskuil.org/cryptoeconomics Cryptoeconomics].&lt;br /&gt;
* Creator of [https://cryptoecon.org CryptoEcon].&lt;br /&gt;
* Founder of the [https://bitbikers.org Bitbikers Motorcycle Club].&lt;br /&gt;
* Trustee of the [https://libbitcoininstitute.org Libbitcoin Institute].&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Developers]]&lt;br /&gt;
* [https://www.linkedin.com/in/evoskuil LinkedIn Profile]&lt;br /&gt;
* Email: eric@voskuil.org&lt;br /&gt;
* IRC: evoskuil (freenode)&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=User:Evoskuil&amp;diff=68483</id>
		<title>User:Evoskuil</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=User:Evoskuil&amp;diff=68483"/>
		<updated>2021-03-09T00:53:23Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: Update bio.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Eric is:&lt;br /&gt;
&lt;br /&gt;
* A [[Libbitcoin]] developer since 2014.&lt;br /&gt;
* Author of [https://voskuil.org/cryptoeconomics Cryptoeconomics].&lt;br /&gt;
* Creator of [https://cryptoecon.org CryptoEcon].&lt;br /&gt;
* Founder of the [https://bitbikers.org Bitbikers Motorcycle Club].&lt;br /&gt;
* Trustee of the [https://libbitcoininstitute.org Libbitcoin Institute].&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Developers]]&lt;br /&gt;
* [https://www.linkedin.com/in/evoskuil LinkedIn Profile]&lt;br /&gt;
* Email: eric@voskuil.org&lt;br /&gt;
* IRC: evoskuil (freenode)&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=User:Evoskuil&amp;diff=68482</id>
		<title>User:Evoskuil</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=User:Evoskuil&amp;diff=68482"/>
		<updated>2021-03-09T00:42:54Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: Restore info.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Eric is the [[Libbitcoin]] lead developer.&lt;br /&gt;
&lt;br /&gt;
* Email: eric@voskuil.org&lt;br /&gt;
* IRC: evoskuil (freenode)&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Developers]]&lt;br /&gt;
* [https://www.linkedin.com/in/evoskuil LinkedIn Profile]&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Pay_to_script_hash&amp;diff=64705</id>
		<title>Pay to script hash</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Pay_to_script_hash&amp;diff=64705"/>
		<updated>2017-12-30T23:34:55Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: /* History */ fix bip9 url&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox miner activated fork|title=Pay to Script Hash&lt;br /&gt;
|bipnumber=[[BIP_0016|BIP 16]]&lt;br /&gt;
|purpose=Allow the recipient of a transaction to specify the redeem script instead of the sender&lt;br /&gt;
|coinbase=/P2SH/&lt;br /&gt;
|starttime=2012-03-08 00:00:00&lt;br /&gt;
|timeout=2012-03-15 00:00:00&lt;br /&gt;
|supermajority=55%&lt;br /&gt;
|activated=Block #173805&amp;lt;br/&amp;gt;2012-04-01 00:00:00&lt;br /&gt;
}}&#039;&#039;&#039;Pay to script hash&#039;&#039;&#039; (P2SH) transactions were standardised in [[BIP 0016|BIP 16]]. They allow transactions to be sent to a script hash ([[address]] starting with 3) instead of a public key hash (addresses starting with 1). To spend bitcoins sent via P2SH, the recipient must provide a [[script]] matching the script hash and data which makes the script evaluate to true.&lt;br /&gt;
&lt;br /&gt;
Using P2SH, you can send bitcoins to an address that is secured in various unusual ways without knowing anything about the details of how the security is set up. You just send bitcoins to the ~34-character P2SH address. The recipient might need the signatures of several people to spend these bitcoins, or a password might be required, or the requirements could be completely unique.&lt;br /&gt;
&lt;br /&gt;
== Addresses ==&lt;br /&gt;
&lt;br /&gt;
[[BIP 0013|BIP 13]] specifies the address format. Bitcoin P2SH addresses always start with &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
Transaction 40eee3ae1760e3a8532263678cdf64569e6ad06abc133af64f735e52562bccc8 paid to P2SH address 3P14159f73E4gFr7JterCCQh9QjiTjiZrG.  You can see the redeem script in transaction 7edb32d4ffd7a385b763c7a8e56b6358bcd729e747290624e18acdbe6209fc45 which spends that output, using &amp;lt;code&amp;gt;OP_FALSE &amp;lt;sig&amp;gt; { OP_1 &amp;lt;pubkey&amp;gt; OP_1 OP_CHECKMULTISIG }&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
The first activation window failed and another was set to be active on 1 April 2012, in v0.6.0rc2&amp;lt;ref&amp;gt;[https://github.com/bitcoin/bitcoin/commit/46aa2a6bdd5ec512dd2e364b298e6e73c3e61354 Move BIP16 switchover time to April 1 (gavinandresen)]&amp;lt;/ref&amp;gt;.  Users running v0.6.0rc1 who did not upgrade for the delay, activated early and got stuck on block 170,060&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=63165.msg788832#msg788832 bitcointalk topic 63165]&amp;lt;/ref&amp;gt; when an invalid transaction according to their nodes was mined. Later soft fork activation techniques, such as [[BIP 0034|BIP 34]] and [[BIP 0009|BIP 9]], reflect on block history to determine activation (also from miner signaling) in order to prevent this problem.&lt;br /&gt;
&lt;br /&gt;
After activation problems were then caused by the remaining 45% of miners producing invalid blocks for several months&amp;lt;ref&amp;gt;[https://blog.bitmex.com/bitcoins-consensus-forks/ A Complete History of Bitcoin’s Consensus Forks]&amp;lt;/ref&amp;gt;. Later soft fork activation techniques raised the signaling enforcement threshold from 55% to 95% in order to mitigate this problem.&lt;br /&gt;
&lt;br /&gt;
Testnet activated following its first window, which was two weeks earlier than the first (failed) mainnet window&amp;lt;ref&amp;gt;[https://github.com/bitcoin/bitcoin/commit/8f188ece3c82c4cf5d52a3363e7643c23169c0ff Remove -bip16 and -paytoscripthashtime command-line arguments (gavinandresen)]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
342ftSRCvFHfCeFFBuz4xwbeqnDw6BGUey is a Bitcoin [[address]] notable for being the first [[P2SH]]-compatible address receiving bitcoins on the production network.&lt;br /&gt;
Its payment was mined in [[block]] 160720; note that it was spent prior to the enforcement of [[BIP 0016|BIP 16]], so it&#039;s not a good example to understand P2SH.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Pay_to_script_hash&amp;diff=64704</id>
		<title>Pay to script hash</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Pay_to_script_hash&amp;diff=64704"/>
		<updated>2017-12-30T23:32:24Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: Style, links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox miner activated fork|title=Pay to Script Hash&lt;br /&gt;
|bipnumber=[[BIP_0016|BIP 16]]&lt;br /&gt;
|purpose=Allow the recipient of a transaction to specify the redeem script instead of the sender&lt;br /&gt;
|coinbase=/P2SH/&lt;br /&gt;
|starttime=2012-03-08 00:00:00&lt;br /&gt;
|timeout=2012-03-15 00:00:00&lt;br /&gt;
|supermajority=55%&lt;br /&gt;
|activated=Block #173805&amp;lt;br/&amp;gt;2012-04-01 00:00:00&lt;br /&gt;
}}&#039;&#039;&#039;Pay to script hash&#039;&#039;&#039; (P2SH) transactions were standardised in [[BIP 0016|BIP 16]]. They allow transactions to be sent to a script hash ([[address]] starting with 3) instead of a public key hash (addresses starting with 1). To spend bitcoins sent via P2SH, the recipient must provide a [[script]] matching the script hash and data which makes the script evaluate to true.&lt;br /&gt;
&lt;br /&gt;
Using P2SH, you can send bitcoins to an address that is secured in various unusual ways without knowing anything about the details of how the security is set up. You just send bitcoins to the ~34-character P2SH address. The recipient might need the signatures of several people to spend these bitcoins, or a password might be required, or the requirements could be completely unique.&lt;br /&gt;
&lt;br /&gt;
== Addresses ==&lt;br /&gt;
&lt;br /&gt;
[[BIP 0013|BIP 13]] specifies the address format. Bitcoin P2SH addresses always start with &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
Transaction 40eee3ae1760e3a8532263678cdf64569e6ad06abc133af64f735e52562bccc8 paid to P2SH address 3P14159f73E4gFr7JterCCQh9QjiTjiZrG.  You can see the redeem script in transaction 7edb32d4ffd7a385b763c7a8e56b6358bcd729e747290624e18acdbe6209fc45 which spends that output, using &amp;lt;code&amp;gt;OP_FALSE &amp;lt;sig&amp;gt; { OP_1 &amp;lt;pubkey&amp;gt; OP_1 OP_CHECKMULTISIG }&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
The first activation window failed and another was set to be active on 1 April 2012, in v0.6.0rc2&amp;lt;ref&amp;gt;[https://github.com/bitcoin/bitcoin/commit/46aa2a6bdd5ec512dd2e364b298e6e73c3e61354 Move BIP16 switchover time to April 1 (gavinandresen)]&amp;lt;/ref&amp;gt;.  Users running v0.6.0rc1 who did not upgrade for the delay, activated early and got stuck on block 170,060&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=63165.msg788832#msg788832 bitcointalk topic 63165]&amp;lt;/ref&amp;gt; when an invalid transaction according to their nodes was mined. Later soft fork activation techniques, such as [[BIP 0034|BIP 34]] and [[BIP 00009|BIP 9]], reflect on block history to determine activation (also from miner signaling) in order to prevent this problem.&lt;br /&gt;
&lt;br /&gt;
After activation problems were then caused by the remaining 45% of miners producing invalid blocks for several months&amp;lt;ref&amp;gt;[https://blog.bitmex.com/bitcoins-consensus-forks/ A Complete History of Bitcoin’s Consensus Forks]&amp;lt;/ref&amp;gt;. Later soft fork activation techniques raised the signaling enforcement threshold from 55% to 95% in order to mitigate this problem.&lt;br /&gt;
&lt;br /&gt;
Testnet activated following its first window, which was two weeks earlier than the first (failed) mainnet window&amp;lt;ref&amp;gt;[https://github.com/bitcoin/bitcoin/commit/8f188ece3c82c4cf5d52a3363e7643c23169c0ff Remove -bip16 and -paytoscripthashtime command-line arguments (gavinandresen)]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
342ftSRCvFHfCeFFBuz4xwbeqnDw6BGUey is a Bitcoin [[address]] notable for being the first [[P2SH]]-compatible address receiving bitcoins on the production network.&lt;br /&gt;
Its payment was mined in [[block]] 160720; note that it was spent prior to the enforcement of [[BIP 0016|BIP 16]], so it&#039;s not a good example to understand P2SH.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Pay_to_script_hash&amp;diff=64703</id>
		<title>Pay to script hash</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Pay_to_script_hash&amp;diff=64703"/>
		<updated>2017-12-30T23:29:47Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: Accommodate single window (fixed props) activation box.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox miner activated fork|title=Pay to Script Hash&lt;br /&gt;
|bipnumber=[[BIP_0016|BIP 16]]&lt;br /&gt;
|purpose=Allow the recipient of a transaction to specify the redeem script instead of the sender&lt;br /&gt;
|coinbase=/P2SH/&lt;br /&gt;
|starttime=2012-03-08 00:00:00&lt;br /&gt;
|timeout=2012-03-15 00:00:00&lt;br /&gt;
|supermajority=55%&lt;br /&gt;
|activated=Block #173805&amp;lt;br/&amp;gt;2012-04-01 00:00:00&lt;br /&gt;
}}&#039;&#039;&#039;Pay to script hash&#039;&#039;&#039; (P2SH) transactions were standardised in [[BIP 0016|BIP 16]]. They allow transactions to be sent to a script hash ([[address]] starting with 3) instead of a public key hash (addresses starting with 1). To spend bitcoins sent via P2SH, the recipient must provide a [[script]] matching the script hash and data which makes the script evaluate to true.&lt;br /&gt;
&lt;br /&gt;
Using P2SH, you can send bitcoins to an address that is secured in various unusual ways without knowing anything about the details of how the security is set up. You just send bitcoins to the ~34-character P2SH address. The recipient might need the signatures of several people to spend these bitcoins, or a password might be required, or the requirements could be completely unique.&lt;br /&gt;
&lt;br /&gt;
== Addresses ==&lt;br /&gt;
&lt;br /&gt;
[[BIP 0013|BIP 13]] specifies the address format. Bitcoin P2SH addresses always start with &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
Transaction 40eee3ae1760e3a8532263678cdf64569e6ad06abc133af64f735e52562bccc8 paid to P2SH address 3P14159f73E4gFr7JterCCQh9QjiTjiZrG.  You can see the redeem script in transaction 7edb32d4ffd7a385b763c7a8e56b6358bcd729e747290624e18acdbe6209fc45 which spends that output, using &amp;lt;code&amp;gt;OP_FALSE &amp;lt;sig&amp;gt; { OP_1 &amp;lt;pubkey&amp;gt; OP_1 OP_CHECKMULTISIG }&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
The first activation window failed and another was set to be active on April 1 2012, in v0.6.0rc2&amp;lt;ref&amp;gt;[https://github.com/bitcoin/bitcoin/commit/46aa2a6bdd5ec512dd2e364b298e6e73c3e61354 Move BIP16 switchover time to April 1 (gavinandresen)]&amp;lt;/ref&amp;gt;.  Users running v0.6.0rc1 who did not upgrade for the delay, activated early and got stuck on block 170,060&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=63165.msg788832#msg788832 bitcointalk topic 63165]&amp;lt;/ref&amp;gt; when an invalid transaction according to their nodes was mined. Later soft fork activation techniques, such as BIP-34&amp;lt;ref&amp;gt;[https://github.com/bitcoin/bips/blob/master/bip-0034.mediawiki BIP-34]&amp;lt;/ref&amp;gt; and BIP-9&amp;lt;ref&amp;gt;[https://github.com/bitcoin/bips/blob/master/bip-0009.mediawiki BIP-9]&amp;lt;/ref&amp;gt;, reflect on block history to determine activation (also from miner signaling) in order to prevent this problem.&lt;br /&gt;
&lt;br /&gt;
After activation problems were then caused by the remaining 45% of miners producing invalid blocks for several months&amp;lt;ref&amp;gt;[https://blog.bitmex.com/bitcoins-consensus-forks/ A Complete History of Bitcoin’s Consensus Forks]&amp;lt;/ref&amp;gt;. Later soft fork activation techniques raised the signaling enforcement threshold from 55% to 95% in order to mitigate this problem.&lt;br /&gt;
&lt;br /&gt;
Testnet activated following its first window, which was two weeks earlier than the first (failed) mainnet window&amp;lt;ref&amp;gt;[https://github.com/bitcoin/bitcoin/commit/8f188ece3c82c4cf5d52a3363e7643c23169c0ff Remove -bip16 and -paytoscripthashtime command-line arguments (gavinandresen)]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
342ftSRCvFHfCeFFBuz4xwbeqnDw6BGUey is a Bitcoin [[address]] notable for being the first [[P2SH]]-compatible address receiving bitcoins on the production network.&lt;br /&gt;
Its payment was mined in [[block]] 160720; note that it was spent prior to the enforcement of [[BIP 0016|BIP 16]], so it&#039;s not a good example to understand P2SH.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Pay_to_script_hash&amp;diff=64702</id>
		<title>Pay to script hash</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Pay_to_script_hash&amp;diff=64702"/>
		<updated>2017-12-30T23:27:56Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: Add both activation windows, add links and more information on failed activations, add testnet activation.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox miner activated fork|title=Pay to Script Hash&lt;br /&gt;
|bipnumber=[[BIP_0016|BIP 16]]&lt;br /&gt;
|purpose=Allow the recipient of a transaction to specify the redeem script instead of the sender&lt;br /&gt;
|coinbase=/P2SH/&lt;br /&gt;
|starttime1=2012-01-25 00:00:00&lt;br /&gt;
|timeout1=2012-02-01 00:00:00&lt;br /&gt;
|starttime2=2012-03-08 00:00:00&lt;br /&gt;
|timeout2=2012-03-15 00:00:00&lt;br /&gt;
|supermajority=55%&lt;br /&gt;
|activated=Block #173805&amp;lt;br/&amp;gt;2012-04-01 00:00:00&lt;br /&gt;
}}&#039;&#039;&#039;Pay to script hash&#039;&#039;&#039; (P2SH) transactions were standardised in [[BIP 0016|BIP 16]]. They allow transactions to be sent to a script hash ([[address]] starting with 3) instead of a public key hash (addresses starting with 1). To spend bitcoins sent via P2SH, the recipient must provide a [[script]] matching the script hash and data which makes the script evaluate to true.&lt;br /&gt;
&lt;br /&gt;
Using P2SH, you can send bitcoins to an address that is secured in various unusual ways without knowing anything about the details of how the security is set up. You just send bitcoins to the ~34-character P2SH address. The recipient might need the signatures of several people to spend these bitcoins, or a password might be required, or the requirements could be completely unique.&lt;br /&gt;
&lt;br /&gt;
== Addresses ==&lt;br /&gt;
&lt;br /&gt;
[[BIP 0013|BIP 13]] specifies the address format. Bitcoin P2SH addresses always start with &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
Transaction 40eee3ae1760e3a8532263678cdf64569e6ad06abc133af64f735e52562bccc8 paid to P2SH address 3P14159f73E4gFr7JterCCQh9QjiTjiZrG.  You can see the redeem script in transaction 7edb32d4ffd7a385b763c7a8e56b6358bcd729e747290624e18acdbe6209fc45 which spends that output, using &amp;lt;code&amp;gt;OP_FALSE &amp;lt;sig&amp;gt; { OP_1 &amp;lt;pubkey&amp;gt; OP_1 OP_CHECKMULTISIG }&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
The first activation window failed and another was set to be active on April 1 2012, in v0.6.0rc2&amp;lt;ref&amp;gt;[https://github.com/bitcoin/bitcoin/commit/46aa2a6bdd5ec512dd2e364b298e6e73c3e61354 Move BIP16 switchover time to April 1 (gavinandresen)]&amp;lt;/ref&amp;gt;.  Users running v0.6.0rc1 who did not upgrade for the delay, activated early and got stuck on block 170,060&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=63165.msg788832#msg788832 bitcointalk topic 63165]&amp;lt;/ref&amp;gt; when an invalid transaction according to their nodes was mined. Later soft fork activation techniques, such as BIP-34&amp;lt;ref&amp;gt;[https://github.com/bitcoin/bips/blob/master/bip-0034.mediawiki BIP-34]&amp;lt;/ref&amp;gt; and BIP-9&amp;lt;ref&amp;gt;[https://github.com/bitcoin/bips/blob/master/bip-0009.mediawiki BIP-9]&amp;lt;/ref&amp;gt;, reflect on block history to determine activation (also from miner signaling) in order to prevent this problem.&lt;br /&gt;
&lt;br /&gt;
After activation problems were then caused by the remaining 45% of miners producing invalid blocks for several months&amp;lt;ref&amp;gt;[https://blog.bitmex.com/bitcoins-consensus-forks/ A Complete History of Bitcoin’s Consensus Forks]&amp;lt;/ref&amp;gt;. Later soft fork activation techniques raised the signaling enforcement threshold from 55% to 95% in order to mitigate this problem.&lt;br /&gt;
&lt;br /&gt;
Testnet activated following its first window, which was two weeks earlier than the first (failed) mainnet window&amp;lt;ref&amp;gt;[https://github.com/bitcoin/bitcoin/commit/8f188ece3c82c4cf5d52a3363e7643c23169c0ff Remove -bip16 and -paytoscripthashtime command-line arguments (gavinandresen)]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
342ftSRCvFHfCeFFBuz4xwbeqnDw6BGUey is a Bitcoin [[address]] notable for being the first [[P2SH]]-compatible address receiving bitcoins on the production network.&lt;br /&gt;
Its payment was mined in [[block]] 160720; note that it was spent prior to the enforcement of [[BIP 0016|BIP 16]], so it&#039;s not a good example to understand P2SH.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Pay_to_script_hash&amp;diff=64701</id>
		<title>Pay to script hash</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Pay_to_script_hash&amp;diff=64701"/>
		<updated>2017-12-30T22:39:38Z</updated>

		<summary type="html">&lt;p&gt;Evoskuil: Add history of failed initial activation and update activation date/block to match actual (vs. BIP-indicated) activation. Add discussion on forked rc1 nodes.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox miner activated fork|title=Pay to Script Hash&lt;br /&gt;
|bipnumber=[[BIP_0016|BIP 16]]&lt;br /&gt;
|purpose=Allow the recipient of a transaction to specify the redeem script instead of the sender&lt;br /&gt;
|coinbase=/P2SH/&lt;br /&gt;
|starttime=2012-01-25 00:00:00&lt;br /&gt;
|timeout=2012-02-01 00:00:00&lt;br /&gt;
|supermajority=55%&lt;br /&gt;
|activated=Block #173805&amp;lt;br/&amp;gt;2012-04-01 00:00:00&lt;br /&gt;
}}&#039;&#039;&#039;Pay to script hash&#039;&#039;&#039; (P2SH) transactions were standardised in [[BIP 0016|BIP 16]]. They allow transactions to be sent to a script hash ([[address]] starting with 3) instead of a public key hash (addresses starting with 1). To spend bitcoins sent via P2SH, the recipient must provide a [[script]] matching the script hash and data which makes the script evaluate to true.&lt;br /&gt;
&lt;br /&gt;
Using P2SH, you can send bitcoins to an address that is secured in various unusual ways without knowing anything about the details of how the security is set up. You just send bitcoins to the ~34-character P2SH address. The recipient might need the signatures of several people to spend these bitcoins, or a password might be required, or the requirements could be completely unique.&lt;br /&gt;
&lt;br /&gt;
== Addresses ==&lt;br /&gt;
&lt;br /&gt;
[[BIP 0013|BIP 13]] specifies the address format. Bitcoin P2SH addresses always start with &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
Transaction 40eee3ae1760e3a8532263678cdf64569e6ad06abc133af64f735e52562bccc8 paid to P2SH address 3P14159f73E4gFr7JterCCQh9QjiTjiZrG.  You can see the redeem script in transaction 7edb32d4ffd7a385b763c7a8e56b6358bcd729e747290624e18acdbe6209fc45 which spends that output, using &amp;lt;code&amp;gt;OP_FALSE &amp;lt;sig&amp;gt; { OP_1 &amp;lt;pubkey&amp;gt; OP_1 OP_CHECKMULTISIG }&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
The first activation window failed and another was set to start on 15 March 2012.  Users running 0.6.0rc1 who did not upgrade for the delay, activated early and got stuck on block 170,060&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=63165.msg788832#msg788832 bitcointalk topic 63165]&amp;lt;/ref&amp;gt; when an invalid transaction according to their nodes was mined.  After activation problems were then caused by the remaining 45% of miners producing invalid blocks for several months&amp;lt;ref&amp;gt;[https://blog.bitmex.com/bitcoins-consensus-forks/ A Complete History of Bitcoin’s Consensus Forks]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
342ftSRCvFHfCeFFBuz4xwbeqnDw6BGUey is a Bitcoin [[address]] notable for being the first [[P2SH]]-compatible address receiving bitcoins on the production network.&lt;br /&gt;
Its payment was mined in [[block]] 160720; note that it was spent prior to the enforcement of [[BIP 0016|BIP 16]], so it&#039;s not a good example to understand P2SH.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;/div&gt;</summary>
		<author><name>Evoskuil</name></author>
	</entry>
</feed>