<?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=Nubarius</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=Nubarius"/>
	<link rel="alternate" type="text/html" href="https://en.bitcoin.it/wiki/Special:Contributions/Nubarius"/>
	<updated>2026-04-18T10:26:04Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=User_talk:MagicalTux&amp;diff=35517</id>
		<title>User talk:MagicalTux</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=User_talk:MagicalTux&amp;diff=35517"/>
		<updated>2013-01-31T20:47:37Z</updated>

		<summary type="html">&lt;p&gt;Nubarius: BitcoinPayment issue&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hey MagicalTux, The WikiBot is not following the post-February 20th protocol change and the Fallback nodes page is not functioning. [[User:Atheros|Atheros]] 07:37, 20 February 2012 (GMT)&lt;br /&gt;
&lt;br /&gt;
Wikibot currently malfunctioning, makring all the nodes as down when they arn&#039;t.&lt;br /&gt;
There is a steady trickle of spammers adding junk pages. How about granting delete and ban privileges to some established editors, it works for some other wiki&#039;s. [[User:Ziv|Ziv]] 14 April 2012&lt;br /&gt;
&lt;br /&gt;
== BitcoinPayment ==&lt;br /&gt;
Hi MagicalTux. I have a problem with the new BitcoinPayment system. I&#039;ve decided to contact you through your talk page because nobody seems to be available in the #bitcoin-wiki chatroom. Last week Nanotube read my questions and I think he asked you to have a look at this issue but I don&#039;t know if you got the chance to read that. Basically, the problem is that I made the payment to become a trusted member and now I find that the non-English wikis are off-limits to me. It seems as if not even trusted members can edit them. This is a bit frustrating since my activity was in the Spanish wiki, where I have translated some of the technical articles. I&#039;d like to continue enlarging the Spanish wiki, but it seems to be impossible for anyone to edit the articles at the moment. Could you have a look at this? [[User:Nubarius|Nubarius]] ([[User talk:Nubarius|talk]]) 20:47, 31 January 2013 (GMT)&lt;/div&gt;</summary>
		<author><name>Nubarius</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Category:BIP&amp;diff=34388</id>
		<title>Category:BIP</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Category:BIP&amp;diff=34388"/>
		<updated>2013-01-02T17:59:38Z</updated>

		<summary type="html">&lt;p&gt;Nubarius: Interwiki link to Spanish category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Following [[BIP 0001]], BIP stands for &amp;quot;[[Bitcoin Improvement Proposal]]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
;A:Active&lt;br /&gt;
;C:Accepted&lt;br /&gt;
;D:Draft&lt;br /&gt;
;E:Deferred&lt;br /&gt;
;R:Rejected&lt;br /&gt;
;W:Withdrawn&lt;br /&gt;
;Z:Other&lt;br /&gt;
&lt;br /&gt;
[[es:Categoría:BIP]]&lt;/div&gt;</summary>
		<author><name>Nubarius</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Bitcoin_Improvement_Proposals&amp;diff=34386</id>
		<title>Bitcoin Improvement Proposals</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Bitcoin_Improvement_Proposals&amp;diff=34386"/>
		<updated>2013-01-02T17:56:21Z</updated>

		<summary type="html">&lt;p&gt;Nubarius: Interwiki link to Spanish version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;People wishing to submit BIPs, first should propose their idea or document to the mailing list. After discussion they should email Amir Taaki &amp;lt;genjix@riseup.net&amp;gt;. After copy-editing and acceptance, it will be published here.&lt;br /&gt;
&lt;br /&gt;
We are fairly liberal with approving BIPs, and try not to be too involved in decision making on behalf of the community. The exception is in very rare cases of dispute resolution when a decision is contentious and cannot be agreed upon. In those cases, the conservative option will always be preferred.&lt;br /&gt;
&lt;br /&gt;
Having a BIP here does not make it a formally accepted standard until its status becomes Active. For a BIP to become Active requires the mutual consent of the community.&lt;br /&gt;
&lt;br /&gt;
Those proposing changes should consider that ultimately consent may rest with the [[economic majority]].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: auto; text-align: center; font-size: smaller; table-layout: fixed;&amp;quot;&lt;br /&gt;
!Number&lt;br /&gt;
!Title&lt;br /&gt;
!Owner&lt;br /&gt;
!Status&lt;br /&gt;
|- style=&amp;quot;background-color: #cfffcf&amp;quot;&lt;br /&gt;
| [[BIP 0001|1]]&lt;br /&gt;
| BIP Purpose and Guidelines&lt;br /&gt;
| Amir Taaki&lt;br /&gt;
| Active&lt;br /&gt;
|-&lt;br /&gt;
| [[BIP 0010|10]]&lt;br /&gt;
| Multi-Sig Transaction Distribution&lt;br /&gt;
| Alan Reiner&lt;br /&gt;
| Draft&lt;br /&gt;
|- style=&amp;quot;background-color: #cfffcf&amp;quot;&lt;br /&gt;
| [[BIP 0011|11]]&lt;br /&gt;
| M-of-N Standard Transactions&lt;br /&gt;
| Gavin Andresen&lt;br /&gt;
| Accepted&lt;br /&gt;
|- style=&amp;quot;background-color: #ffcfcf&amp;quot;&lt;br /&gt;
| [[BIP 0012|12]]&lt;br /&gt;
| OP_EVAL&lt;br /&gt;
| Gavin Andresen&lt;br /&gt;
| Withdrawn&lt;br /&gt;
|- style=&amp;quot;background-color: #cfffcf&amp;quot;&lt;br /&gt;
| [[BIP 0013|13]]&lt;br /&gt;
| Address Format for pay-to-script-hash&lt;br /&gt;
| Gavin Andresen&lt;br /&gt;
| Accepted&lt;br /&gt;
|- style=&amp;quot;background-color: #cfffcf&amp;quot;&lt;br /&gt;
| [[BIP 0014|14]]&lt;br /&gt;
| Protocol Version and User Agent&lt;br /&gt;
| Amir Taaki, Patrick Strateman&lt;br /&gt;
| Accepted&lt;br /&gt;
|- style=&amp;quot;background-color: #ffcfcf&amp;quot;&lt;br /&gt;
| [[BIP 0015|15]]&lt;br /&gt;
| Aliases&lt;br /&gt;
| Amir Taaki&lt;br /&gt;
| Withdrawn&lt;br /&gt;
|- style=&amp;quot;background-color: #cfffcf&amp;quot;&lt;br /&gt;
| [[BIP 0016|16]]&lt;br /&gt;
| Pay To Script Hash&lt;br /&gt;
| Gavin Andresen&lt;br /&gt;
| Accepted&lt;br /&gt;
|- style=&amp;quot;background-color: #ffcfcf&amp;quot;&lt;br /&gt;
| [[BIP 0017|17]]&lt;br /&gt;
| OP_CHECKHASHVERIFY (CHV)&lt;br /&gt;
| Luke Dashjr&lt;br /&gt;
| Withdrawn&lt;br /&gt;
|-&lt;br /&gt;
| [[BIP 0018|18]]&lt;br /&gt;
| hashScriptCheck&lt;br /&gt;
| Luke Dashjr&lt;br /&gt;
| Draft&lt;br /&gt;
|-&lt;br /&gt;
| [[BIP 0019|19]]&lt;br /&gt;
| M-of-N Standard Transactions (Low SigOp)&lt;br /&gt;
| Luke Dashjr&lt;br /&gt;
| Draft&lt;br /&gt;
|- style=&amp;quot;background-color: #ffcfcf&amp;quot;&lt;br /&gt;
| [[BIP 0020|20]]&lt;br /&gt;
| URI Scheme&lt;br /&gt;
| Luke Dashjr&lt;br /&gt;
| Replaced&lt;br /&gt;
|- style=&amp;quot;background-color: #cfffcf&amp;quot;&lt;br /&gt;
| [[BIP 0021|21]]&lt;br /&gt;
| URI Scheme&lt;br /&gt;
| Nils Schneider, Matt Corallo&lt;br /&gt;
| Accepted&lt;br /&gt;
|- style=&amp;quot;background-color: #cfffcf&amp;quot;&lt;br /&gt;
| [[BIP 0022|22]]&lt;br /&gt;
| getblocktemplate - Fundamentals&lt;br /&gt;
| Luke Dashjr&lt;br /&gt;
| Accepted&lt;br /&gt;
|-&lt;br /&gt;
| [[BIP 0023|23]]&lt;br /&gt;
| getblocktemplate - Pooled Mining&lt;br /&gt;
| Luke Dashjr&lt;br /&gt;
| Draft&lt;br /&gt;
|- style=&amp;quot;background-color: #cfffcf&amp;quot;&lt;br /&gt;
| [[BIP 0030|30]]&lt;br /&gt;
| Duplicate transactions&lt;br /&gt;
| Pieter Wuille&lt;br /&gt;
| Accepted&lt;br /&gt;
|- style=&amp;quot;background-color: #cfffcf&amp;quot;&lt;br /&gt;
| [[BIP 0031|31]]&lt;br /&gt;
| Pong message&lt;br /&gt;
| Mike Hearn&lt;br /&gt;
| Accepted&lt;br /&gt;
|-&lt;br /&gt;
| [[BIP 0032|32]]&lt;br /&gt;
| Hierarchical Deterministic Wallets&lt;br /&gt;
| Pieter Wuille&lt;br /&gt;
| Draft&lt;br /&gt;
|-&lt;br /&gt;
| [[BIP 0033|33]]&lt;br /&gt;
| Stratized Nodes&lt;br /&gt;
| Amir Taaki&lt;br /&gt;
| Draft&lt;br /&gt;
|- style=&amp;quot;background-color: #cfffcf&amp;quot;&lt;br /&gt;
| [[BIP 0034|34]]&lt;br /&gt;
| Block v2, Height in coinbase&lt;br /&gt;
| Gavin Andresen&lt;br /&gt;
| Accepted&lt;br /&gt;
|- style=&amp;quot;background-color: #cfffcf&amp;quot;&lt;br /&gt;
| [[BIP 0035|35]]&lt;br /&gt;
| mempool message&lt;br /&gt;
| Jeff Garzik&lt;br /&gt;
| Accepted&lt;br /&gt;
|-&lt;br /&gt;
| [[BIP 0036|36]]&lt;br /&gt;
| Custom Services&lt;br /&gt;
| Stefan Thomas&lt;br /&gt;
| Draft&lt;br /&gt;
|-&lt;br /&gt;
| [[BIP 0037|37]]&lt;br /&gt;
| Bloom filtering&lt;br /&gt;
| Mike Hearn and Matt Corallo&lt;br /&gt;
| Draft&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Hardfork Wishlist]]&lt;br /&gt;
&lt;br /&gt;
[[Category:BIP|Z]]&lt;br /&gt;
&lt;br /&gt;
[[es:Propuestas de mejora de Bitcoin]]&lt;/div&gt;</summary>
		<author><name>Nubarius</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Category:Technical&amp;diff=33675</id>
		<title>Category:Technical</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Category:Technical&amp;diff=33675"/>
		<updated>2012-12-12T16:51:48Z</updated>

		<summary type="html">&lt;p&gt;Nubarius: Added interwiki link to corresponding category in Spanish wiki&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These pages outline the technology behind Bitcoin.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [[Research]]&lt;br /&gt;
* [[:Category:Developer|Developer]]&lt;br /&gt;
&lt;br /&gt;
[[es:Categoría:Técnica]]&lt;/div&gt;</summary>
		<author><name>Nubarius</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Key_pool&amp;diff=33672</id>
		<title>Key pool</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Key_pool&amp;diff=33672"/>
		<updated>2012-12-12T16:44:32Z</updated>

		<summary type="html">&lt;p&gt;Nubarius: Added interwiki link to Spanish translation of the article&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;New public and private keys are pre-generated and stored in a queue before use.&lt;br /&gt;
&lt;br /&gt;
This pooling feature was added so backups of the [[wallet]] would have a certain number of keys that would be used in the future.  By default, the number of entries in the queue is 100&amp;lt;ref&amp;gt;[http://www.bitcointalk.org/index.php?topic=1414.0 Key pool feature for safer wallet backup]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A command line option allows a greater or lesser number of keys to be maintained in the keypool&amp;lt;ref&amp;gt;[https://en.bitcoin.it/wiki/Running_Bitcoin Running Bitcoin]&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[Securing your wallet]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Technical]]&lt;br /&gt;
&lt;br /&gt;
[[es:Reserva de claves]]&lt;/div&gt;</summary>
		<author><name>Nubarius</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Exit_Address&amp;diff=33671</id>
		<title>Exit Address</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Exit_Address&amp;diff=33671"/>
		<updated>2012-12-12T16:26:03Z</updated>

		<summary type="html">&lt;p&gt;Nubarius: Added interwiki link to Spanish translation of the article&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Exit addresses (first described [http://www.reddit.com/r/Bitcoin/comments/ohfxw/update_mt_gox_steals_from_tor_users_now_i_can_not/c3ha5li here]) are defined as follows: &amp;quot;When you create an account with a site, you should be able to enter an address that, should anything go wrong, your coins will be sent too.  Deepbit, for example has an option that will let you &#039;lock your payments address forever&#039; meaning, even if someone hijacks your account, they won&#039;t be able to withdraw money anywhere.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Many members of the bitcoin community have advocated that any service accepting bitcoin deposits (as opposed to payments -- i.e. exchanges, etc) ought to include an exit address facility, and allow enactment of exit address policy at any time.  This would avoid the conflict of interest inherent in &amp;quot;anti-money-laundering&amp;quot; account freezures, whereby the exchange &#039;&#039;actually books a profit under accepted accounting practices&#039;&#039; as a result of balances inheriting from accounts abandoned in response to account freezure (once the statue of limitations on embezzlement expires).&lt;br /&gt;
&lt;br /&gt;
[[Category:Vocabulary]]&lt;br /&gt;
&lt;br /&gt;
[[es:Dirección de escape]]&lt;/div&gt;</summary>
		<author><name>Nubarius</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=List_of_address_prefixes&amp;diff=33670</id>
		<title>List of address prefixes</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=List_of_address_prefixes&amp;diff=33670"/>
		<updated>2012-12-12T16:08:08Z</updated>

		<summary type="html">&lt;p&gt;Nubarius: Added interwiki link to Spanish translation of the article&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Blockchain-based currencies use addresses, which are a [[Base58Check encoding]] of some hash, typically that of a public key. The encoding includes a version byte, which affects the first character in the address. The following is a list of some prefixes which are in use.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
!Initial byte(s)&lt;br /&gt;
!Leading symbol&lt;br /&gt;
!Use&lt;br /&gt;
!Example&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|Bitcoin pubkey hash&lt;br /&gt;
|&amp;lt;tt&amp;gt;12CPLrAUPvhVwjZqBgww3sLdEg4Z888R1j&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|3&lt;br /&gt;
|Bitcoin script hash&lt;br /&gt;
|&amp;lt;tt&amp;gt;3EktnHQD7RiAE6uzMj2ZifT9YgRrkSgzQX&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|48&lt;br /&gt;
|L&lt;br /&gt;
|Litecoin pubkey hash&lt;br /&gt;
|&amp;lt;tt&amp;gt;LhK2kQwiaAvhjWY799cZvMyYwnQAcxkarr&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|52&lt;br /&gt;
|M or N&lt;br /&gt;
|Namecoin pubkey hash&lt;br /&gt;
|&amp;lt;tt&amp;gt;NATX6zEUNfxfvgVwz8qVnnw3hLhhYXhgQn&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|95&lt;br /&gt;
|f&lt;br /&gt;
|Fairbrix pubkey hash&lt;br /&gt;
|&amp;lt;tt&amp;gt;fF6o8LeDAfswEpMbCW8BqaqmzMWS7TGgew&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|97&lt;br /&gt;
|g&lt;br /&gt;
|GeistGeld pubkey hash&lt;br /&gt;
|&amp;lt;tt&amp;gt;gQ8YScyiMUTart6kUJpzhjPzAKfiYAwooc&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|105&lt;br /&gt;
|j&lt;br /&gt;
|i0coin pubkey hash&lt;br /&gt;
|&amp;lt;tt&amp;gt;jWmCr5cKeQjV4iyfUyipfLGwVML8MvXhF2&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|111&lt;br /&gt;
|m or n&lt;br /&gt;
|Bitcoin testnet pubkey hash&lt;br /&gt;
|&amp;lt;tt&amp;gt;mkJ7Bf5chdfw61d1m7gnDVAQV3EQQAb8iz&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|125&lt;br /&gt;
|s&lt;br /&gt;
|Solidcoin pubkey hash&lt;br /&gt;
|&amp;lt;tt&amp;gt;sXNaMoYBocjcQJRLK53dkaQ5mWuKfvHB9f&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|127&lt;br /&gt;
|t&lt;br /&gt;
|Tenebrix pubkey hash&lt;br /&gt;
|&amp;lt;tt&amp;gt;tUK2EQTMF6cN6vuNEfJtVf1BMqarvEZJBL&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|128&lt;br /&gt;
|5&lt;br /&gt;
|Bitcoin Private key (for uncompressed public key)&lt;br /&gt;
|&amp;lt;tt&amp;gt;5Htn3FzuH3b1X5VF2zLTsAQzBcyzkZNJsa2egXN8ZFJTCqQm3Rq&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|128&lt;br /&gt;
|K or L&lt;br /&gt;
|Bitcoin Private key (for compressed public key)&lt;br /&gt;
|&amp;lt;tt&amp;gt;L1aW4aubDFB7yfras2S1mN3bqg9nwySY8nkoLmJebSLD5BWv3ENZ&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|138&lt;br /&gt;
|x&lt;br /&gt;
|ixcoin pubkey hash&lt;br /&gt;
|&amp;lt;tt&amp;gt;xoKDFH4uWpyzxUcCC5jCLFujRKayv3HHcV&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|196&lt;br /&gt;
|2&lt;br /&gt;
|Testnet script hash&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|239&lt;br /&gt;
|9&lt;br /&gt;
|Uncompressed Testnet Private key&lt;br /&gt;
|&amp;lt;tt&amp;gt;91eWjgRmucdtYHpMdsHbn9h8UU8hdoMNSKj8p3QAj6VTLyBnjj6&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|239&lt;br /&gt;
|c&lt;br /&gt;
|Compressed Testnet Private key&lt;br /&gt;
|&amp;lt;tt&amp;gt;cNJFgo1driFnPcBdBX8BrJrpxchBWXwXCvNH5SoSkdcF6JXXwHMm&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x142, 0x143&lt;br /&gt;
|6P&lt;br /&gt;
|Encrypted private key ([[BIP 0038|BIP 38]])&lt;br /&gt;
|&amp;lt;tt&amp;gt; 6PRVWUbkzzsbcVac2qwfssoUJAN1Xhrg6bNk8J7Nzm5H7kxEbn2Nh2ZoGg &amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following table shows the leading symbol(s) and address length(s) for 160 bit hashes for each of the possible decimal version values:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Decimal version&lt;br /&gt;
!Leading symbol&lt;br /&gt;
!Address length&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|up to 34&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Q-Z, a-k, m-o&lt;br /&gt;
|33&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|o-z, 2&lt;br /&gt;
|33 or 34&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|2&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|2 or 3&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|5-6&lt;br /&gt;
|3&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|3 or 4&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|4&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|4 or 5&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|10-11&lt;br /&gt;
|5&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|5 or 6&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|6&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|6 or 7&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|15-16&lt;br /&gt;
|7&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|17&lt;br /&gt;
|7 or 8&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|18&lt;br /&gt;
|8&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|19&lt;br /&gt;
|8 or 9&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|20-21&lt;br /&gt;
|9&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|22&lt;br /&gt;
|9 or A&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|23&lt;br /&gt;
|A&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|A or B&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|25-26&lt;br /&gt;
|B&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|27&lt;br /&gt;
|B or C&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|28&lt;br /&gt;
|C&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|29&lt;br /&gt;
|C or D&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|30-31&lt;br /&gt;
|D&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|32&lt;br /&gt;
|D or E&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|33&lt;br /&gt;
|E&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|34&lt;br /&gt;
|E or F&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|35-36&lt;br /&gt;
|F&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|37&lt;br /&gt;
|F or G&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|38&lt;br /&gt;
|G&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|39&lt;br /&gt;
|G or H&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|40-41&lt;br /&gt;
|H&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|42&lt;br /&gt;
|H or J&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|43&lt;br /&gt;
|J&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|44&lt;br /&gt;
|J or K&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|45-46&lt;br /&gt;
|K&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|47&lt;br /&gt;
|K or L&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|48&lt;br /&gt;
|L&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|49&lt;br /&gt;
|L or M&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|50-51&lt;br /&gt;
|M&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|52&lt;br /&gt;
|M or N&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|53&lt;br /&gt;
|N&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|54&lt;br /&gt;
|N or P&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|55-56&lt;br /&gt;
|P&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|57&lt;br /&gt;
|P or Q&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|58&lt;br /&gt;
|Q&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|59&lt;br /&gt;
|Q or R&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|60-61&lt;br /&gt;
|R&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|62&lt;br /&gt;
|R or S&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|63&lt;br /&gt;
|S&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|64&lt;br /&gt;
|S or T&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|65-66&lt;br /&gt;
|T&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|67&lt;br /&gt;
|T or U&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|68&lt;br /&gt;
|U&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|69&lt;br /&gt;
|U or V&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|70-71&lt;br /&gt;
|V&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|72&lt;br /&gt;
|V or W&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|73&lt;br /&gt;
|W&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|74&lt;br /&gt;
|W or X&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|75-76&lt;br /&gt;
|X&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|77&lt;br /&gt;
|X or Y&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|78&lt;br /&gt;
|Y&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|79&lt;br /&gt;
|Y or Z&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|80-81&lt;br /&gt;
|Z&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|82&lt;br /&gt;
|Z or a&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|83&lt;br /&gt;
|a&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|84&lt;br /&gt;
|a or b&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|85&lt;br /&gt;
|b&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|86&lt;br /&gt;
|b or c&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|87-88&lt;br /&gt;
|c&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|89&lt;br /&gt;
|c or d&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|90&lt;br /&gt;
|d&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|91&lt;br /&gt;
|d or e&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|92-93&lt;br /&gt;
|e&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|94&lt;br /&gt;
|e or f&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|95&lt;br /&gt;
|f&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|96&lt;br /&gt;
|f or g&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|97-98&lt;br /&gt;
|g&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|99&lt;br /&gt;
|g or h&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|100&lt;br /&gt;
|h&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|101&lt;br /&gt;
|h or i&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|102-103&lt;br /&gt;
|i&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|104&lt;br /&gt;
|i or j&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|105&lt;br /&gt;
|j&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|106&lt;br /&gt;
|j or k&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|107-108&lt;br /&gt;
|k&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|109&lt;br /&gt;
|k or m&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|110&lt;br /&gt;
|m&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|111&lt;br /&gt;
|m or n&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|112-113&lt;br /&gt;
|n&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|114&lt;br /&gt;
|n or o&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|115&lt;br /&gt;
|o&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|116&lt;br /&gt;
|o or p&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|117-118&lt;br /&gt;
|p&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|119&lt;br /&gt;
|p or q&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|120&lt;br /&gt;
|q&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|121&lt;br /&gt;
|q or r&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|122-123&lt;br /&gt;
|r&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|124&lt;br /&gt;
|r or s&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|125&lt;br /&gt;
|s&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|126&lt;br /&gt;
|s or t&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|127-128&lt;br /&gt;
|t&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|129&lt;br /&gt;
|t or u&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|130&lt;br /&gt;
|u&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|131&lt;br /&gt;
|u or v&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|132-133&lt;br /&gt;
|v&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|134&lt;br /&gt;
|v or w&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|135&lt;br /&gt;
|w&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|136&lt;br /&gt;
|w or x&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|137-138&lt;br /&gt;
|x&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|139&lt;br /&gt;
|x or y&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|140&lt;br /&gt;
|y&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|141&lt;br /&gt;
|y or z&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|142-143&lt;br /&gt;
|z&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|144&lt;br /&gt;
|z or 2&lt;br /&gt;
|34 or 35&lt;br /&gt;
|-&lt;br /&gt;
|145-255&lt;br /&gt;
|2&lt;br /&gt;
|35&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[es:Lista de prefijos de direcciones]]&lt;/div&gt;</summary>
		<author><name>Nubarius</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Base58Check_encoding&amp;diff=33669</id>
		<title>Base58Check encoding</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Base58Check_encoding&amp;diff=33669"/>
		<updated>2012-12-12T15:55:28Z</updated>

		<summary type="html">&lt;p&gt;Nubarius: Added interwiki link to Spanish translation of the article&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A modified Base 58 [http://en.wikipedia.org/wiki/Binary-to-text_encoding binary-to-text encoding] known as &#039;&#039;&#039;Base58Check&#039;&#039;&#039; is used for encoding [[Bitcoin address]]es.&lt;br /&gt;
&lt;br /&gt;
More generically, Base58Check encoding is used for encoding byte arrays in Bitcoin into human-typable strings.  A Bitcoin address is simply a Base58Check-encoded string with a 20-byte payload, the payload being the hash of the  [[public key]] associated with the address.&lt;br /&gt;
&lt;br /&gt;
The original Bitcoin client source code discusses the reasoning behind base58 encoding:&lt;br /&gt;
&lt;br /&gt;
base58.h:&lt;br /&gt;
 // Why base-58 instead of standard base-64 encoding?&lt;br /&gt;
 // - Don&#039;t want 0OIl characters that look the same in some fonts and&lt;br /&gt;
 //      could be used to create visually identical looking account numbers.&lt;br /&gt;
 // - A string with non-alphanumeric characters is not as easily accepted as an account number.&lt;br /&gt;
 // - E-mail usually won&#039;t line-break if there&#039;s no punctuation to break at.&lt;br /&gt;
 // - Doubleclicking selects the whole number as one word if it&#039;s all alphanumeric.&lt;br /&gt;
&lt;br /&gt;
==Features of Base58Check==&lt;br /&gt;
Base58Check has the following features:&lt;br /&gt;
* An arbitrarily sized payload.&lt;br /&gt;
* A set of 58 alphanumeric symbols consisting of easily distinguished uppercase and lowercase letters (0OIl are not used) &lt;br /&gt;
* One byte of version/application information.  Bitcoin addresses use 0x00 for this byte (future ones may use 0x05).&lt;br /&gt;
* Four bytes (32 bits) of SHA256-based error checking code.  This code can be used to automatically detect and possibly correct typographical errors.&lt;br /&gt;
* An extra step for preservation of leading zeroes in the data.&lt;br /&gt;
&lt;br /&gt;
==Creating a Base58Check string==&lt;br /&gt;
A Base58Check string is created from a version/application byte and payload as follows.&lt;br /&gt;
# Take the version/application byte and payload bytes, and concatenate them together (bytewise).&lt;br /&gt;
# Take the first four bytes of SHA256(SHA256(results of step 1))&lt;br /&gt;
# Concatenate the results of step 1 and the results of step 2 together (bytewise).&lt;br /&gt;
# Treating the results of step 3 - a series of bytes - as a single big-endian bignumber, convert to base-58 using normal mathematical steps (bignumber division) and the base-58 alphabet described below.  The result should be normalized to not have any leading base-58 zeroes (character &#039;1&#039;).&lt;br /&gt;
# The leading character &#039;1&#039;, which has a value of zero in base58, is reserved for representing an entire leading zero &#039;&#039;&#039;byte&#039;&#039;&#039;, as when it is in a leading position, has no value as a base-58 symbol.  There can be one or more leading &#039;1&#039;s when necessary to represent one or more leading zero bytes.  Count the number of leading zero bytes that were the result of step 3 (for old Bitcoin addresses, there will always be at least one for the version/application byte; for new addresses, there will never be any).  Each leading zero byte shall be represented by its own character &#039;1&#039; in the final result.&lt;br /&gt;
# Concatenate the 1&#039;s from step 5 with the results of step 4.  &#039;&#039;&#039;This is the Base58Check result.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Encoding a Bitcoin address==&lt;br /&gt;
A Bitcoin address is based on any [[ECDSA]] [[secp256k1]] public/private [[key pair]].&lt;br /&gt;
&lt;br /&gt;
A Bitcoin address is the Base58Check encoding of the hash of the associated [[script]].  Specifically, it is Base58Check(5,[[RIPEMD160]]([[SHA256]]([[script]]))), with the following constraints:&lt;br /&gt;
* [[RIPEMD160]] and [[SHA256]] in this case are always exactly 20 and 32 unsigned bytes respectively.  These are big-endian (most significant byte first).  (Beware of [[bignumber]] implementations that clip leading 0x00 bytes, or prepend extra 0x00 bytes to indicate sign - your code must handle these cases properly or else you may generate valid-looking addresses which can be sent to, but cannot be spent from - which would lead to the permanent loss of coins.)&lt;br /&gt;
* 0 refers to the version/application byte.&lt;br /&gt;
&lt;br /&gt;
Because of the 0x05 version/application byte, Bitcoin addresses always start with the digit &#039;3&#039;.&lt;br /&gt;
&lt;br /&gt;
==Encoding a private key==&lt;br /&gt;
Base58Check encoding is also used for encoding [[private key]]s in the [[Wallet Import Format]].  This is formed exactly the same as a Bitcoin address, except that 0x80 is used for the version/application byte, and the payload is 32 bytes instead of 20 (a private key in Bitcoin is a single 32-byte unsigned big-endian integer).  Such encodings will always yield a 51-character string that starts with &#039;5&#039;, or more specifically, either &#039;5H&#039;, &#039;5J&#039;, or &#039;5K&#039;.&lt;br /&gt;
&lt;br /&gt;
==Base58 symbol chart==&lt;br /&gt;
The Base58 symbol chart used in Bitcoin is specific to the Bitcoin project and is not intended to be the same as any other Base58 implementation used outside the context of Bitcoin.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
!Value&lt;br /&gt;
!Character&lt;br /&gt;
!Value&lt;br /&gt;
!Character&lt;br /&gt;
!Value&lt;br /&gt;
!Character&lt;br /&gt;
!Value&lt;br /&gt;
!Character&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|2&lt;br /&gt;
|2&lt;br /&gt;
|3&lt;br /&gt;
|3&lt;br /&gt;
|4&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|5&lt;br /&gt;
|5&lt;br /&gt;
|6&lt;br /&gt;
|6&lt;br /&gt;
|7&lt;br /&gt;
|7&lt;br /&gt;
|8&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|9&lt;br /&gt;
|9&lt;br /&gt;
|A&lt;br /&gt;
|10&lt;br /&gt;
|B&lt;br /&gt;
|11&lt;br /&gt;
|C&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|D&lt;br /&gt;
|13&lt;br /&gt;
|E&lt;br /&gt;
|14&lt;br /&gt;
|F&lt;br /&gt;
|15&lt;br /&gt;
|G&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|H&lt;br /&gt;
|17&lt;br /&gt;
|J&lt;br /&gt;
|18&lt;br /&gt;
|K&lt;br /&gt;
|19&lt;br /&gt;
|L&lt;br /&gt;
|-&lt;br /&gt;
|20&lt;br /&gt;
|M&lt;br /&gt;
|21&lt;br /&gt;
|N&lt;br /&gt;
|22&lt;br /&gt;
|P&lt;br /&gt;
|23&lt;br /&gt;
|Q&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|R&lt;br /&gt;
|25&lt;br /&gt;
|S&lt;br /&gt;
|26&lt;br /&gt;
|T&lt;br /&gt;
|27&lt;br /&gt;
|U&lt;br /&gt;
|-&lt;br /&gt;
|28&lt;br /&gt;
|V&lt;br /&gt;
|29&lt;br /&gt;
|W&lt;br /&gt;
|30&lt;br /&gt;
|X&lt;br /&gt;
|31&lt;br /&gt;
|Y&lt;br /&gt;
|-&lt;br /&gt;
|32&lt;br /&gt;
|Z&lt;br /&gt;
|33&lt;br /&gt;
|a&lt;br /&gt;
|34&lt;br /&gt;
|b&lt;br /&gt;
|35&lt;br /&gt;
|c&lt;br /&gt;
|-&lt;br /&gt;
|36&lt;br /&gt;
|d&lt;br /&gt;
|37&lt;br /&gt;
|e&lt;br /&gt;
|38&lt;br /&gt;
|f&lt;br /&gt;
|39&lt;br /&gt;
|g&lt;br /&gt;
|-&lt;br /&gt;
|40&lt;br /&gt;
|h&lt;br /&gt;
|41&lt;br /&gt;
|i&lt;br /&gt;
|42&lt;br /&gt;
|j&lt;br /&gt;
|43&lt;br /&gt;
|k&lt;br /&gt;
|-&lt;br /&gt;
|44&lt;br /&gt;
|m&lt;br /&gt;
|45&lt;br /&gt;
|n&lt;br /&gt;
|46&lt;br /&gt;
|o&lt;br /&gt;
|47&lt;br /&gt;
|p&lt;br /&gt;
|-&lt;br /&gt;
|48&lt;br /&gt;
|q&lt;br /&gt;
|49&lt;br /&gt;
|r&lt;br /&gt;
|50&lt;br /&gt;
|s&lt;br /&gt;
|51&lt;br /&gt;
|t&lt;br /&gt;
|-&lt;br /&gt;
|52&lt;br /&gt;
|u&lt;br /&gt;
|53&lt;br /&gt;
|v&lt;br /&gt;
|54&lt;br /&gt;
|w&lt;br /&gt;
|55&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|56&lt;br /&gt;
|y&lt;br /&gt;
|57&lt;br /&gt;
|z&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The algorithm for encoding address_byte_string (consisting of 0x01 + hash + 4-byte_check_code) is&lt;br /&gt;
&lt;br /&gt;
    code_string = &amp;quot;123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz&amp;quot;&lt;br /&gt;
    x = convert_bytes_to_big_integer(hash_result)&lt;br /&gt;
    &lt;br /&gt;
    output_string = &amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    while(x &amp;gt; 0) &lt;br /&gt;
        {&lt;br /&gt;
            (x, remainder) = divide(x, 58)&lt;br /&gt;
            output_string.append(code_string[remainder])&lt;br /&gt;
        }&lt;br /&gt;
    &lt;br /&gt;
    repeat(number_of_leading_zero_bytes_in_hash)&lt;br /&gt;
        {&lt;br /&gt;
        output_string.append(code_string[0]);&lt;br /&gt;
        }&lt;br /&gt;
    &lt;br /&gt;
    output_string.reverse();&lt;br /&gt;
&lt;br /&gt;
==Version bytes==&lt;br /&gt;
Here are some common version bytes:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
!Decimal version&lt;br /&gt;
!Leading symbol&lt;br /&gt;
!Use&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|Bitcoin pubkey hash&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|3&lt;br /&gt;
|Bitcoin script hash&lt;br /&gt;
|-&lt;br /&gt;
|21&lt;br /&gt;
|4&lt;br /&gt;
|Bitcoin (compact) public key (proposed)&lt;br /&gt;
|-&lt;br /&gt;
|52&lt;br /&gt;
|M or N&lt;br /&gt;
|Namecoin pubkey hash&lt;br /&gt;
|-&lt;br /&gt;
|128&lt;br /&gt;
|5&lt;br /&gt;
|Private key&lt;br /&gt;
|-&lt;br /&gt;
|111&lt;br /&gt;
|m or n&lt;br /&gt;
|Bitcoin testnet pubkey hash&lt;br /&gt;
|-&lt;br /&gt;
|196&lt;br /&gt;
|2&lt;br /&gt;
|Bitcoin testnet script hash&lt;br /&gt;
|}&lt;br /&gt;
[[List of address prefixes]] is a more complete list.&lt;br /&gt;
&lt;br /&gt;
== Source ==&lt;br /&gt;
https://github.com/bitcoin/bitcoin/blob/master/src/base58.h&lt;br /&gt;
&lt;br /&gt;
== Relevant functions in source code ==&lt;br /&gt;
* inline string EncodeBase58Check(const vector&amp;lt;unsigned char&amp;gt;&amp;amp; vchIn)&lt;br /&gt;
* inline bool DecodeBase58Check(const char* psz, vector&amp;lt;unsigned char&amp;gt;&amp;amp; vchRet)&lt;br /&gt;
* inline bool DecodeBase58Check(const string&amp;amp; str, vector&amp;lt;unsigned char&amp;gt;&amp;amp; vchRet)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Technical]]&lt;br /&gt;
&lt;br /&gt;
[[es:Codificación Base58Check]]&lt;/div&gt;</summary>
		<author><name>Nubarius</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Category:Vocabulary&amp;diff=33651</id>
		<title>Category:Vocabulary</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Category:Vocabulary&amp;diff=33651"/>
		<updated>2012-12-12T08:55:16Z</updated>

		<summary type="html">&lt;p&gt;Nubarius: Added interwiki link to the category in the Spanish-language wiki&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Confused by the lingo? These pages might help.&lt;br /&gt;
&lt;br /&gt;
The list below includes words that have an article of their own.  Other vocabulary can be found in the [[vocabulary|vocabulary list]].&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[Vocabulary]]&lt;br /&gt;
&lt;br /&gt;
[[es:Categoría:Vocabulario]]&lt;/div&gt;</summary>
		<author><name>Nubarius</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Invoice_address&amp;diff=33650</id>
		<title>Invoice address</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Invoice_address&amp;diff=33650"/>
		<updated>2012-12-12T08:51:16Z</updated>

		<summary type="html">&lt;p&gt;Nubarius: Added interwiki link to Spanish translation of the article&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A &#039;&#039;&#039;Bitcoin address&#039;&#039;&#039;, or simply &#039;&#039;&#039;address&#039;&#039;&#039;, is an identifier of 27-34 alphanumeric characters, beginning with the number 1 or 3, that represents a possible destination for a Bitcoin payment.&lt;br /&gt;
Addresses can be generated at no cost by any user of Bitcoin.&lt;br /&gt;
For example, using [[Bitcoin-Qt]], one can click &amp;quot;New Address&amp;quot; and be assigned an address.&lt;br /&gt;
It is also possible to get a Bitcoin address using an account at an exchange or online wallet service.&lt;br /&gt;
&lt;br /&gt;
An example of a Bitcoin address is &#039;&#039;31uEbMgunupShBVTewXjtqbBv5MndwfXhb&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- Note: This bitcoin address is based on ripemd160(sha256(&#039;Bitcoin&#039;)) with version 5 and a corrupt checksum --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==A Bitcoin address is like an e-mail address==&lt;br /&gt;
Like e-mail, you can send bitcoins to a person by sending bitcoins to one of their addresses. A person can have many different Bitcoin addresses and, for increased privacy and as the only way to know what the bitcoins are received for/from, it is recommended that you use a unique address for each transaction.  Most Bitcoin software and websites will help with this by generating a brand new address each time you perform a transaction. Some services provide a facility to request a new Bitcoin address for use with their service when desired.&lt;br /&gt;
&lt;br /&gt;
When using a web site that accepts bitcoins or holds Bitcoin balances on your behalf, that website will assign a Bitcoin address to your account, so you can transfer funds into your account at the site.  Very much unlike e-mail, this address may change every time funds come in so care should be taken when sending additional funds to a previously-used address.  When you send Bitcoins to your account at a web site, they will usually be credited to your account at that web site after the transaction is [[confirmation|confirmed]].&lt;br /&gt;
&lt;br /&gt;
==Addresses can be created offline==&lt;br /&gt;
Creating addresses can be done without an Internet connection and does not require any contact or registration with the Bitcoin network.  The network starts tracking an address when it is first seen in a valid payment transaction.&lt;br /&gt;
&lt;br /&gt;
It is possible to create large batches of addresses offline using freely available software tools.  Generating batches of addresses is useful in several scenarios, such as e-commerce websites where a unique pre-generated address is dispensed to each customer who chooses a &amp;quot;pay with Bitcoin&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
An average desktop computer can generate thousands of new Bitcoin addresses a minute.  Addresses are created simply by generating random numbers and then performing mathematical operations to derive matching pairs of &amp;quot;public&amp;quot; and &amp;quot;private&amp;quot; keys.  Because addresses can be created easily and at minimal cost, it is not uncommon to create temporary addresses that can be discarded if unused.&lt;br /&gt;
&lt;br /&gt;
==Addresses are case sensitive and exact==&lt;br /&gt;
Bitcoin addresses are case-sensitive.  Bitcoin addresses should be copied and pasted using the computer&#039;s clipboard wherever possible. If you hand-key a Bitcoin address, and each character is not transcribed exactly - including capitalization - the incorrect address will most likely be rejected by the Bitcoin software.  You will have to check your entry and try again.&lt;br /&gt;
&lt;br /&gt;
The probability that a mistyped address is accepted as being valid is 1 in 2&amp;lt;sup&amp;gt;32&amp;lt;/sup&amp;gt;, that is, approximately 1 in 4.29 billion.&lt;br /&gt;
&lt;br /&gt;
==Address validation==&lt;br /&gt;
If you would like to validate a Bitcoin address in an application, it is advisable to use a method from [https://bitcointalk.org/index.php?topic=1026.0 this thread] rather than to just check for string length, allowed characters, or that the address starts with a 1 or 3.&lt;br /&gt;
&lt;br /&gt;
==Addresses have a &amp;quot;private key&amp;quot;==&lt;br /&gt;
For most properly-generated Bitcoin addresses, there is at least one secret number known as a [[private key]] which is required for access to the funds assigned to that address.&lt;br /&gt;
&lt;br /&gt;
When using a Bitcoin client, private keys are typically stored in the [[Wallet|wallet file]].  The private key has a special purpose - it is mathematically needed to create valid transactions that spend the funds originally sent to the address.  If the private key to an address is lost (for example, in a hard drive crash, fire or other natural disaster), any associated Bitcoins are effectively lost forever.&lt;br /&gt;
&lt;br /&gt;
==Multi-signature addresses==&lt;br /&gt;
Addresses can be created that require a combination of multiple private keys.&lt;br /&gt;
Since these take advantage of newer features, they begin with the newer prefix of 3 instead of the older 1.&lt;br /&gt;
These can be thought of as the equivalent of writing a check to two parties - &amp;quot;pay to the order of somebody AND somebody else&amp;quot; - where both parties must endorse the check in order to receive the funds.&lt;br /&gt;
&lt;br /&gt;
The actual requirement (number of private keys needed, their corresponding public keys, etc.) that must be satisfied to spend the funds is decided in advance by the person generating this type of address, and once an address is created, the requirement cannot be changed without generating a new address.&lt;br /&gt;
&lt;br /&gt;
==What&#039;s in an address==&lt;br /&gt;
Most Bitcoin addresses are 34 characters.&lt;br /&gt;
They consist of random digits and uppercase and lowercase letters, with the exception that the uppercase letter &amp;quot;O&amp;quot;, uppercase letter &amp;quot;I&amp;quot;, lowercase letter &amp;quot;l&amp;quot;, and the number &amp;quot;0&amp;quot; are never used to prevent visual ambiguity.&lt;br /&gt;
&lt;br /&gt;
Some Bitcoin addresses can be shorter than 34 characters (as few as 27 in theory) and still be valid.&lt;br /&gt;
A significant percentage of Bitcoin addresses are only 33 characters, and some addresses may be even shorter.&lt;br /&gt;
Every Bitcoin address stands for a number - somewhat like an account number.  These shorter addresses are valid simply because they stand for numbers that happen to start with zeroes, and when the zeroes are omitted, the encoded address gets shorter.&lt;br /&gt;
&lt;br /&gt;
Several of the characters inside a Bitcoin address are used as a checksum so that typographical errors can be automatically found and rejected.  The checksum also allows Bitcoin software to confirm that a 33-character (or shorter) address is in fact valid and isn&#039;t simply an address with a missing character.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Technical background of Bitcoin addresses]]&lt;br /&gt;
* [[List of address prefixes]]&lt;br /&gt;
* [[Exit Address]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Vocabulary]]&lt;br /&gt;
&lt;br /&gt;
[[es:Dirección]]&lt;/div&gt;</summary>
		<author><name>Nubarius</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Transaction&amp;diff=33644</id>
		<title>Transaction</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Transaction&amp;diff=33644"/>
		<updated>2012-12-11T21:54:43Z</updated>

		<summary type="html">&lt;p&gt;Nubarius: Added interwiki link to Spanish translation of the article&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:TxBinaryMap.png|thumb|right|Byte-map of Transaction with each type of TxIn and TxOut]]&lt;br /&gt;
A transaction is a signed section of data that is broadcast to the [[network]] and collected into [[block|blocks]]. It references a previous transaction and dedicates a certain number of bitcoins from it to a new public key (Bitcoin address). It is not encrypted (nothing in Bitcoin is encrypted).&lt;br /&gt;
&lt;br /&gt;
A [[block chain browser]] is a site where every transaction included within the block chain can be viewed.  This is useful for seeing the technical details of transaction in action, and for payment verification purposes.&lt;br /&gt;
&lt;br /&gt;
=== Example Bitcoin Transaction ===&lt;br /&gt;
&lt;br /&gt;
==== Data ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Input:&lt;br /&gt;
Previous tx: f5d8ee39a430901c91a5917b9f2dc19d6d1a0e9cea205b009ca73dd04470b9a6&lt;br /&gt;
Index: 0&lt;br /&gt;
scriptSig: 304502206e21798a42fae0e854281abd38bacd1aeed3ee3738d9e1446618c4571d10&lt;br /&gt;
90db022100e2ac980643b0b82c0e88ffdfec6b64e3e6ba35e7ba5fdd7d5d6cc8d25c6b241501&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
Value: 5000000000&lt;br /&gt;
scriptPubKey: OP_DUP OP_HASH160 404371705fa9bd789a2fcd52d2c580b65d35549d&lt;br /&gt;
OP_EQUALVERIFY OP_CHECKSIG&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Explanation ====&lt;br /&gt;
&lt;br /&gt;
The input in this transaction imports 50 BTC from output #0 in transaction f5d8... Then the output sends 50 BTC to a Bitcoin address (expressed here in hexadecimal 4043... instead of the normal base58). When the recipient wants to spend this money, he will reference output #0 of this transaction in an input of his own transaction.&lt;br /&gt;
&lt;br /&gt;
===== Input =====&lt;br /&gt;
&lt;br /&gt;
An &#039;&#039;&#039;input&#039;&#039;&#039; is a reference to an output in a different transaction. Multiple inputs are often listed in a transaction. The values of the referenced outputs are added up, and the total is usable in the outputs of this transaction. &#039;&#039;&#039;Previous tx&#039;&#039;&#039; is a [[hash]] of a previous transaction. &#039;&#039;&#039;Index&#039;&#039;&#039; is the specific output in the referenced transaction. &#039;&#039;&#039;ScriptSig&#039;&#039;&#039; is the first half of a [[script]] (discussed in more detail later).&lt;br /&gt;
&lt;br /&gt;
The script contains two components, a signature and a public key. The public key belongs to the redeemer of the output transaction and proves the creator is allowed to redeem the outputs value. The other component is an ECDSA signature over a hash of a simplified version of the transaction. It, combined with the public key, proves the transaction was created by the real owner of the address in question. Various flags define how the transaction is simplified and can be used to create different types of payment.&lt;br /&gt;
&lt;br /&gt;
===== Output =====&lt;br /&gt;
&lt;br /&gt;
An &#039;&#039;&#039;output&#039;&#039;&#039; contains instructions for sending bitcoins. &#039;&#039;&#039;Value&#039;&#039;&#039; is the number of Satoshi (1 BTC = 100,000,000 Satoshi) that this output will be worth when claimed. &#039;&#039;&#039;ScriptPubKey&#039;&#039;&#039; is the second half of a script (discussed later). There can be more than one output, and they share the combined value of the inputs. Because an output can only ever be referenced by a single input, the entire combined input value needs to be sent in an output if you don&#039;t want to lose it. If the input is worth 50 BTC but you only want to send 25 BTC, Bitcoin will create two outputs worth 25 BTC: one to the destination, and one back to you (known as &amp;quot;[[change]]&amp;quot;, though you send it to yourself). Any input bitcoins not redeemed in an output is considered a [[transaction fee]]; whoever generates the block will get it.&lt;br /&gt;
[[File:transaction.png|thumb|A sends 100 BTC to C and C generates 50 BTC. C sends 101 BTC to D, and he needs to send himself some change. D sends the 101 BTC to someone else, but they haven&#039;t redeemed it yet. Only D&#039;s output and C&#039;s change are capable of being spent in the current state.]]&lt;br /&gt;
&lt;br /&gt;
===== Verification =====&lt;br /&gt;
&lt;br /&gt;
To verify that inputs are authorized to collect the values of referenced outputs, Bitcoin uses a custom Forth-like [[script|scripting]] system. The input&#039;s scriptSig and the &#039;&#039;referenced&#039;&#039; output&#039;s scriptPubKey are evaluated (in that order), with scriptPubKey using the values left on the stack by scriptSig. The input is authorized if scriptPubKey returns true. Through the scripting system, the sender can create very complex conditions that people have to meet in order to claim the output&#039;s value. For example, it&#039;s possible to create an output that can be claimed by anyone without any authorization. It&#039;s also possible to require that an input be signed by ten different keys, or be redeemable with a password instead of a key.&lt;br /&gt;
&lt;br /&gt;
=== Types of Transaction ===&lt;br /&gt;
Bitcoin currently only creates three different scriptSig/scriptPubKey pairs. These are described below.&lt;br /&gt;
&lt;br /&gt;
It is possible to design more complex types of transactions, and link them together into cryptographically enforced agreements. These are known as [[Contracts]].&lt;br /&gt;
&lt;br /&gt;
==== Transfer to IP address ====&lt;br /&gt;
&lt;br /&gt;
 scriptPubKey: &amp;lt;pubKey&amp;gt; OP_CHECKSIG&lt;br /&gt;
 scriptSig: &amp;lt;sig&amp;gt;&lt;br /&gt;
The sender gets the public key when talking to the recipient over IP. When redeeming coins that have been sent to an IP address, the recipient provides only a signature. The signature is checked against the public key in scriptPubKey.&lt;br /&gt;
&lt;br /&gt;
Checking process:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Stack &lt;br /&gt;
! Script &lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
|Empty.&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt; OP_CHECKSIG&lt;br /&gt;
|scriptSig and scriptPubKey are combined.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt;&lt;br /&gt;
| OP_CHECKSIG&lt;br /&gt;
|Constants are added to the stack.&lt;br /&gt;
|-&lt;br /&gt;
|true&lt;br /&gt;
|Empty.&lt;br /&gt;
|Signature is checked for top two stack items.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Transfer to Bitcoin address ====&lt;br /&gt;
&lt;br /&gt;
 scriptPubKey: OP_DUP OP_HASH160 &amp;lt;pubKeyHash&amp;gt; OP_EQUALVERIFY OP_CHECKSIG&lt;br /&gt;
 scriptSig: &amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt;&lt;br /&gt;
A Bitcoin [[address]] is only a hash, so the sender can&#039;t provide a full public key in scriptPubKey. When redeeming coins that have been sent to a Bitcoin address, the recipient provides both the signature and the public key. The script verifies that the provided public key does hash to the hash in scriptPubKey, and then it also checks the signature against the public key.&lt;br /&gt;
&lt;br /&gt;
Checking process:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Stack &lt;br /&gt;
! Script &lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
|Empty.&lt;br /&gt;
| &amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt; OP_DUP OP_HASH160 &amp;lt;pubKeyHash&amp;gt; OP_EQUALVERIFY OP_CHECKSIG &lt;br /&gt;
| scriptSig and scriptPubKey are combined.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt;&lt;br /&gt;
| OP_DUP OP_HASH160 &amp;lt;pubKeyHash&amp;gt; OP_EQUALVERIFY OP_CHECKSIG &lt;br /&gt;
| Constants are added to the stack.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt; &amp;lt;pubKey&amp;gt;&lt;br /&gt;
| OP_HASH160 &amp;lt;pubKeyHash&amp;gt; OP_EQUALVERIFY OP_CHECKSIG &lt;br /&gt;
| Top stack item is duplicated.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt; &amp;lt;pubHashA&amp;gt;&lt;br /&gt;
|&amp;lt;pubKeyHash&amp;gt; OP_EQUALVERIFY OP_CHECKSIG&lt;br /&gt;
| Top stack item is hashed.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt; &amp;lt;pubHashA&amp;gt; &amp;lt;pubKeyHash&amp;gt;&lt;br /&gt;
|OP_EQUALVERIFY OP_CHECKSIG&lt;br /&gt;
| Constant added.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt;&lt;br /&gt;
|OP_CHECKSIG&lt;br /&gt;
| Equality is checked between the top two stack items.&lt;br /&gt;
|-&lt;br /&gt;
|true&lt;br /&gt;
|Empty.&lt;br /&gt;
|Signature is checked for top two stack items.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Generation ====&lt;br /&gt;
&lt;br /&gt;
Generations have a single input, and this input has a &amp;quot;coinbase&amp;quot; parameter instead of a scriptSig. The data in &amp;quot;coinbase&amp;quot; can be anything; it isn&#039;t used. Bitcoin puts the current compact-format [[target]] and the arbitrary-precision &amp;quot;extraNonce&amp;quot; number there, which increments every time the Nonce field in the [[block_hashing_algorithm|block header]] overflows. Outputs can be anything, but Bitcoin creates one exactly like an IP address transaction.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[Script]]&lt;br /&gt;
* [[BTC Sender]] Transmit raw, hand-crafted transactions&lt;br /&gt;
&lt;br /&gt;
[[Category:Technical]]&lt;br /&gt;
[[Category:Vocabulary]]&lt;br /&gt;
[[de:Transaktion]]&lt;br /&gt;
[[es:Transacción]]&lt;br /&gt;
[[pl:Transakcje]]&lt;/div&gt;</summary>
		<author><name>Nubarius</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=BitAddress&amp;diff=33612</id>
		<title>BitAddress</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=BitAddress&amp;diff=33612"/>
		<updated>2012-12-11T12:32:02Z</updated>

		<summary type="html">&lt;p&gt;Nubarius: Added interwiki link to Spanish translation of the article&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A tool used to securely generate one or more Bitcoin addresses for offline use or for secure offline storage.&lt;br /&gt;
&lt;br /&gt;
The address and private key pair generated allow bitcoins to be received and then spent without running any software or using any external [[eWallet]] service.&lt;br /&gt;
&lt;br /&gt;
The all-in-one web page can be used offline (i.e., without being connected to the Internet).&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
&lt;br /&gt;
* [https://www.bitaddress.org BitAddress] web site&lt;br /&gt;
* [http://bitcointalk.org/index.php?topic=43496.0 Forum discussion]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tools]]&lt;br /&gt;
&lt;br /&gt;
[[es:BitAddress]]&lt;/div&gt;</summary>
		<author><name>Nubarius</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Secp256k1&amp;diff=33549</id>
		<title>Secp256k1</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Secp256k1&amp;diff=33549"/>
		<updated>2012-12-10T18:22:17Z</updated>

		<summary type="html">&lt;p&gt;Nubarius: Added interwiki link to new Spanish article&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;secp256k1&#039;&#039;&#039; refers to the parameters of the [[ECDSA]] curve used in Bitcoin, and is defined in &#039;&#039;Standards for Efficient Cryptography (SEC)&#039;&#039; (Certicom Research, http://www.secg.org/collateral/sec2_final.pdf).&lt;br /&gt;
&lt;br /&gt;
As excerpted from &#039;&#039;Standards&#039;&#039;: &lt;br /&gt;
&lt;br /&gt;
The elliptic curve domain parameters over F&#039;&#039;&amp;lt;sub&amp;gt;p&amp;lt;/sub&amp;gt;&#039;&#039; associated with a Koblitz curve secp256k1 are specified&lt;br /&gt;
by the sextuple T = (&#039;&#039;p,a,b,G,n,h&#039;&#039;) where the finite field F&#039;&#039;&amp;lt;sub&amp;gt;p&amp;lt;/sub&amp;gt;&#039;&#039; is defined by:&lt;br /&gt;
* &#039;&#039;p&#039;&#039; = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFC2F&lt;br /&gt;
* = 2&amp;lt;sup&amp;gt;256&amp;lt;/sup&amp;gt; - 2&amp;lt;sup&amp;gt;32&amp;lt;/sup&amp;gt; - 2&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt; - 2&amp;lt;sup&amp;gt;8&amp;lt;/sup&amp;gt; - 2&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; - 2&amp;lt;sup&amp;gt;6&amp;lt;/sup&amp;gt; - 2&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; - 1&lt;br /&gt;
&lt;br /&gt;
The curve &#039;&#039;E&#039;&#039;: &#039;&#039;y&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; = x&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;+ax+b&#039;&#039; over F&#039;&#039;&amp;lt;sub&amp;gt;p&amp;lt;/sub&amp;gt;&#039;&#039; is defined by:&lt;br /&gt;
* &#039;&#039;a&#039;&#039; = 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000&lt;br /&gt;
* &#039;&#039;b&#039;&#039; = 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000007&lt;br /&gt;
&lt;br /&gt;
The base point G in compressed form is:&lt;br /&gt;
* &#039;&#039;G&#039;&#039; = 02 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798&lt;br /&gt;
and in uncompressed form is:&lt;br /&gt;
* &#039;&#039;G&#039;&#039; = 04 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798 483ADA77 26A3C465 5DA4FBFC 0E1108A8 FD17B448 A6855419 9C47D08F FB10D4B8&lt;br /&gt;
Finally the order &#039;&#039;n&#039;&#039; of &#039;&#039;G&#039;&#039; and the cofactor are:&lt;br /&gt;
* &#039;&#039;n&#039;&#039; = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6 AF48A03B BFD25E8C D0364141&lt;br /&gt;
* &#039;&#039;h&#039;&#039; = 01&lt;br /&gt;
&lt;br /&gt;
[[es:Secp256k1]]&lt;/div&gt;</summary>
		<author><name>Nubarius</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Pywallet&amp;diff=33548</id>
		<title>Pywallet</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Pywallet&amp;diff=33548"/>
		<updated>2012-12-10T18:14:50Z</updated>

		<summary type="html">&lt;p&gt;Nubarius: Added interwiki link to new Spanish article&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pywallet is a python utility that dumps addresses and private keys from a Bitcoin-QT or bitcoind wallet.dat file. The script also imports private keys into the wallet.dat file. &lt;br /&gt;
&lt;br /&gt;
Included since version 0.6.0 of Bitcoin-QT and bitcoind, the importprivkey command makes pywallet&#039;s import feature unnecessary. It is advised to shut down any program that is accessing the wallet.dat file and make a backup before running pywallet to avoid any potential for corruption.&lt;br /&gt;
&lt;br /&gt;
[[es:Pywallet]]&lt;/div&gt;</summary>
		<author><name>Nubarius</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Private_key&amp;diff=33547</id>
		<title>Private key</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Private_key&amp;diff=33547"/>
		<updated>2012-12-10T18:11:39Z</updated>

		<summary type="html">&lt;p&gt;Nubarius: Added interwiki link to new Spanish article&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A &#039;&#039;&#039;private key&#039;&#039;&#039; in the context of Bitcoin is a secret number that allows bitcoins to be spent.  Every Bitcoin address has a matching private key, which is saved in the wallet file of the person who owns the balance.  The private key is mathematically related to the Bitcoin address, and is designed so that the Bitcoin address can be calculated from the private key, but importantly, the same cannot be done in reverse.&lt;br /&gt;
&lt;br /&gt;
Because the private key is the &amp;quot;ticket&amp;quot; that allows someone to spend bitcoins, it is important that these are kept secure.  Private keys can be kept on computer files, but they are also short enough that they can be printed on paper.  An example of a utility that allows extraction of private keys from your wallet file for printing purposes is [[pywallet]].&lt;br /&gt;
&lt;br /&gt;
In order to create a transaction with a private key, it must be available to a program or service that allows entry or importing of private keys. Some wallets allow the private key to be imported without generating any transactions while other wallets or services require that the private key be swept. When a private key is swept, a transaction is broadcast that sends the entire balance held by the private key to another address in the wallet or securely controlled by the service in question. &lt;br /&gt;
&lt;br /&gt;
An example of private key sweeping is the method used on [[MtGox]]&#039;s Add Funds screen. Just as with any other deposit, there is risk of double-spending so funds are deposited to the MtGox account after a six-confirmation wait (typically one hour).  In contrast [[BlockChain.info]]&#039;s My Wallet service and Bitcoin-QT each provide a facility to import a private key without creating a sweep transaction.&lt;br /&gt;
&lt;br /&gt;
==An example private key==&lt;br /&gt;
In Bitcoin, a private key is a 256-bit number, which can be represented one of several ways.  Here is a private key in hexadecimal - 256 bits in hexadecimal is 32 bytes, or 64 characters in the range 0-9 or A-F.&lt;br /&gt;
&lt;br /&gt;
 E9 87 3D 79 C6 D8 7D C0 FB 6A 57 78 63 33 89 F4 45 32 13 30 3D A6 1F 20 BD 67 FC 23 3A A3 32 62&lt;br /&gt;
&lt;br /&gt;
==Range of valid private keys==&lt;br /&gt;
Nearly every 256-bit number is a valid private key.  Specifically, any 256-bit number between 0x1 and 0xFFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFE BAAE DCE6 AF48 A03B BFD2 5E8C D036 4141 is a valid private key.&lt;br /&gt;
&lt;br /&gt;
The range of valid private keys is governed by the [[secp256k1]] ECDSA standard used by Bitcoin.&lt;br /&gt;
&lt;br /&gt;
==Base 58 Wallet Import format==&lt;br /&gt;
When we represent private keys in Bitcoin, however, we use a shorter format known as [[wallet import format]], which offers a few advantages.  The wallet import format is shorter, and includes built-in error checking codes so that typos can be automatically detected and/or corrected (which is impossible in hex format).  Wallet import format is the most common way to represent private keys in Bitcoin.  For private keys associated with uncompressed public keys, they are 51 characters and always start with the number 5. Private keys associated with compressed public keys are 52 characters and start with a capital L or K. This is the same private key in wallet import format.&lt;br /&gt;
&lt;br /&gt;
 5Kb8kLf9zgWQnogidDA76MzPL6TsZZY36hWXMssSzNydYXYB9KF&lt;br /&gt;
&lt;br /&gt;
When a private key is imported, it always corresponds to exactly one [[Address|Bitcoin address]].  Any utility which performs the conversion can display the matching Bitcoin address.  The mathematical conversion is somewhat complex and best left to a computer, but it&#039;s notable that each private key will always correspond to the same address no matter which program is used to convert it.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin address corresponding to the sample above is: 1CC3X2gu58d6wXUWMffpuzN9JAfTUWu4Kj&lt;br /&gt;
&lt;br /&gt;
==Mini private key format==&lt;br /&gt;
Some applications use the [[mini private key format]].  Not every private key or Bitcoin address has a corresponding mini private key - they have to be generated a certain way in order to ensure a mini private key exists for an address.  The mini private key is used for applications where space is critical, such as in QR codes and in [[physical bitcoins]].  The above example has a mini key, which is:&lt;br /&gt;
&lt;br /&gt;
 SzavMBLoXU6kDrqtUVmffv&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
Any Bitcoins sent to the address 1CC3X2gu58d6wXUWMffpuzN9JAfTUWu4Kj can be spent by anybody who knows the private key in &#039;&#039;any&#039;&#039; of the three formats.  That includes bitcoins presently at the address, as well as any bitcoins that are ever sent to it in the future.  The private key is only needed to spend the balance, not necessarily to see it.  The Bitcoin balance of the address can be determined by anybody with the public [[Block Explorer]] at http://www.blockexplorer.com/address/1CC3X2gu58d6wXUWMffpuzN9JAfTUWu4Kj - even if they don&#039;t have the private key.&lt;br /&gt;
&lt;br /&gt;
If a private key with a Bitcoin balance is compromised or stolen, the bitcoin balance can only be protected if it is immediately spent to a different address whose private key is not compromised.  Because bitcoins can only be spent once, when they are spent away from a private key, the private key is worthless unless more coins are sent to the address.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[Paper wallet]]&lt;br /&gt;
* [[How to import private keys]]&lt;br /&gt;
&lt;br /&gt;
[[es:Clave privada]]&lt;/div&gt;</summary>
		<author><name>Nubarius</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Paper_wallet&amp;diff=33546</id>
		<title>Paper wallet</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Paper_wallet&amp;diff=33546"/>
		<updated>2012-12-10T17:19:46Z</updated>

		<summary type="html">&lt;p&gt;Nubarius: Added interwiki link to Spanish translation of the article&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A &#039;&#039;&#039;paper wallet&#039;&#039;&#039; is a way to store Bitcoins that involves printing the Bitcoin addresses and private keys directly on a piece of paper.  When done properly, paper wallets are one of the safest ways possible to store Bitcoins.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
A Bitcoin [[private key]] can be represented in several formats, but is typically a string of numbers and letters no more than about 51 characters in length.  This is easy to print on paper, and if kept secret, can securely hold an unlimited quantity of Bitcoins.&lt;br /&gt;
&lt;br /&gt;
==Producing safe paper wallets==&lt;br /&gt;
Several tools exist for producing paper wallets, including [[pywallet]], [[vanitygen]], [http://bitaddress.org/ Bitaddress.org], [[LinuxCoin]], and [[Bitcoin Address Utility]].  Paper wallets must be produced securely in order to be safe, because any leak of the private key constitutes the ability for an attacker to steal any present and future balance of the address.  Consider the following:&lt;br /&gt;
* Paper wallets should be produced on a computer not connected to the Internet.&lt;br /&gt;
* Be aware that malware often allows a remote third party to view your screen and see your keystrokes, and these can compromise the integrity of your paper wallet.  Also consider that antivirus software cannot completely rule out the possibility of malware.  However, using bootable CD&#039;s prevents the vast majority of malware from being able to run.  If you can generate a paper wallet with a bootable CD such as [[LinuxCoin]], the likelihood of malware being able to compromise your keys is very low.&lt;br /&gt;
* The private keys of paper wallets should never be saved to a computer hard drive.  You should also never scan your paper wallet into your computer or type the private keys or save them in e-mail, except at the moment you are redeeming the balance.&lt;br /&gt;
* A web-based paper wallet generator should be written so that all of the generation happens on your computer, not the web server.  After you load the paper wallet generating website in your web browser, you should disconnect from the internet, and observe that the paper wallet generator continues to function.  Afterward, you should close your browser before reconnecting to the internet.&lt;br /&gt;
* A paper wallet generator should use an appropriate source of random numbers (entropy).  This means that the generated addresses aren&#039;t predictable.  If the addresses come from a predictable or partially-predictable pattern, someone else who can predict the pattern addresses can steal the balance.  A safe way to generate addresses is from a passphrase, where you provide a very long unguessable passphrase (at least thirty characters - even if it is just mashing random characters on the keyboard).  This way, you as the user are in control of the randomness and potential predictability of the addresses.&lt;br /&gt;
&lt;br /&gt;
===Printer Security===&lt;br /&gt;
&lt;br /&gt;
Some printers will store the output using storage in which the data can be recovered from the printer&#039;s memory or from a hard drive (if the printer has one) and stores its print jobs there.  Most larger commercial printers have hard drives but whether or not documents are stored on them will vary based on manufacturer and model.&lt;br /&gt;
&lt;br /&gt;
==Redeeming Keys==&lt;br /&gt;
&lt;br /&gt;
There are various methods for copying the private key data from a paper wallet to other wallets.  [[BlockChain.info]] and [[Armory]] can import them directly into wallets.  [[MtGox|Mt. Gox]] provides the ability to Add Funds using a private key.  The exchange will then create a &amp;quot;sweep&amp;quot; transaction that spends any amount for that paper wallet address so that the amount is added to your account with them.  They will also sweep to your account any bitcoins received to that address in the future as well.&lt;br /&gt;
&lt;br /&gt;
Those running the Bitcoin.org (&amp;quot;Satoshi&amp;quot;) client can import paper wallet addresses using the [[Pywallet]] utility.  Other [[:Category:Clients|clients]] may allow this as well, including the Javascript-based wallet called My Wallet from [[BlockChain.info]] which can import Bitcoin private keys as well.&lt;br /&gt;
&lt;br /&gt;
Since 0.6.0, key import/export are available in the client itself, you can use is via RPC. The commands are &#039;&#039;dumpprivkey&#039;&#039; and &#039;&#039;importprivkey&#039;&#039;. For encrypted wallet, you need to use &#039;&#039;walletpassphrase&#039;&#039; to decrypt temporarily in memory before importing or exporting. Note that bitcoind will rescan the block data when importing each key now, this process takes about one minute or two, depending on your CPU performance. See [[How to import private keys]] for more info.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[Private key]]&lt;br /&gt;
&lt;br /&gt;
* [[Securing_your_wallet#Paper_Wallets]]&lt;br /&gt;
&lt;br /&gt;
* [[How to import private keys]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;br /&gt;
&lt;br /&gt;
[[es:Monedero de papel]]&lt;/div&gt;</summary>
		<author><name>Nubarius</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Category:Instructional&amp;diff=33350</id>
		<title>Category:Instructional</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Category:Instructional&amp;diff=33350"/>
		<updated>2012-12-05T21:44:06Z</updated>

		<summary type="html">&lt;p&gt;Nubarius: Added interwiki link to corresponding category in Spanish wiki&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Instructions and how-to articles. &lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:Introduction]]&lt;br /&gt;
&lt;br /&gt;
[[es:Categoría:Instrucciones]]&lt;/div&gt;</summary>
		<author><name>Nubarius</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Wallet_Security_Dos_and_Don%27ts_(Windows)&amp;diff=33349</id>
		<title>Wallet Security Dos and Don&#039;ts (Windows)</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Wallet_Security_Dos_and_Don%27ts_(Windows)&amp;diff=33349"/>
		<updated>2012-12-05T21:40:02Z</updated>

		<summary type="html">&lt;p&gt;Nubarius: Added interwiki link to Spanish translation of this article.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[Note - There are varying levels of security appropriate for the level of risk.  The following might be general recommendations for consumer-level risks.  Service providers and large investors requiring enterprise level security might have a very specific list of Dos and Dont&#039;s that varies from this list.]&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Don&#039;t&#039;&#039;&#039; keep all your bitcoins in one wallet.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Don&#039;t&#039;&#039;&#039; send bitcoins to a wallet that hasn&#039;t been backed up &#039;&#039;beforehand&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Don&#039;t&#039;&#039;&#039; send [[Securing_your_wallet#General_Solutions|unencrypted]] copies of your wallets over the Internet.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Don&#039;t&#039;&#039;&#039; store unencrypted copies of your wallets on online backup/storage services.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Don&#039;t&#039;&#039;&#039; run or install programs from questionable sources on the system where you are running bitcoin.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Don&#039;t&#039;&#039;&#039; click on questionable links in your browser. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Don&#039;t&#039;&#039;&#039; run bitcoin on an untrusted or badly maintained machine.  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Don&#039;t&#039;&#039;&#039; run software that has been copied illegally (eg, &amp;quot;warez&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Don&#039;t&#039;&#039;&#039; install unnecessary browser plugins.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Don&#039;t&#039;&#039;&#039; use a password for wallet encryption that you use elsewhere on the web.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Don&#039;t&#039;&#039;&#039; use weak passwords. If a password is easy to remember without rehearsal, it is probably weak.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Don&#039;t&#039;&#039;&#039; forget your passwords. If you write them down on a piece of paper, keep that piece of paper in a safety deposit box.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Don&#039;t&#039;&#039;&#039; store unencrypted copies of your wallets on a device that you insert into machines of friends, at work, or while traveling.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Don&#039;t&#039;&#039;&#039; insert any devices of doubtful origin.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Don&#039;t&#039;&#039;&#039; develop a carefree attitude towards wallet security. Handle bitcoins with the same amount of diligence as you handle physical cash. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do&#039;&#039;&#039; keep at least one [[How to set up a secure offline savings wallet|offline savings wallet]].&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do&#039;&#039;&#039; backup your spending wallet regularly.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do&#039;&#039;&#039; keep dated versions of each backed up wallet.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do&#039;&#039;&#039; [[Securing_your_wallet#General_Solutions|encrypt]] all wallets as soon as they leave your system.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do&#039;&#039;&#039; keep encrypted backups of all your wallets in at least 3 physically separate locations.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do&#039;&#039;&#039; use strong, unique passwords to encrypt your wallets.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do&#039;&#039;&#039; use [http://www.truecrypt.org/docs/?s=keyfiles keyfiles] to encrypt your wallets, and keep backups of your keyfiles in at least 3 physically separate locations.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do&#039;&#039;&#039; use a good antivirus and firewall, and keep them up to date (but understand their limitations). &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do&#039;&#039;&#039; update all your installed programs to the latest version.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do&#039;&#039;&#039; update your operating system with the latest security patches.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do&#039;&#039;&#039; uninstall all programs that you don&#039;t use regularly.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do&#039;&#039;&#039; uninstall all browser plugins/ add-ons that you don&#039;t use regularly.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do&#039;&#039;&#039; always browse in private mode.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do&#039;&#039;&#039; use the [http://noscript.net/ NoScript] plugin (or similar) in your browser and whitelist only the sites you trust.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do&#039;&#039;&#039; run programs from questionable sources inside a virtual machine, such as [http://www.virtualbox.org/ VirtualBox].&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do&#039;&#039;&#039; browse questionable websites from inside a virtual machine.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do&#039;&#039;&#039; connect the bitcoin client and IRC via [[Tor]]. &lt;br /&gt;
&lt;br /&gt;
*If you own a large number of bitcoins, &#039;&#039;&#039;do&#039;&#039;&#039; invest time and money in order to secure them, just like you would with other valuables. If you lack the technical expertise, ask or pay somebody else to do it for you.&lt;br /&gt;
&lt;br /&gt;
*If you believe your computer has been compromised, &#039;&#039;&#039;do&#039;&#039;&#039; wipe your HD and perform a clean OS install.&lt;br /&gt;
&lt;br /&gt;
[[Category:Instructional]]&lt;br /&gt;
[[Category:Security]]&lt;br /&gt;
&lt;br /&gt;
[[es:Qué se debe y qué no se debe hacer respecto a la seguridad del monedero (Windows)]]&lt;/div&gt;</summary>
		<author><name>Nubarius</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Category:Security&amp;diff=33336</id>
		<title>Category:Security</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Category:Security&amp;diff=33336"/>
		<updated>2012-12-04T21:02:40Z</updated>

		<summary type="html">&lt;p&gt;Nubarius: Added interwiki link to the category in the Spanish-language wiki&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This category is for articles related to securing a wallet or online service, or other security and Infosec topics.&lt;br /&gt;
&lt;br /&gt;
[[es:Categoría:Seguridad]]&lt;/div&gt;</summary>
		<author><name>Nubarius</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Data_directory&amp;diff=32682</id>
		<title>Data directory</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Data_directory&amp;diff=32682"/>
		<updated>2012-11-16T21:27:18Z</updated>

		<summary type="html">&lt;p&gt;Nubarius: Added interwiki link to new Spanish article&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The location where Bitcoin&#039;s data files are stored, including the [[Wallet|wallet]] data file.&lt;br /&gt;
&lt;br /&gt;
==Default Location==&lt;br /&gt;
=== Windows ===&lt;br /&gt;
&lt;br /&gt;
Go to Start -&amp;gt; Run (or press WinKey+R) and run this:&lt;br /&gt;
&lt;br /&gt;
 explorer %APPDATA%\Bitcoin&lt;br /&gt;
&lt;br /&gt;
Bitcoin&#039;s data folder will open. For most users, this is the following locations:&lt;br /&gt;
&lt;br /&gt;
 C:\Documents and Settings\YourUserName\Application data\Bitcoin (XP)&lt;br /&gt;
 &lt;br /&gt;
 C:\Users\YourUserName\Appdata\Roaming\Bitcoin (Vista and 7)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;AppData&amp;quot; and &amp;quot;Application data&amp;quot; are hidden by default.&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
&lt;br /&gt;
By default Bitcoin will put its data here:&lt;br /&gt;
&lt;br /&gt;
 ~/.bitcoin/&lt;br /&gt;
&lt;br /&gt;
You need to do a &amp;quot;ls -a&amp;quot; to see directories that start with a dot.&lt;br /&gt;
&lt;br /&gt;
If that&#039;s not it, you can do a search like this:&lt;br /&gt;
&lt;br /&gt;
 find / -name wallet.dat -print 2&amp;gt;/dev/null&lt;br /&gt;
&lt;br /&gt;
=== Mac ===&lt;br /&gt;
&lt;br /&gt;
By default Bitcoin will put its data here:&lt;br /&gt;
&lt;br /&gt;
 ~/Library/Application Support/Bitcoin/&lt;br /&gt;
&lt;br /&gt;
==Directory Contents==&lt;br /&gt;
&lt;br /&gt;
===Subdirectories===&lt;br /&gt;
* database&lt;br /&gt;
**Contains journaling files for the block database  &lt;br /&gt;
* testnet&lt;br /&gt;
**Contains testnet versions of these files (if running with -testnet)&lt;br /&gt;
&lt;br /&gt;
===Files===&lt;br /&gt;
* .lock&lt;br /&gt;
**BDB lock file&lt;br /&gt;
* bitcoin.conf [optional]&lt;br /&gt;
**Contains [[Running_Bitcoin#Bitcoin.conf_Configuration_File|configuration options]].  &lt;br /&gt;
* blk&#039;&#039;xxxx&#039;&#039;.dat&lt;br /&gt;
**Contains concatenated raw blocks&lt;br /&gt;
* blkindex.dat&lt;br /&gt;
**Indexing information used with blk&#039;&#039;xxxx&#039;&#039;.dat&lt;br /&gt;
* __db.&#039;&#039;xxx&#039;&#039;&lt;br /&gt;
**Used by BDB&lt;br /&gt;
* db.log&lt;br /&gt;
* debug.log&lt;br /&gt;
**Bitcoin&#039;s verbose log file. Automatically trimmed from time to time.&lt;br /&gt;
* wallet.dat&lt;br /&gt;
**Storage for keys, transactions, metadata, and options. &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Please be sure to make backups of this file.  It contains the keys necessary for spending your bitcoins.&amp;lt;/span&amp;gt;&lt;br /&gt;
* addr.dat [Versions prior to v0.7.0]&lt;br /&gt;
** Storage for ip addresses to make a reconnect easier&lt;br /&gt;
* peers.dat [Versions v0.7.0 and later]&lt;br /&gt;
** Storage for peer information to make a reconnect easier.  This file uses a bitcoin-specific file format, unrelated to any database system&amp;lt;ref&amp;gt;[http://bitcointalk.org/index.php?topic=119525.msg1287284#msg1287284 Ultraprune merged in mainline]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
The data, index and log files are used by Oracle [http://en.wikipedia.org/wiki/Berkeley_DB Berkeley DB], the embedded key/value data store that Bitcoin uses.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[Securing your wallet]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Technical]]&lt;br /&gt;
&lt;br /&gt;
[[es:Directorio de datos]]&lt;/div&gt;</summary>
		<author><name>Nubarius</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Securing_your_wallet&amp;diff=31037</id>
		<title>Securing your wallet</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Securing_your_wallet&amp;diff=31037"/>
		<updated>2012-09-19T10:05:34Z</updated>

		<summary type="html">&lt;p&gt;Nubarius: Added interwiki link to new Spanish article&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
Wallet security can be broken down into two independent goals:&lt;br /&gt;
# Protecting your wallet against loss.&lt;br /&gt;
# Protecting your wallet against theft.&lt;br /&gt;
&lt;br /&gt;
In the case that your current wallet hasn&#039;t been protected adequately (e.g. put online with a weaker password):&lt;br /&gt;
# Making a new secure wallet, using appropriate long-term protection.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;For a brief overview see also: [[Wallet Security Dos and Don&#039;ts (Windows)|Wallet Security Dos and Don&#039;ts]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Paper Wallets==&lt;br /&gt;
[[Paper wallet]]s are a fairly simple way to store your bitcoins independent of a computer. When generated securely and stored on paper, or other offline storage media, a paper wallet decreases the chances of your bitcoins being stolen by hackers, or computer viruses.&lt;br /&gt;
&lt;br /&gt;
With each entry on a paper wallet, you are securing a sequence of secret numbers that is used to prove your right to spend the bitcoins assigned to one of your addresses. This secret number, called a [[private key]], is most commonly written as a sequence of fifty-one alphanumeric characters, beginning with a &#039;5&#039;.&lt;br /&gt;
&lt;br /&gt;
One way you can create a paper wallet is by going to the website [[BitAddress|bitaddress.org]]. This website features a free client-side paper wallet generator written in JavaScript. The webpage can be saved as a file and used on an offline computer. Using it online is relatively safe, for storing smaller amounts, but not airtight unless you take extra precautions to ensure your keys are not stolen by spyware. Alternatively Blockchain.info offers a [https://blockchain.info/wallet/paper-tutorial tutorial on how to generate a paper wallet] with an online component so you can still check your balance easily.&lt;br /&gt;
&lt;br /&gt;
To generate a safer paper wallet, it is best to &amp;quot;clean-boot&amp;quot; your computer with a bootable CD (such as a Linux Live CD), with your computer not connected to the Internet, to ensure that you do not have any active spyware that might steal any private keys you generate. Disconnecting from the Internet allows you to confirm that the paper wallet generator is truly self-contained and isn&#039;t depending on communication with a remote server. Run the saved paper wallet generator in a web browser, then print your paper wallets or store them on external media (do not save them on the computer), and then shut down the computer. You may need to load an appropriate printer driver in order to print while booted from the live CD.&lt;br /&gt;
&lt;br /&gt;
A paper wallet lists multiple Bitcoin addresses and their corresponding private keys. You can send Bitcoins to any address on the page and they will be inaccessible until the private key is imported into a wallet. Since version 0.6.0, the bitcoin software has a command called &amp;quot;importprivkey&amp;quot; that can load private keys, but you can also use the &amp;quot;Add Funds&amp;quot; - &amp;quot;Private key&amp;quot; screen at [[MtGox]] or Blockchain.info&#039;s &amp;quot;My Wallet&amp;quot; service to recover bitcoins from a private key. In the case of MtGox, bitcoins are deposited in your account, and can be sent out of MtGox after the standard number of deposit confirmations.&lt;br /&gt;
&lt;br /&gt;
Remember, spyware and viruses often attempt to monitor your computer activities so that their authors can steal from you. They are interested in passwords to online accounts, and anything of value. Bitcoin wallets and private keys are something of value that have already been targeted by malware. Paper wallets isolate you from much of this risk.&lt;br /&gt;
&lt;br /&gt;
If your computer is infected with spyware or viruses - even if there are no symptoms, or your antivirus isn&#039;t reporting anything - then anything you type, view, or save on your computer, could potentially be stolen by someone remotely controlling your computer. Your private key can then be intercepted while you enter it, so only enter a Bitcoin private key into your computer when your intent is to redeem its value &#039;&#039;immediately&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Importance of security updates==&lt;br /&gt;
&lt;br /&gt;
No software is perfect, and from time to time there may be security vulnerabilities found in your Bitcoin client as well.&lt;br /&gt;
Be sure you keep your client updated with the latest bug fixes, especially when a new vulnerability is discovered.&lt;br /&gt;
We maintain a [[CVEs|list a known vulnerabilities]] on this wiki - you can watch that page to get updates.&lt;br /&gt;
Note that you &#039;&#039;don&#039;t&#039;&#039; need to be running the latest major client version: some clients, including the popular Bitcoin-Qt, have older versions available with bugfix-only updates.&lt;br /&gt;
&lt;br /&gt;
==Securing the Bitcoin-QT or bitcoind wallet==&lt;br /&gt;
&lt;br /&gt;
Bitcoin transactions send Bitcoins to a specific public key. A Bitcoin address is an encoded hash of a public key. In order to use received Bitcoins, you need to have the private key matching the public key you received with. This is sort of like a super long password associated with an account (the account is the public key). Your Bitcoin wallet contains all of the private keys necessary for spending your received transactions. If you delete your wallet without a backup, then you no longer have the authorization information necessary to claim your coins, and the coins associated with those keys are lost forever.&lt;br /&gt;
&lt;br /&gt;
The wallet contains a pool of queued keys. By default there are 100 keys in the [[key pool]].  The size of the pool is configurable using the &amp;quot;-keypool&amp;quot; command line argument.  When you need an address for whatever reason (send, “new address”, generation, etc.), the key is not actually generated freshly, but taken from this pool. A brand new address is generated to fill the pool back to 100. So when a backup is first created, it has all of your old keys plus 100 unused keys. After sending a transaction, it has 99 unused keys. After a total of 100 new-key actions, you will start using keys that are not in your backup. Since the backup does not have the private keys necessary for authorizing spends of these coins, restoring from the old backup will cause you to lose Bitcoins.&lt;br /&gt;
&lt;br /&gt;
Creating a new address generates a new pair of public and private keys, which are added to your wallet. Each keypair is mostly random numbers, so they cannot be known prior to generation. If you backup your wallet and then create more than 100 new addresses, the keypair associated with the newest addresses will not be in the old wallet because the new keypairs are only known after creating them. Any coins received at these addresses will be lost if you restore from the backup.&lt;br /&gt;
&lt;br /&gt;
The situation is made somewhat more confusing because the receiving addresses shown in the UI are not the only keys in your wallet. Each Bitcoin generation is given a new public key, and, more importantly, each sent transaction also sends some number of Bitcoins back to yourself at a new key. When sending Bitcoins to anyone, you generate a new keypair for yourself and simultaneously send Bitcoins to your new public key and the actual recipient&#039;s public key. This is an anonymity feature – it makes tracking Bitcoin transactions much more difficult.&lt;br /&gt;
&lt;br /&gt;
So if you create a backup, do more than 100 things that cause a new key to be used, and then restore from the backup, some Bitcoins will be lost. Bitcoin has not deleted any keys (keys are never deleted) – it has created a new key that is not in your old backup and then sent Bitcoins to it.&lt;br /&gt;
&lt;br /&gt;
== Making a new wallet ==&lt;br /&gt;
&lt;br /&gt;
If a wallet or an encrypted wallet&#039;s password has been compromised, it is wise to create a new wallet and transfer the full balance of bitcoins to addresses contained only in the newly created wallet. Examples of ways a wallet may be compromised are through password re-use, minimal strength passwords, computer hack or virus attack.&lt;br /&gt;
&lt;br /&gt;
There are a number of ways to create a new wallet with Bitcoin-QT or bitcoind but this is a process that has been tested with bitcoind 0.6.3. We use the copy command to minimize the chance of any data loss but you are warned to make backups of any wallet.dat that holds a balance for you.&lt;br /&gt;
&lt;br /&gt;
:1. Shut down the Bitcoin program.&lt;br /&gt;
:2. Find and make a backup of the &amp;quot;compromised&amp;quot; wallet.dat file and rename it, perhaps adding a short description:&lt;br /&gt;
:::wallet.dat -&amp;gt;  wallet-compromised.dat&lt;br /&gt;
:Depending on your OS, the wallet file will be located at:&lt;br /&gt;
:::Windows: %APPDATA%\Bitcoin\&lt;br /&gt;
:::Linux: ~/.bitcoin/&lt;br /&gt;
:::Mac: ~/Library/Application Support/Bitcoin/&lt;br /&gt;
:3. Start the Bitcoin program and it will create a new wallet.dat. You may then encrypt the wallet as desired and make a new backup.&lt;br /&gt;
:4. Once you&#039;ve made a new wallet, you can obtain one or more addresses and copy them into a text editor. After obtaining the new address(es), shut down the Bitcoin program, make a backup of the new wallet.dat file and copy it to a new file named wallet-new.dat.&lt;br /&gt;
:5. Copy the wallet-compromised.dat file back to wallet.dat, start the Bitcoin program and transfer your balance to the new address(es) you put in your text editor. Once the balance is back to 0 for your compromised wallet, you may want to wait a couple minutes or for a confirmation or check block explorer to be sure the transactions have been broadcasted. Then you may shut down the Bitcoin program.&lt;br /&gt;
:6. Rename wallet.dat to wallet-compromised.dat. &lt;br /&gt;
:7. Rename wallet-new.dat to wallet.dat.&lt;br /&gt;
&lt;br /&gt;
You should now have a new wallet with all the bitcoins from the old wallet.&lt;br /&gt;
&lt;br /&gt;
==Making a secure workspace==&lt;br /&gt;
&lt;br /&gt;
If you are using your computer to handle bitcoins, a wallet, Bitcoin-related passwords, or Bitcoin private keys, you must take care that the system is free of malware, viruses, keyloggers, remote access tools, and other tools that may be used to make remote copies of any of the above. In the case that your computer is compromised, the precautions taken below may provide additional protection.&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
&lt;br /&gt;
The first step is to make a [http://www.howtogeek.com/howto/ubuntu/add-a-user-on-ubuntu-server/ new user,] so as root, run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;adduser new_user_name&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you get to the prompt &#039;Enter the new value, or press ENTER for the default&#039;, just keep hitting ENTER.&lt;br /&gt;
&lt;br /&gt;
Then switch user to the new user.  To get to the new user you can use the switch user icon for your system, which on Ubuntu is in the &#039;System/Quit&#039; screen, or if there is no switch icon on your system you can log out and log back in as the new user.  Then click on a folder in the new user to display the file browser, then keep going up folders until you see the new user home directory, then right click to bring up the Properties dialog, then click on the Permissions tab, then in the Others section, set the folder access to None.&lt;br /&gt;
&lt;br /&gt;
For secure browsing, open Firefox, and then go into the Edit menu and click Preferences.  Starting from the left, click on the General tab, and in the &#039;Startup/When Firefox starts&#039; pop up menu, choose &#039;Show a Blank Page&#039;.  Then click on the Content tab, and deselect &#039;Load images automatically&#039; and deselect &#039;Enable JavaScript&#039;.  Then click on the Privacy tab, and in the &#039;History/Firefox will&#039; pop up menu, choose &#039;Never remember history&#039;.  Then click on the Security tab, and in the Passwords section, deselect &#039;Remember passwords for sites&#039; and deselect &#039;Use a master password&#039;.  Then click on the Advanced tab, then click on the Update tab, and then in the &#039;Automatically check for updates to&#039; section, deselect &#039;Add-ons&#039; and &#039;Search Engines&#039;.&lt;br /&gt;
&lt;br /&gt;
When JavaScript is disabled, the [http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.23/bitcoin-0.3.23-linux.tar.gz/download Linux download page] will not download automatically, so you&#039;ll have to click on the &#039;direct link&#039; part of the &amp;quot;Problems with the download? Please use this &#039;direct link&#039; or try another mirror.&amp;quot; line.&lt;br /&gt;
&lt;br /&gt;
After you&#039;ve made your secure new user, to maintain security you should only use it for Bitcoin.&lt;br /&gt;
&lt;br /&gt;
It&#039;s also a good idea to encrypt the Home directory of whatever user you run Bitcoin under using ecryptfs-utils. To do this:&lt;br /&gt;
# If the Home directory is not empty you should back it up first, by just copying the data to an external drive or something.&lt;br /&gt;
# install ecryptfs-utils (on Ubuntu: sudo apt-get install ecryptfs-utils)&lt;br /&gt;
# log out of X (graphical system) and press Ctrl+Alt+F1 to login to the command shell (you must be logged out or some files will be open and the tool won&#039;t be able to encrypt your data)&lt;br /&gt;
# change directory to something that&#039;s not in your home folder (ex: cd / )&lt;br /&gt;
# run the migration tool (on Ubuntu: sudo ecryptfs-migrate-home -u username)&lt;br /&gt;
# if it&#039;s successful, you can now press ALT+F8 to go back to the GUI and login&lt;br /&gt;
# run &#039;ecryptfs-unwrap-passphrase&#039; and &#039;&#039;&#039;WRITE DOWN OR SAVE THE CODE IT RETURNS&#039;&#039;&#039; because you will need it if you ever have to pull your data off while the OS is not working. (You can run it again later if you need to, but run it now so that you can get your data if your Linux install gets botched.)&lt;br /&gt;
# run &#039;ecryptfs-setup-swap&#039; to encrypt your swap partition (the encrypted folder data is not encrypted while it&#039;s in memory, and so if it&#039;s ever sent to the swap partition it can be stolen from there unless that too is encrypted - be aware that this will mean you cannot use Hibernate anymore, as the bootloader won&#039;t be able to restore the hibernation data)&lt;br /&gt;
(instructions from [http://bodhizazen.net/Tutorials/Ecryptfs/#Migrate])&lt;br /&gt;
&lt;br /&gt;
===Mac===&lt;br /&gt;
This solution &#039;&#039;&#039;does not scale&#039;&#039;&#039;; the amount of needed space can grow beyond the image size.&lt;br /&gt;
&lt;br /&gt;
=====Backup all data=====&lt;br /&gt;
Follow these instructions to backup all the bitcoin data (wallet and block chains) to an encrypted disk image.&lt;br /&gt;
# Open Disk Utility&lt;br /&gt;
# Click New Image and choose a big enough size, 128-bit or 256-bit (faster or more secure) encryption and single partition.&lt;br /&gt;
# Save it somewhere you won&#039;t lose it (like your Wuala, Dropbox, Strongspace or whatever)&lt;br /&gt;
# Choose a safe and strong password&lt;br /&gt;
# Move everything from ~/Library/Application Support/Bitcoin/ to the image&lt;br /&gt;
# Symlink it back so the app would be able to use it&lt;br /&gt;
:::ln -s /Volumes/Bitcoin ~/Library/Application Support/Bitcoin&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to mount your image before using Bitcoin and unmount it after quitting.&lt;br /&gt;
&lt;br /&gt;
=====Backup just wallet.dat=====&lt;br /&gt;
Follow these instructions to backup just the wallet.dat file. This results in a smaller disk image, but it&#039;s more complicated to do.&lt;br /&gt;
# Open Disk Utility&lt;br /&gt;
# Click New Image and choose a big enough size, 128-bit or 256-bit (faster or more secure) encryption and single partition.&lt;br /&gt;
# Save it somewhere you won&#039;t lose it (like your Wuala, Dropbox, Strongspace or whatever)&lt;br /&gt;
# Choose a safe and strong password&lt;br /&gt;
# Move your wallet.dat file to the image&lt;br /&gt;
# Symlink it back so the app would be able to use it&lt;br /&gt;
:::ln -s /Volumes/Bitcoin/wallet.dat ~/Library/Application Support/Bitcoin/wallet.dat&lt;br /&gt;
&lt;br /&gt;
[[File:MountWalletAndLauchnBitcoin_OSX_Automator.png|thumbnail|150px|Mount Wallet and launch Bitcoin]]&lt;br /&gt;
Don&#039;t forget to mount your image before using Bitcoin and unmount after quitting it.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: If you start the Bitcoin application without having the image mounted, the application will overwrite your symlink with a new wallet. If that happens, don&#039;t panic. Just delete the new wallet.dat, mount the image, and recreate the symlink like above.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Automation&#039;&#039;&#039;: You can create a small application using [http://en.wikipedia.org/wiki/Automator_%28software%29 Automator] (included in OS X) to automatically mount the wallet and then launch Bitcoin App. See the Screenshot on how to do this.&lt;br /&gt;
&lt;br /&gt;
If one &#039;&#039;doesn&#039;t&#039;&#039; want to use encrypted Disk images, then a &#039;&#039;&#039;small shell script&#039;&#039;&#039; can be used instead that takes care of decrypting the wallet, launching bitcoin client, and encrypting it after the client exits. This script works on both OSX and Linux: [http://lorelei.kaverit.org/bitcoin.sh bitcoin-launch-script]&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
&lt;br /&gt;
Due to the frequency with which Windows computers are compromised, it is advised to encrypt your wallet or to keep your wallet on an encrypted disk image created by third-party software, such as [http://www.truecrypt.org/ TrueCrypt] (open source) or [http://www.jetico.com/encryption-bestcrypt/ Jetico BestCrypt] (commercial). This also applies to the storage of passwords, private keys and other data that can be used to access any of your Bitcoin balances.&lt;br /&gt;
&lt;br /&gt;
Assuming that you have installed the Windows Bitcoin client and run it at least once, the process is described below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;To mount the Bitcoin data directory on an encrypted drive&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ol start=1 type=1&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Use the third-party disk image encryption program of your choice to create and mount an encrypted disk image of at least 5GB in size. This procedure stores the entire block chain database with the wallet.dat file so the required size of the encrypted disk image required may grow in the future.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Locate the Bitcoin data directory, and copy the directory with all contents to the encrypted drive.&lt;br /&gt;
&amp;lt;p&amp;gt;For help finding this directory, see &amp;lt;b&amp;gt;[[Securing_your_wallet#Locating_Bitcoin_s_data_directory|Locating Bitcoin&#039;s Data Directory]]&amp;lt;/b&amp;gt;.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Create a Windows shortcut that starts Bitcoin with the &amp;lt;code&amp;gt;-datadir&amp;lt;/code&amp;gt; parameter and specifies the encrypted drive and directory.&lt;br /&gt;
&amp;lt;p&amp;gt;For example, if you installed Bitcoin in the default directory, mounted your Bitcoin encrypted drive as &amp;lt;code&amp;gt;E:\&amp;lt;/code&amp;gt;, and stored your Bitcoin data directory on it as &amp;lt;code&amp;gt;Bitcoin&amp;lt;/code&amp;gt;, you would type the following command as the shortcut Target:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;code&amp;gt;C:\Program Files\Bitcoin\bitcoin.exe -datadir=E:\Bitcoin&amp;lt;/code&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open Bitcoin&#039;s settings and configure it &amp;lt;b&amp;gt;NOT&amp;lt;/b&amp;gt; to start automatically when you start Windows.&lt;br /&gt;
&amp;lt;p&amp;gt;This is to allow you to mount the Bitcoin encrypted disk image before starting Bitcoin.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Shut down Bitcoin, and then restart it from the new shortcut.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After doing this, any time you want to use Bitcoin, you must first mount the Bitcoin encrypted disk image using the same drive designation, and then run Bitcoin from the shortcut that you created, so that it can find its data and your wallet.&lt;br /&gt;
&lt;br /&gt;
== Locating Bitcoin&#039;s data directory ==&lt;br /&gt;
&lt;br /&gt;
The [[data directory]] is the location where Bitcoin&#039;s data files are stored, including the wallet data file.&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
&lt;br /&gt;
Go to Start -&amp;gt; Run (or press WinKey+R) and run this:&lt;br /&gt;
&lt;br /&gt;
 explorer %APPDATA%\Bitcoin&lt;br /&gt;
&lt;br /&gt;
Bitcoin&#039;s data folder will open. For most users, this is one of the following locations:&lt;br /&gt;
&lt;br /&gt;
 C:\Documents and Settings\YourUserName\Application data\Bitcoin (Windows XP)&lt;br /&gt;
 &lt;br /&gt;
 C:\Users\YourUserName\Appdata\Roaming\Bitcoin (Windows Vista and 7)&lt;br /&gt;
&lt;br /&gt;
If you have trouble browsing to these folders, note that &amp;quot;AppData&amp;quot; and &amp;quot;Application data&amp;quot; are hidden by default.&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
&lt;br /&gt;
By default Bitcoin will put its data here:&lt;br /&gt;
&lt;br /&gt;
 ~/.bitcoin/&lt;br /&gt;
&lt;br /&gt;
You need to do a &amp;quot;ls -a&amp;quot; to see directories that start with a dot.&lt;br /&gt;
&lt;br /&gt;
If that&#039;s not it, you can do a search like this:&lt;br /&gt;
&lt;br /&gt;
 find / -name wallet.dat -print 2&amp;gt;/dev/null&lt;br /&gt;
&lt;br /&gt;
To change the directory Bitcoin stores its data in:&lt;br /&gt;
 Run in terminal or script: ./bitcoin(-qt) -datadir=./[Directory_Name]&lt;br /&gt;
&lt;br /&gt;
=== Mac ===&lt;br /&gt;
&lt;br /&gt;
By default Bitcoin will put its data here:&lt;br /&gt;
&lt;br /&gt;
 ~/Library/Application Support/Bitcoin/&lt;br /&gt;
&lt;br /&gt;
==Backup==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Using Dropbox to back up your Bitcoin data is not recommended as doing so introduces the following [https://en.wikipedia.org/wiki/Dropbox_(service)#Reception security concerns]:&lt;br /&gt;
# Dropbox stores your encryption key (meaning that a disgruntled Dropbox employee or an attacker who gained access to the system could decrypt your Dropbox data and steal your bitcoins)&lt;br /&gt;
# the Dropbox client only needs a password for the first login. After it authenticates once, the server assigns it a token which it uses to show that, at one time, its user knew the password rather than sending the actual password (meaning that if you ever use the Dropbox client on another PC, that PC&#039;s users can access your Dropbox - even if you change your password - and can steal your bitcoins or get a virus that will steal your bitcoins).&lt;br /&gt;
&lt;br /&gt;
For these reasons, an alternative that always uses password authentication such as [http://www.wuala.com/en/bitcoin Wuala] should be used. Wuala&#039;s servers do not store your encryption key and the program authenticates with the password each time it is started.&lt;br /&gt;
&lt;br /&gt;
Whether you use Dropbox as your backup or not, it is advised to use what Steve Gibson calls &amp;quot;pre-Internet encryption&amp;quot; which means to use some form of encryption on your files before you back them up, in case an attacker gains access to that backup. Make sure to pick a password that is memorable but secure.&lt;br /&gt;
&lt;br /&gt;
The only file you need to back up is &amp;quot;wallet.dat&amp;quot; which can be done one of two ways. To make a copy of the wallet.dat file, ensure that Bitcoin is closed and copy this file somewhere else. The other way is to use the [[api|backupwallet]] JSON-RPC command to back up without shutting down Bitcoin. &lt;br /&gt;
&lt;br /&gt;
Once a copy has been made, encrypt it, and put it in two or more safe locations. Consider the risk due to theft, fire, or natural disaster in proportion to the value of bitcoins stored in the wallet.&lt;br /&gt;
&lt;br /&gt;
=== General Solutions ===&lt;br /&gt;
&lt;br /&gt;
Your wallet.dat file is not encrypted by the Bitcoin program by default but the most current release of the Bitcoin client provides a method to encrypt with a passphrase the private keys stored in the wallet. Anyone who can access an unencrypted wallet can easily steal all of your coins.  Use one of these encryption programs if there is any chance someone might gain access to your wallet.&lt;br /&gt;
* [http://www.7-zip.org/ 7-zip] - Supports strongly-encrypted archives.&lt;br /&gt;
* [http://www.axantum.com/axcrypt/ AxCrypt by Axantum]&lt;br /&gt;
* [http://lrzip.kolivas.org lrzip] - Compression software for Linux and OSX that supports very high grade password protected encryption&lt;br /&gt;
* [http://www.truecrypt.org/ TrueCrypt] - Volume-based on-the-fly encryption (for advanced users)&lt;br /&gt;
&lt;br /&gt;
There is also a list of [[OpenSourceEncryptionSoftware|open source encryption software.]]&lt;br /&gt;
&lt;br /&gt;
Decrypting and encrypting the wallet.dat every time you start or quit the Bitcoin client can be &#039;&#039;tedious&#039;&#039; (and outright error-prone). If you want to keep your wallet encrypted (except while you&#039;re actually running the Bitcoin client), it&#039;s better to relegate the automation to a [http://lorelei.kaverit.org/bitcoin.sh small shell script] that handles the en/decryption and starting up Bitcoin client for you (Linux and OSX). &lt;br /&gt;
&lt;br /&gt;
There is also a method to print out and encrypt your wallet.dat as a special, scannable code. See details here: [[WalletPaperbackup]]&lt;br /&gt;
&lt;br /&gt;
==== Password Strength ====&lt;br /&gt;
Brute-force password cracking has come a long way. A password including capitals, numbers, and special characters with a length of 8 characters can be trivially solved now (using appropriate hardware). The recommended length is &#039;&#039;&#039;at least&#039;&#039;&#039; 12 characters long.  You can also use a multi-word password and there are techniques to increase the strength of your passwords without sacrificing usability. [http://www.baekdal.com/tips/password-security-usability The Usability of Passwords] &lt;br /&gt;
&lt;br /&gt;
However, simply using dictionary words is also insecure as it opens you up to a dictionary attack. If you use dictionary words, be sure to include random symbols and numbers in the mix as well.&lt;br /&gt;
&lt;br /&gt;
If you use keyfiles in addition to a password, it is unlikely that your encrypted file can ever be cracked using brute-force methods, even when even a 12 character password might be too short.&lt;br /&gt;
&lt;br /&gt;
Assume that any encrypted files you store online (eg. Gmail, Dropbox) will be stored somewhere forever and can never be erased.&lt;br /&gt;
&lt;br /&gt;
===== Choosing A Strong Password =====&lt;br /&gt;
Make sure you pick at least one character in each group:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  Lowercase: abcdefghijklmnopqrstuvwxyz&lt;br /&gt;
  Uppercase: ABCDEFGHIJKLMNOPQRSTUVWXYZ&lt;br /&gt;
  Number: 1234567890&lt;br /&gt;
  Symbol: `~!@#$%^&amp;amp;*()-_=+\|[{]};:&#039;&amp;quot;,&amp;lt;.&amp;gt;/? (space)&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;9 char = unsuitable for use&lt;br /&gt;
  09 char = insecure&lt;br /&gt;
  10 char = low security&lt;br /&gt;
  11 char = medium security&lt;br /&gt;
  12 char = good security (good enough for your wallet)&lt;br /&gt;
  13 char = very good, enough for anything.&lt;br /&gt;
&lt;br /&gt;
==== Email-based Archival and Remote Backup ====&lt;br /&gt;
One of the simplest methods for storing an appropriately &#039;&#039;&#039;encrypted&#039;&#039;&#039; archive of your wallet.dat file is to send the archive as an email attachment to your own e-mail address.  Services like Gmail use very comprehensive distributed networks that make the loss of data very unlikely.  One can even obfuscate the name of the files within the archive, and name the archive something less inviting, such as: &#039;personal notes&#039; or &#039;car insurance&#039;.&lt;br /&gt;
&lt;br /&gt;
Another solution is to use a file storage service like [http://www.wuala.com/bitcoin Wuala] ( encrypted, [http://www.bitcoin.org/smf/index.php?topic=5817.0 instructions]), [http://www.dropbox.com Dropbox] (after encrypting the wallet first) and [http://en.wikipedia.org/wiki/Comparison_of_online_backup_services others], including the more secure [http://www.spideroak.com SpiderOak].&lt;br /&gt;
&lt;br /&gt;
=== Autmated Backups using Cron, Bash and GNU/Linux ===&lt;br /&gt;
&lt;br /&gt;
Linux users can setup backups using cron by telling it to run a backup script at set intervals of time. Run &#039;crontab -e&#039; and add this line near the bottom:&lt;br /&gt;
&lt;br /&gt;
 01 * * * * /usr/local/bin/backupwallet.sh&lt;br /&gt;
&lt;br /&gt;
This cron line will run the /usr/local/bin/backupwallet.sh script at the 01 minute of every hour. Remember to add a newline after the last line of the crontab file, or else the last line won&#039;t run. You may also wish to ignore the script&#039;s output by appending &amp;quot; &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&amp;quot; to the line (this will also prevent emails from being sent).&lt;br /&gt;
&lt;br /&gt;
Create /usr/local/bin/backupwallet.sh:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 # /usr/local/bin/backupwallet.sh&lt;br /&gt;
 #&lt;br /&gt;
 # Performs backup of bitcoin wallet.&lt;br /&gt;
 #&lt;br /&gt;
 # Written by: https://en.bitcoin.it/wiki/Securing_your_wallet&lt;br /&gt;
 &lt;br /&gt;
 #&lt;br /&gt;
 # Standard Options&lt;br /&gt;
 #&lt;br /&gt;
 TS=$(date &amp;quot;+%Y%m%d-%H%M&amp;quot;)&lt;br /&gt;
 WALLET=/tmp/wallet-${TS}&lt;br /&gt;
 WALLET_E=/tmp/wallet-${TS}.crypt&lt;br /&gt;
 BITCOIN=bitcoind  # /path/to/bitcoind&lt;br /&gt;
 GPG=gpg  # /path/to/gpg&lt;br /&gt;
 GPG_USER=username  # Username of gpg recipient. User should have gpg setup.&lt;br /&gt;
 RM=rm&lt;br /&gt;
 RM_OPTS=&#039;--force&#039;&lt;br /&gt;
 USE_SHRED=0  # Flip to 1 to use `shred` instead of `rm`.&lt;br /&gt;
 SHRED=shred&lt;br /&gt;
 SHRED_OPTS=&#039;--force --iterations=9 --zero --remove&#039;&lt;br /&gt;
 &lt;br /&gt;
 #&lt;br /&gt;
 # Storage Options&lt;br /&gt;
 # Only 1 set of options should be un-commented (the last one will be used).&lt;br /&gt;
 # Update CP_DEST paths as neccessary.&lt;br /&gt;
 #&lt;br /&gt;
 # CP - Storage on a local machine. Could be Dropbox/Wuala folder.&lt;br /&gt;
 #CP=cp&lt;br /&gt;
 #CP_DEST=&#039;/var/data/backups/&#039;  # &#039;~/Dropbox/&#039;, etc.&lt;br /&gt;
 #&lt;br /&gt;
 # SSH - Storage on a remote machine.&lt;br /&gt;
 CP=scp&lt;br /&gt;
 CP_DEST=&#039;remoteuser@example.com:~/wallets/&#039;&lt;br /&gt;
 #&lt;br /&gt;
 # S3 - Storage on Amazon&#039;s S3. Be sure s3cmd is installed and properly setup.&lt;br /&gt;
 # You may need &amp;quot;s3cmd put --force&amp;quot; if you use a sub-directory in CP_DEST.&lt;br /&gt;
 #CP=s3cmd put&lt;br /&gt;
 #CP_DEST=&#039;s3://bucket&#039;&lt;br /&gt;
 &lt;br /&gt;
 do_clean() {&lt;br /&gt;
   # Remove temporary wallets.&lt;br /&gt;
   if [ 1 -eq $USE_SHRED ]; then&lt;br /&gt;
     $SHRED $SHRED_OPTS $WALLET $WALLET_E&lt;br /&gt;
   else&lt;br /&gt;
     $RM $RM_OPTS $WALLET $WALLET_E&lt;br /&gt;
   fi&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 do_fail() {&lt;br /&gt;
   do_clean&lt;br /&gt;
   echo failed!&lt;br /&gt;
   exit 1&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # Perform the backup.&lt;br /&gt;
 echo -n Making backup...&lt;br /&gt;
 $BITCOIN backupwallet $WALLET&lt;br /&gt;
 [ ! -s &amp;quot;$WALLET&amp;quot; ] &amp;amp;&amp;amp; do_fail  # If the backup does not exist or is empty, fail.&lt;br /&gt;
 echo done.&lt;br /&gt;
 echo -n Encrypting backup...&lt;br /&gt;
 $GPG -r $GPG_USER --output $WALLET_E --encrypt $WALLET&lt;br /&gt;
 [ 0 -ne $? ] &amp;amp;&amp;amp; do_fail  # If gpg returns a non-zero result, fail.&lt;br /&gt;
 echo done.&lt;br /&gt;
 echo -n Copying to backup location...&lt;br /&gt;
 $CP $WALLET_E &amp;quot;$CP_DEST&amp;quot;&lt;br /&gt;
 [ 0 -ne $? ] &amp;amp;&amp;amp; do_fail  # If the $CP command returns a non-zero result, fail.&lt;br /&gt;
 echo done.&lt;br /&gt;
 do_clean&lt;br /&gt;
 &lt;br /&gt;
 exit 0&lt;br /&gt;
&lt;br /&gt;
The shell script:&lt;br /&gt;
&lt;br /&gt;
* Calls bitcoind backupwallet to create a time/date-stamped wallet.&lt;br /&gt;
* GPG encrypts the wallet with your public key.&lt;br /&gt;
* Copies the result using one of several storage options (cp, scp, and s3cmd).&lt;br /&gt;
* Uses the rm or shred command to remove the temporary wallet files.&lt;br /&gt;
&lt;br /&gt;
Be sure to modify the script options to fit your setup. After you save, make sure the file can be executed properly by the cron user. Common permissions for files in /usr/local/bin/ can be applied using (verify with your distribution!):&lt;br /&gt;
&lt;br /&gt;
 cd /usr/local/bin/ &amp;amp;&amp;amp; chown root:root backupwallet.sh &amp;amp;&amp;amp; chmod 755 backupwallet.sh&lt;br /&gt;
&lt;br /&gt;
[[Category:Technical]]&lt;br /&gt;
&lt;br /&gt;
==Restore==&lt;br /&gt;
&lt;br /&gt;
Assuming your backup is recent enough that you haven&#039;t used up all of your key pool... restoring a wallet to a new (or old) location and rescanning the block chain should leave you with all your coins. Just follow these steps:&lt;br /&gt;
* Shut down the Bitcoin program.&lt;br /&gt;
* Copy your backed-up wallet.dat into your bitcoin data directory.&lt;br /&gt;
* If copying into existing profile, delete files &#039;&#039;blk*.dat&#039;&#039; to make the client re-download the block chain.&lt;br /&gt;
&lt;br /&gt;
==Erasing Plain-text Wallets==&lt;br /&gt;
&lt;br /&gt;
In most operating systems, including Windows, Linux, and Mac OS X, simply deleting a wallet.dat file will &#039;&#039;not&#039;&#039; generally destroy it. It is likely that advanced tools can still be used to recover the wallet.dat file, even after it has been deleted.&lt;br /&gt;
&lt;br /&gt;
The Linux &#039;&#039;&#039;shred&#039;&#039;&#039; command can be used to overwrite the wallet file with random data prior to deleting; this particular copy of the file will then be practically impossible to recover.  Using shred (and similar tools on Windows) however does not guarantee that still other copies don&#039;t exist somewhere hidden on your HD. That will depend on your system configuration and what packages you have installed. Some system restore and backup tools, for instance, create periodic snapshots of your  filesystem, duplicating your wallet.dat.&lt;br /&gt;
&lt;br /&gt;
In Mac OS, the equivalent of &#039;&#039;&#039;shred&#039;&#039;&#039; is &#039;&#039;&#039;srm&#039;&#039;&#039; (introduced in Leopard). Using the Finder to remove files, clicking &amp;quot;Secure Empty Trash&amp;quot; in the Finder menu will shred the contents of the trash can. As with any OS this doesn&#039;t guarantee that there are not other copies elsewhere on your system.&lt;br /&gt;
&lt;br /&gt;
For Windows, the built-in command &#039;&#039;cipher /W&#039;&#039; will shred all previously-deleted files. [http://www.cylog.org/utilities/cybershredder.jsp CyberShredder] can securely deleted individual files.&lt;br /&gt;
&lt;br /&gt;
==Online and Mobile Wallets==&lt;br /&gt;
&lt;br /&gt;
Thus far, this article has been discussing the security of a wallet file for Bitcoin-QT or bitcoind that is under your sole control. Additional wallets applications and services have become available that offer other features and more convenience but not without introducing additional risk. When storing bitcoins with an [[eWallet]] such as Instawallet or Easywallet, you are essentially storing your private keys or wallet with that provider. &lt;br /&gt;
&lt;br /&gt;
Online wallets have a number of pros and cons to consider. For example, you can access your wallet on any computer in the world, but depending on the service, your bitcoins may be lost if the service is compromised. &lt;br /&gt;
&lt;br /&gt;
Mobile wallet applications are available for Android devices that allow you to send bitcoins by QR code or NFC, but this opens up the possibility of loss if mobile device is compromised. It may be possible to encrypt and backup the wallet or private keys on a mobile device but it is not advisable to store a large amount of bitcoins there without doing your own research and testing.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[Data directory]]&lt;br /&gt;
* [[How to import private keys]]&lt;br /&gt;
* [http://startbitcoin.com/how-to-create-a-secure-bitcoin-wallet/ Secure Bitcoin Wallet Tutorial]&lt;br /&gt;
* [[How to set up a secure offline savings wallet]]&lt;br /&gt;
* [http://arimaa.com/bitcoin/ Bitcoin Gateway - A Peer-to-peer Bitcoin Vault and Payment Network]&lt;br /&gt;
* [http://blog.cyplo.net/2012/04/01/bitcoin-wallet-recovery-photorec/ Find lost wallet eg. after disk format, using Photorec]&lt;br /&gt;
&lt;br /&gt;
[[de:Sichere deine Geldbörse]]&lt;br /&gt;
[[es:Cómo asegurar su monedero]]&lt;br /&gt;
[[zh-cn:保护你的钱包]]&lt;/div&gt;</summary>
		<author><name>Nubarius</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=PHP_developer_intro&amp;diff=30708</id>
		<title>PHP developer intro</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=PHP_developer_intro&amp;diff=30708"/>
		<updated>2012-09-10T21:27:10Z</updated>

		<summary type="html">&lt;p&gt;Nubarius: Interwiki link to new Spanish article&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;L&#039;&#039;&#039;inux &#039;&#039;&#039;A&#039;&#039;&#039;pache &#039;&#039;&#039;M&#039;&#039;&#039;ySQL &#039;&#039;&#039;P&#039;&#039;&#039;HP + Bitcoin tutorial.&lt;br /&gt;
&lt;br /&gt;
For this introduction we assume that you have GNU/Linux server with Apache and PHP and that you wish to interact with the Bitcoin network from a web application. We assume some knowledge of Bitcoin and experience in PHP.&lt;br /&gt;
&lt;br /&gt;
While this is written for PHP, the same principles apply for other languages. See the associated [[API reference (JSON-RPC)|API reference]] pages for info on other languages.&lt;br /&gt;
&lt;br /&gt;
The easiest way to get started is to run Bitcoin in daemon mode with which PHP communicates via local HTTP requests. A library called [http://jsonrpcphp.org/ JSON-RPC] is used to call the various functions of bitcoind, which will respond back with a [http://en.wikipedia.org/wiki/Json JSON object].&lt;br /&gt;
&lt;br /&gt;
== Setting up Bitcoin ==&lt;br /&gt;
&lt;br /&gt;
You can download the Bitcoin daemon from the [[Main_Page|homepage]] and run one of the included binaries or compile your own from the included source code. See [[Running Bitcoin]] for details on configuring bitcoind.&lt;br /&gt;
&lt;br /&gt;
Before running bitcoind you will need to create a configuration file in the Bitcoin data directory (~/.bitcoin/bitcoin.conf on Linux):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
rpcuser=user&lt;br /&gt;
rpcpassword={you MUST pick a unique password to be secure}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
If you miss this step, bitcoind will remind you.&lt;br /&gt;
&lt;br /&gt;
Now run bitcoind:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ ./bitcoind&lt;br /&gt;
# wait a few seconds for it to start up&lt;br /&gt;
$ ./bitcoind getinfo&lt;br /&gt;
# various information will be shown. If you get an error, try again until you see some useful output.&lt;br /&gt;
$ ./bitcoind help&lt;br /&gt;
# get help on commands, note no dash before help&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bitcoin will begin synchronizing with the network and downloading a complete copy of the block chain. As of August 2012, more than 2gb of data must be downloaded and verified during this process. It may take two or more hours to complete. You will know when it&#039;s done when the block count reaches the [http://blockexplorer.com/q/getblockcount current count].&lt;br /&gt;
&lt;br /&gt;
== Getinfo (Bitcoind&#039;s version of Hello World) ==&lt;br /&gt;
&lt;br /&gt;
Assuming Bitcoin has finished the initialisation process; download the file jsonRPCClient.php from [http://jsonrpcphp.org/ JSON-RPC PHP] and place it in a web-accessible location.&lt;br /&gt;
&lt;br /&gt;
Second, create a PHP file with the following and visit it with your browser to test.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
  require_once &#039;jsonRPCClient.php&#039;;&lt;br /&gt;
  &lt;br /&gt;
  $bitcoin = new jsonRPCClient(&#039;http://user:password@127.0.0.1:8332/&#039;);&lt;br /&gt;
   &lt;br /&gt;
  echo &amp;quot;&amp;lt;pre&amp;gt;\n&amp;quot;;&lt;br /&gt;
  print_r($bitcoin-&amp;gt;getinfo());&lt;br /&gt;
  echo &amp;quot;&amp;lt;/pre&amp;gt;&amp;quot;;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Precision ==&lt;br /&gt;
&lt;br /&gt;
Bitcoin amounts can range from 1 (0.00000001 BTC) to nearly 2,100,000,000,000,000 (21,000,000 BTC).  To avoid rounding errors, you must make sure your PHP implementation supports the full range of Bitcoin values without losing precision.  Most PHP implementations use IEEE 64-bit double-precision floating point numbers with 53 bits of precision, which is enough to correctly represent the full range of bitcoin values.&lt;br /&gt;
&lt;br /&gt;
See [[Proper Money Handling (JSON-RPC)]] for more information.&lt;br /&gt;
&lt;br /&gt;
If your PHP implementation does not support 64-bit numbers (again, this is very rare), you must use a version of bitcoind that sends values as strings (genjix maintains a fork at http://github.com/genjix/bitcoin) and use the  [http://php.net/manual/en/ref.gmp.php GMP] and [http://php.net/manual/en/ref.bc.php BC Math] libraries for all calculations involving bitcoin amounts.&lt;br /&gt;
&lt;br /&gt;
== Accounts ==&lt;br /&gt;
&lt;br /&gt;
In Bitcoin, money is sent to addresses and many addresses can be held by one wallet. The balance shown by default in bitcoind is the sum of the bitcoins in all the addresses in the wallet.&lt;br /&gt;
&lt;br /&gt;
Bitcoin goes another step. You can have [[Accounts explained|accounts]]. Each account holds multiple addresses and acts like a mini-bitcoind. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ ./bitcoind listaccounts&lt;br /&gt;
# show list of accounts and various info for each one&lt;br /&gt;
$ ./bitcoind getaccountaddress user889&lt;br /&gt;
# get an address to receive money to that is unique for the account user889&lt;br /&gt;
$ ./bitcoind getbalance user889&lt;br /&gt;
# get the sum of all the money in the addresses owned by the account user889&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In your application, each user should have a unique username. You may then query bitcoind for a unique address using $bitcoin-&amp;gt;getaccountaddress(&amp;quot;user889&amp;quot;); [gets the first address for user889] or $bitcoin-&amp;gt;getnewaddress(&amp;quot;user889&amp;quot;); [creates a new address for user889].&lt;br /&gt;
&lt;br /&gt;
The customer then deposits to this address.&lt;br /&gt;
&lt;br /&gt;
You can check the funds for that customer by doing $bitcoin-&amp;gt;getbalance(&amp;quot;user889&amp;quot;, 4);. The 4 indicates the minimum number of confirmations we will accept before assuming this payment is valid.&lt;br /&gt;
&lt;br /&gt;
If you will be using accounts for multiple deposits and withdrawals long-term, you may want to consider tracking user balances in your own database. This simplifies transfers between your application&#039;s accounts and decouples your accounts from the Bitcoin wallet.&lt;br /&gt;
&lt;br /&gt;
=== getnewaddress vs getaccountaddress ===&lt;br /&gt;
&lt;br /&gt;
Using getnewaddress helps increase maintain anonymity of your users by making it hard for a malicious agent to track payments flowing through your application. Running getnewaddress too often, however, will cause your wallet to become filled with many empty addresses.&lt;br /&gt;
&lt;br /&gt;
It is therefore recommended to in some way limit the number of unfunded addresses each user can request. Here is an example using sessions:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    require_once(&#039;jsonRPCClient.php&#039;);&lt;br /&gt;
    $bitcoin = new jsonRPCClient(&#039;http://root:root@127.0.0.1:8332/&#039;); &lt;br /&gt;
    # now check for appropriate funds in user account&lt;br /&gt;
    try {&lt;br /&gt;
        $username = ...&lt;br /&gt;
        if(isset($_SESSION[&#039;sendaddress&#039;]))&lt;br /&gt;
            $sendaddress = $_SESSION[&#039;sendaddress&#039;];&lt;br /&gt;
        else {&lt;br /&gt;
            $sendaddress = $bitcoin-&amp;gt;getnewaddress($username);&lt;br /&gt;
            $_SESSION[&#039;sendaddress&#039;] = $sendaddress;&lt;br /&gt;
        }&lt;br /&gt;
        $balance = $bitcoin-&amp;gt;getbalance($username);&lt;br /&gt;
    }&lt;br /&gt;
    catch (Exception $e) {&lt;br /&gt;
        die(&amp;quot;&amp;lt;p&amp;gt;Server error! Please contact the admin.&amp;lt;/p&amp;gt;&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a new address at the beginning of every new session, and stores it in the session variable.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[API reference (JSON-RPC)]]&lt;br /&gt;
* [[Lazy_API]]&lt;br /&gt;
* [[Merchant Howto]]&lt;br /&gt;
&lt;br /&gt;
[[es:Introducción para desarrolladores de PHP]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer]]&lt;/div&gt;</summary>
		<author><name>Nubarius</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Release_process&amp;diff=30619</id>
		<title>Release process</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Release_process&amp;diff=30619"/>
		<updated>2012-09-09T22:20:30Z</updated>

		<summary type="html">&lt;p&gt;Nubarius: Interwiki link to new Spanish article&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Bitcoin Open Source Release Process ==&lt;br /&gt;
&lt;br /&gt;
Releases to the [[Original_Bitcoin_client|Bitcoin.org client]] project are built and released using this process:&lt;br /&gt;
&lt;br /&gt;
* Labeled in github&lt;br /&gt;
* Binaries are created for the platforms affected (usually all, Windows, Mac and Linux).&lt;br /&gt;
* Binary file checksum(s) is(are) calculated and a message with those are signed by a core developer.&lt;br /&gt;
** sha256 checksum&lt;br /&gt;
* Files used to build are checksummed and submitted to the Gitian.sigs project on github.&lt;br /&gt;
* Uploaded to sourceforge&lt;br /&gt;
* Blog post on Bitcoin.org&lt;br /&gt;
* Forum post on BitcoinTalk.org&lt;br /&gt;
&lt;br /&gt;
==Verifying The Download==&lt;br /&gt;
&lt;br /&gt;
To verify the checksum for a binary download, first ensure the checksum file is secure by decrypting the SHA256SUMS.asc file:&lt;br /&gt;
 $ gpg --decrypt SHA256SUMS.asc&lt;br /&gt;
&lt;br /&gt;
Then verify the file checksum:&lt;br /&gt;
 $ openssl dgst -sha256 [binary release archive]&lt;br /&gt;
&lt;br /&gt;
Verify that the checksum matches the one in SHA256SUMS.asc&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/bitcoin/bitcoin Bitcoin.org client source] project on Github&lt;br /&gt;
* [https://github.com/bitcoin/gitian.sigs Gitain.sigs] Trusted build process signatures on Github&lt;br /&gt;
* [http://bitcoin.org Bitcoin.org] website with releases&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[Development process]]&lt;br /&gt;
* [[Original Bitcoin client]]&lt;br /&gt;
* [[:Category:Open_Source|Open source]]&lt;br /&gt;
&lt;br /&gt;
[[es:Proceso de publicación de versiones]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer]]&lt;/div&gt;</summary>
		<author><name>Nubarius</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Development_process&amp;diff=30618</id>
		<title>Development process</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Development_process&amp;diff=30618"/>
		<updated>2012-09-09T22:11:03Z</updated>

		<summary type="html">&lt;p&gt;Nubarius: Interwiki link to new Spanish article&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Bitcoin Open Source Development Process ==&lt;br /&gt;
&lt;br /&gt;
The [[Original_Bitcoin_client|Bitcoin client]] project has transitioned from what was essentially a one-person software endeavor, with Satoshi functioning as the primary developer and gatekeeper for all changes, to a more distributed, free software model of development.  The Linux Kernel development process is being used as the model for how changes flow into the original Bitcoin application:&lt;br /&gt;
# Developers work in their own source code trees, sharing and testing patches with each other.  Git, using github, is the preferred source control system for development.&lt;br /&gt;
# When a developer thinks a patch is ready, they submit a pull request for the [https://github.com/bitcoin/bitcoin bitcoin github repository] and post a message on the [http://www.bitcoin.org/smf/index.php?board=6.0 Development and Technical Forum].&lt;br /&gt;
# Pull requests are discussed on the forums and if there is consensus they&#039;re safe, tested, useful, well written, match coding style, etc. then they&#039;re merged into the &#039;master&#039; branch.&lt;br /&gt;
# The master github branch is regularly built and tested, and periodically pushed to the [http://sourceforge.net/projects/bitcoin/develop subversion repository] to become a &amp;quot;release candidate&amp;quot; and then the official, stable, released bitcoin.&lt;br /&gt;
# After being accepted into the mainline master branch, bugfixes are merged or backported into the current stable branch, which periodically releases stable older versions.&lt;br /&gt;
&lt;br /&gt;
Please read and follow [https://raw.github.com/gavinandresen/bitcoin-git/master/doc/coding.txt coding.txt] for a description of the bitcoin coding style.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[Release process]]&lt;br /&gt;
* [[Original Bitcoin client]]&lt;br /&gt;
* [[:Category:Open_Source|Open source]]&lt;br /&gt;
&lt;br /&gt;
[[es:Proceso de desarrollo]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer]]&lt;/div&gt;</summary>
		<author><name>Nubarius</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Running_Bitcoin&amp;diff=30617</id>
		<title>Running Bitcoin</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Running_Bitcoin&amp;diff=30617"/>
		<updated>2012-09-09T20:42:34Z</updated>

		<summary type="html">&lt;p&gt;Nubarius: Interwiki link to new Spanish article&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are two variations of the original bitcoin program available; one with a graphical user interface (usually referred to as just “Bitcoin”), and a &#039;headless&#039; version (called [[bitcoind]]). They are completely compatible with each other, and take the same command-line arguments, read the same configuration file, and read and write the same data files. You can run one copy of either Bitcoin or bitcoind on your system at a time (if you accidently try to launch another, the copy will let you know that Bitcoin or bitcoind is already running and will exit).&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
==Command-line arguments==&lt;br /&gt;
&lt;br /&gt;
Give Bitcoin (or bitcoind) the -? or –-help argument and it will print out a list of the most commonly used command-line arguments and then exit:&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
  bitcoind [options]                     &lt;br /&gt;
  bitcoind [options] &amp;lt;command&amp;gt; [params]  Send command to -server or bitcoind&lt;br /&gt;
  bitcoind [options] help                List commands&lt;br /&gt;
  bitcoind [options] help &amp;lt;command&amp;gt;      Get help for a command&lt;br /&gt;
Options:&lt;br /&gt;
  -conf=&amp;lt;file&amp;gt;       Specify configuration file (default: bitcoin.conf)&lt;br /&gt;
  -pid=&amp;lt;file&amp;gt;        Specify pid file (default: bitcoind.pid)&lt;br /&gt;
  -gen               Generate coins&lt;br /&gt;
  -gen=0             Don&#039;t generate coins&lt;br /&gt;
  -min               Start minimized&lt;br /&gt;
  -datadir=&amp;lt;dir&amp;gt;     Specify data directory&lt;br /&gt;
  -timeout=&amp;lt;n&amp;gt;       Specify connection timeout (in milliseconds)&lt;br /&gt;
  -proxy=&amp;lt;ip:port&amp;gt;   Connect through socks4 proxy&lt;br /&gt;
  -dns               Allow DNS lookups for addnode and connect&lt;br /&gt;
  -port=&amp;lt;port&amp;gt;       Listen for connections on &amp;lt;port&amp;gt; (default: 8333 or testnet: 18333)&lt;br /&gt;
  -maxconnections=&amp;lt;n&amp;gt;  Maintain at most &amp;lt;n&amp;gt; connections to peers (default: 125)&lt;br /&gt;
  -addnode=&amp;lt;ip&amp;gt;      Add a node to connect to&lt;br /&gt;
  -connect=&amp;lt;ip&amp;gt;      Connect only to the specified node&lt;br /&gt;
  -nolisten          Don&#039;t accept connections from outside&lt;br /&gt;
  -nodnsseed         Don&#039;t bootstrap list of peers using DNS&lt;br /&gt;
  -banscore=&amp;lt;n&amp;gt;      Threshold for disconnecting misbehaving peers (default: 100)&lt;br /&gt;
  -bantime=&amp;lt;n&amp;gt;       Number of seconds to keep misbehaving peers from reconnecting (default: 86400)&lt;br /&gt;
  -maxreceivebuffer=&amp;lt;n&amp;gt;  Maximum per-connection receive buffer, &amp;lt;n&amp;gt;*1000 bytes (default: 10000)&lt;br /&gt;
  -maxsendbuffer=&amp;lt;n&amp;gt;  Maximum per-connection send buffer, &amp;lt;n&amp;gt;*1000 bytes (default: 10000)&lt;br /&gt;
  -noupnp            Don&#039;t attempt to use UPnP to map the listening port&lt;br /&gt;
  -paytxfee=&amp;lt;amt&amp;gt;    Fee per KB to add to transactions you send&lt;br /&gt;
  -daemon            Run in the background as a daemon and accept commands&lt;br /&gt;
  -testnet           Use the test network&lt;br /&gt;
  -debug             Output extra debugging information&lt;br /&gt;
  -logtimestamps     Prepend debug output with timestamp&lt;br /&gt;
  -printtoconsole    Send trace/debug info to console instead of debug.log file&lt;br /&gt;
  -rpcuser=&amp;lt;user&amp;gt;    Username for JSON-RPC connections&lt;br /&gt;
  -rpcpassword=&amp;lt;pw&amp;gt;  Password for JSON-RPC connections&lt;br /&gt;
  -rpcport=&amp;lt;port&amp;gt;    Listen for JSON-RPC connections on &amp;lt;port&amp;gt; (default: 8332)&lt;br /&gt;
  -rpcallowip=&amp;lt;ip&amp;gt;   Allow JSON-RPC connections from specified IP address&lt;br /&gt;
  -rpcconnect=&amp;lt;ip&amp;gt;   Send commands to node running on &amp;lt;ip&amp;gt; (default: 127.0.0.1)&lt;br /&gt;
  -keypool=&amp;lt;n&amp;gt;       Set key pool size to &amp;lt;n&amp;gt; (default: 100)&lt;br /&gt;
  -rescan            Rescan the block chain for missing wallet transactions&lt;br /&gt;
&lt;br /&gt;
SSL options: (see the Bitcoin Wiki for SSL setup instructions)&lt;br /&gt;
  -rpcssl                                  Use OpenSSL (https) for JSON-RPC connections&lt;br /&gt;
  -rpcsslcertificatechainfile=&amp;lt;file.cert&amp;gt;  Server certificate file (default: server.cert)&lt;br /&gt;
  -rpcsslprivatekeyfile=&amp;lt;file.pem&amp;gt;         Server private key (default: server.pem)&lt;br /&gt;
  -rpcsslciphers=&amp;lt;ciphers&amp;gt;                 Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)&lt;br /&gt;
&lt;br /&gt;
Additional (Supported but not listed in -? help):&lt;br /&gt;
  -checkblocks       Rescan the whole blockchain (can take very much time)&lt;br /&gt;
&lt;br /&gt;
==Bitcoin.conf Configuration File==&lt;br /&gt;
All command-line options (except for -datadir and -conf) may be specified in a configuration file, and all configuration file options may also be specified on the command line. Command-line options override values set in the configuration file.&lt;br /&gt;
&lt;br /&gt;
The configuration file is a list of setting=value pairs, one per line, with optional comments starting with the &#039;#&#039; character.&lt;br /&gt;
&lt;br /&gt;
The configuration file is not automatically created; you can create it using your favorite plain-text editor. By default, Bitcoin (or bitcoind) will look for a file named &#039;bitcoin.conf&#039; in the bitcoin [[data directory]], but both the data directory and the configuration file path may be changed using the -datadir and -conf command-line arguments.&lt;br /&gt;
{|&lt;br /&gt;
! Operating System&lt;br /&gt;
! Default bitcoin datadir&lt;br /&gt;
! Typical path to configuration file&lt;br /&gt;
|-&lt;br /&gt;
| Windows&lt;br /&gt;
| %APPDATA%\Bitcoin\&lt;br /&gt;
| (XP) C:\Documents and Settings\username\Application Data\Bitcoin\bitcoin.conf&lt;br /&gt;
(Vista, 7) C:\Users\username\AppData\Roaming\Bitcoin\bitcoin.conf&lt;br /&gt;
|-&lt;br /&gt;
| Linux&lt;br /&gt;
| $HOME/.bitcoin/&lt;br /&gt;
| /home/username/.bitcoin/bitcoin.conf&lt;br /&gt;
|-&lt;br /&gt;
| Mac OSX&lt;br /&gt;
| $HOME/Library/Application Support/Bitcoin/&lt;br /&gt;
| /Users/username/Library/Application Support/Bitcoin/bitcoin.conf&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: if running Bitcoin in testnet mode, the sub-folder &amp;quot;testnet&amp;quot; will be appended to the data directory automatically.&lt;br /&gt;
&lt;br /&gt;
==Sample Bitcoin.conf==&lt;br /&gt;
Here is a sample bitcoin.conf file.&lt;br /&gt;
&lt;br /&gt;
  # bitcoin.conf configuration file. Lines beginning with # are comments.&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  # Network-related settings:&lt;br /&gt;
  &lt;br /&gt;
  # Run on the test network instead of the real bitcoin network.&lt;br /&gt;
  #testnet=0&lt;br /&gt;
  &lt;br /&gt;
  # Connect via a socks4 proxy&lt;br /&gt;
  #proxy=127.0.0.1:9050&lt;br /&gt;
  &lt;br /&gt;
  ##############################################################&lt;br /&gt;
  ##            Quick Primer on addnode vs connect            ##&lt;br /&gt;
  ##  Let&#039;s say for instance you use addnode=4.2.2.4          ##&lt;br /&gt;
  ##  addnode will connect you to and tell you about the      ##&lt;br /&gt;
  ##    nodes connected to 4.2.2.4.  In addition it will tell ##&lt;br /&gt;
  ##    the other nodes connected to it that you exist so     ##&lt;br /&gt;
  ##    they can connect to you.                              ##&lt;br /&gt;
  ##  connect will not do the above when you &#039;connect&#039; to it. ##&lt;br /&gt;
  ##    It will *only* connect you to 4.2.2.4 and no one else.##&lt;br /&gt;
  ##                                                          ##&lt;br /&gt;
  ##  So if you&#039;re behind a firewall, or have other problems  ##&lt;br /&gt;
  ##  finding nodes, add some using &#039;addnode&#039;.                ##&lt;br /&gt;
  ##                                                          ##&lt;br /&gt;
  ##  If you want to stay private, use &#039;connect&#039; to only      ##&lt;br /&gt;
  ##  connect to &amp;quot;trusted&amp;quot; nodes.                             ##&lt;br /&gt;
  ##                                                          ##&lt;br /&gt;
  ##  If you run multiple nodes on a LAN, there&#039;s no need for ##&lt;br /&gt;
  ##  all of them to open lots of connections.  Instead       ##&lt;br /&gt;
  ##  &#039;connect&#039; them all to one node that is port forwarded   ##&lt;br /&gt;
  ##  and has lots of connections.                            ##&lt;br /&gt;
  ##       Thanks goes to [Noodle] on Freenode.               ##&lt;br /&gt;
  ##############################################################&lt;br /&gt;
  &lt;br /&gt;
  # Use as many addnode= settings as you like to connect to specific peers&lt;br /&gt;
  #addnode=69.164.218.197&lt;br /&gt;
  #addnode=10.0.0.2:8333&lt;br /&gt;
  &lt;br /&gt;
  # ... or use as many connect= settings as you like to connect ONLY&lt;br /&gt;
  # to specific peers:&lt;br /&gt;
  #connect=69.164.218.197&lt;br /&gt;
  #connect=10.0.0.1:8333&lt;br /&gt;
  &lt;br /&gt;
  # Do not use Internet Relay Chat (irc.lfnet.org #bitcoin channel) to&lt;br /&gt;
  # find other peers.&lt;br /&gt;
  #noirc=0&lt;br /&gt;
  &lt;br /&gt;
  # Maximum number of inbound+outbound connections.&lt;br /&gt;
  #maxconnections=&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  # JSON-RPC options (for controlling a running Bitcoin/bitcoind process)&lt;br /&gt;
  &lt;br /&gt;
  # server=1 tells Bitcoin-QT to accept JSON-RPC commands.&lt;br /&gt;
  #server=0&lt;br /&gt;
  &lt;br /&gt;
  # You must set rpcuser and rpcpassword to secure the JSON-RPC api&lt;br /&gt;
  #rpcuser=Ulysseys&lt;br /&gt;
  #rpcpassword=YourSuperGreatPasswordNumber_DO_NOT_USE_THIS_OR_YOU_WILL_GET_ROBBED_385593&lt;br /&gt;
  &lt;br /&gt;
  # How many seconds bitcoin will wait for a complete RPC HTTP request.&lt;br /&gt;
  # after the HTTP connection is established. &lt;br /&gt;
  #rpctimeout=30&lt;br /&gt;
  &lt;br /&gt;
  # By default, only RPC connections from localhost are allowed.  Specify&lt;br /&gt;
  # as many rpcallowip= settings as you like to allow connections from&lt;br /&gt;
  # other hosts (and you may use * as a wildcard character):&lt;br /&gt;
  #rpcallowip=10.1.1.34&lt;br /&gt;
  #rpcallowip=192.168.1.*&lt;br /&gt;
  &lt;br /&gt;
  # Listen for RPC connections on this TCP port:&lt;br /&gt;
  #rpcport=8332&lt;br /&gt;
  &lt;br /&gt;
  # You can use Bitcoin or bitcoind to send commands to Bitcoin/bitcoind&lt;br /&gt;
  # running on another host using this option:&lt;br /&gt;
  #rpcconnect=127.0.0.1&lt;br /&gt;
  &lt;br /&gt;
  # Use Secure Sockets Layer (also known as TLS or HTTPS) to communicate&lt;br /&gt;
  # with Bitcoin -server or bitcoind&lt;br /&gt;
  #rpcssl=1&lt;br /&gt;
  &lt;br /&gt;
  # OpenSSL settings used when rpcssl=1&lt;br /&gt;
  #rpcsslciphers=TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH&lt;br /&gt;
  #rpcsslcertificatechainfile=server.cert&lt;br /&gt;
  #rpcsslprivatekeyfile=server.pem&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  # Miscellaneous options&lt;br /&gt;
  &lt;br /&gt;
  # Set gen=1 to attempt to generate bitcoins&lt;br /&gt;
  #gen=0&lt;br /&gt;
  &lt;br /&gt;
  # Use SSE instructions to try to generate bitcoins faster.&lt;br /&gt;
  #4way=1&lt;br /&gt;
  &lt;br /&gt;
  # Pre-generate this many public/private key pairs, so wallet backups will be valid for&lt;br /&gt;
  # both prior transactions and several dozen future transactions.&lt;br /&gt;
  #keypool=100&lt;br /&gt;
  &lt;br /&gt;
  # Pay an optional transaction fee every time you send bitcoins.  Transactions with fees&lt;br /&gt;
  # are more likely than free transactions to be included in generated blocks, so may&lt;br /&gt;
  # be validated sooner.&lt;br /&gt;
  #paytxfee=0.00&lt;br /&gt;
  &lt;br /&gt;
  # Allow direct connections for the &#039;pay via IP address&#039; feature.&lt;br /&gt;
  #allowreceivebyip=1&lt;br /&gt;
    &lt;br /&gt;
  # User interface options&lt;br /&gt;
  &lt;br /&gt;
  # Start Bitcoin minimized&lt;br /&gt;
  #min=1&lt;br /&gt;
  &lt;br /&gt;
  # Minimize to the system tray&lt;br /&gt;
  #minimizetotray=1&lt;br /&gt;
&lt;br /&gt;
==Platforms==&lt;br /&gt;
===Windows===&lt;br /&gt;
&lt;br /&gt;
====Start automatically====&lt;br /&gt;
To configure the Bitcoin client to start automatically:&lt;br /&gt;
&lt;br /&gt;
You might use the configuration-file, or the GUI-Settings:&lt;br /&gt;
&lt;br /&gt;
Settings -&amp;gt; Options&lt;br /&gt;
&lt;br /&gt;
then mark the checkbox titled:&lt;br /&gt;
 [X] Start Bitcoin on system startup&lt;br /&gt;
&lt;br /&gt;
[[{{ns:file}}:Client_Settings_Options_windows.png]]&lt;br /&gt;
&lt;br /&gt;
====Batch automation====&lt;br /&gt;
To work with batch, you have to start the daemon (bitcoind.exe). The bitcoin.exe run with option &amp;quot;-server&amp;quot; will respond with GUI-messages you are not able to process its answers.&lt;br /&gt;
&lt;br /&gt;
===Mac===&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
[[{{ns:file}}:Client_Settings_Options.png]]&lt;br /&gt;
&lt;br /&gt;
[[es:Ejecución de Bitcoin]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Technical]]&lt;br /&gt;
[[Category:Developer]]&lt;/div&gt;</summary>
		<author><name>Nubarius</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Bitcoin_Core&amp;diff=30614</id>
		<title>Bitcoin Core</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Bitcoin_Core&amp;diff=30614"/>
		<updated>2012-09-09T19:51:10Z</updated>

		<summary type="html">&lt;p&gt;Nubarius: Added interwiki link to new Spanish article&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Bitcoin-Qt&#039;&#039;&#039; is an MIT-licenced Qt4 Bitcoin client written and maintained by Wladimir J. van der Laan, and has been distributed together with [[bitcoind]] since version 0.5.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* Compatibility with Linux (both GNOME and KDE), Mac OS X and Windows&lt;br /&gt;
* All functionality of the original wxWidgets client&lt;br /&gt;
* User friendly, tabbed interface&lt;br /&gt;
* Asks for confirmation before sending coins&lt;br /&gt;
* CSV export of transactions&lt;br /&gt;
* Clearer transaction list with status icons and real-time filtering&lt;br /&gt;
* Progress bar on initial block download&lt;br /&gt;
* Languages: Dutch, English, German, many more&lt;br /&gt;
* Sendmany support in UI (send to multiple recipients in one transaction)&lt;br /&gt;
* Multiple [[Units|unit]] support, can show subdivided bitcoins (mBTC, µBTC) for users that like large numbers (only decimal units)&lt;br /&gt;
* Splash screen that details progress&lt;br /&gt;
&lt;br /&gt;
==Current version==&lt;br /&gt;
Source code (and build instructions for supported platforms) can be found at the [https://github.com/bitcoin/bitcoin Bitcoin GitHub page].&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
&lt;br /&gt;
* [https://forum.bitcoin.org/index.php?topic=15276.0 Forum thread] (includes screenshots)&lt;br /&gt;
* [https://github.com/bitcoin/bitcoin Current GitHub repository shared with bitcoind]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [[QBitcoin]]&lt;br /&gt;
* [[bitcoind]]&lt;br /&gt;
&lt;br /&gt;
[[es:Bitcoin-Qt]]&lt;br /&gt;
&lt;br /&gt;
[[Category:User Interfaces]]&lt;br /&gt;
[[Category:Frontends]]&lt;br /&gt;
[[Category:Free Software]]&lt;br /&gt;
[[Category:Open Source]]&lt;/div&gt;</summary>
		<author><name>Nubarius</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Bitcoind&amp;diff=30613</id>
		<title>Bitcoind</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Bitcoind&amp;diff=30613"/>
		<updated>2012-09-09T19:36:01Z</updated>

		<summary type="html">&lt;p&gt;Nubarius: Added link to new Spanish article (plus two minor corrections in the English text)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bitcoind is a program that implements the Bitcoin protocol for command line and remote procedure call (RPC) use. It is also the first Bitcoin client in the network&#039;s history. It is available under the [http://www.opensource.org/licenses/mit-license.php MIT license] in 32-bit and 64-bit versions for Windows, GNU/Linux-based OSes, and Mac OS X.&lt;br /&gt;
&lt;br /&gt;
Prior to version 0.5, this service-provider client used a wxWidgets GUI as its default GUI. It is now instead bundled with [[Bitcoin-Qt]].&lt;br /&gt;
&lt;br /&gt;
=== Running ===&lt;br /&gt;
&lt;br /&gt;
See [[Running_bitcoind|running bitcoind]] for more detail and an example of the configuration file.&lt;br /&gt;
&lt;br /&gt;
Bitcoind is a headless daemon, and also bundles a testing tool for the same daemon.  It provides a JSON-RPC interface, allowing it to be controlled locally or remotely which makes it useful for integration with other software or in larger payment systems.  [[Original Bitcoin client/API Calls list|Various commands]] are made available by the API.&lt;br /&gt;
&lt;br /&gt;
To use locally, first start the program in daemon mode:&lt;br /&gt;
:bitcoind -daemon&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then you can use the same program to execute [[Original Bitcoin client/API Calls list|API commands]], e.g.:&lt;br /&gt;
:bitcoind getinfo&lt;br /&gt;
:bitcoind listtransactions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To stop the bitcoin daemon, execute:&lt;br /&gt;
:bitcoind stop&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
* Version 0.4.0 was released for all supported platforms on September 23th, 2011 &amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=45410.0 Bitcoin version 0.4.0 released]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
* Version 0.3.24 was released for all supported platforms on July 8th, 2011 &amp;lt;ref&amp;gt;[http://forum.bitcoin.org/index.php?topic=27187.0 Bitcoin version 0.3.24 released]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
* Version 0.3.23 was released for all supported platforms on June 13th, 2011 &amp;lt;ref&amp;gt;[http://forum.bitcoin.org/index.php?topic=16553.0 Bitcoin version 0.3.23 released]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
* Version 0.3.22 was released for all supported platforms on May 19th, 2011 &amp;lt;ref&amp;gt;[http://forum.bitcoin.org/index.php?topic=8894.0 Version 0.3.22]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
* Version 0.3.20 was released for all supported platforms on February 21st, 2011&amp;lt;ref&amp;gt;[http://www.bitcoin.org/smf/index.php?topic=3704.0 Version 0.3.20]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Theory of Operation==&lt;br /&gt;
&lt;br /&gt;
bitcoind is a multithreaded C++ program. It is designed to be portable across Windows, Mac, and Linux systems. The multithreaded aspect leads to some complexity and the use of certain code patterns to deal with concurrency that may be unfamiliar to many programmers. Also, the code is aggressive in the use of C++ constructs, so it will help to be fluent with map, multimap, set, string, vector, iostream, and templates. As is typical of a C++ program, a lot of code tends to end up in the header files so be sure to search both the .cpp and .h files when looking for a function.&lt;br /&gt;
&lt;br /&gt;
The client is oriented around several major operations, which are described in separate detailed articles and summarized in the following sections.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Satoshi Client Initialization and Startup|Initialization and Startup]]===&lt;br /&gt;
Upon startup, the client performs various initialization routines including starting multiple threads to handle concurrent operations.&lt;br /&gt;
&lt;br /&gt;
===[[Satoshi Client Node Discovery|Node Discovery]]===&lt;br /&gt;
The client uses various techniques to find out about other Bitcoin nodes that are currently connected to the network.&lt;br /&gt;
&lt;br /&gt;
===[[Satoshi Client Node Connectivity|Node Connectivity]]===&lt;br /&gt;
The client initiates and maintains connections to other nodes.&lt;br /&gt;
&lt;br /&gt;
===[[Satoshi Client Sockets and Messages|Sockets and Messages]]===&lt;br /&gt;
The client processes messages from other nodes and sends messages to other nodes using socket connections.&lt;br /&gt;
&lt;br /&gt;
===[[Satoshi Client Block Exchange|Block Exchange]]===&lt;br /&gt;
Nodes advertise their inventory of blocks to each other and exchange blocks to build block chains.&lt;br /&gt;
&lt;br /&gt;
===[[Satoshi Client Transaction Exchange|Transaction Exchange]]===&lt;br /&gt;
Nodes exchange and relay transactions with each other. The client associates transactions with bitcoin addresses in the local wallet.&lt;br /&gt;
&lt;br /&gt;
===Wallet Services===&lt;br /&gt;
The client can create transactions using the local wallet. The client associates transactions with bitcoin addresses in the local wallet. The client provides a service for managing the local wallet.&lt;br /&gt;
&lt;br /&gt;
===RPC Interface===&lt;br /&gt;
The client offers an JSON-RPC interface over HTTP over sockets to perform various operational functions and to manage the local wallet.&lt;br /&gt;
&lt;br /&gt;
===User Interface===&lt;br /&gt;
Bitcoind&#039;s current user interface is the command line while it used to be based on [http://www.wxwidgets.org wxWidgets]. A graphical user interface is now provided by [[Bitcoin-qt]] in version 0.5+ for the reference client.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
===I get &amp;quot;Error loading blkindex.bat&amp;quot; when I try to run the client===&lt;br /&gt;
&lt;br /&gt;
blkindex.dat is part of the database that stores the local copy of the blockchain which may have become corrupted. Open the Bitcoin data dir:&lt;br /&gt;
&lt;br /&gt;
Windows: %APPDATA%\Bitcoin&lt;br /&gt;
Linux: ~/.bitcoin&lt;br /&gt;
Mac: ~/Library/Application Support/Bitcoin/&lt;br /&gt;
&lt;br /&gt;
Make a backup of that entire folder, then delete everything EXCEPT wallet.dat. Start bitcoind again and it will download a fresh copy of the blockchain.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[Original Bitcoin client/API calls list]]&lt;br /&gt;
* [[Protocol specification|Bitcoin network protocol]]&lt;br /&gt;
* [[Development process]]&lt;br /&gt;
* [[Release process]]&lt;br /&gt;
* [[Changelog]]&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
* [https://github.com/bitcoin/bitcoin/ Bitcoin Client project on Github]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
`&lt;br /&gt;
[[es:Bitcoind]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Nodes]]&lt;br /&gt;
[[Category:Wallets]]&lt;br /&gt;
[[Category:User Interfaces]]&lt;br /&gt;
[[Category:Clients]]&lt;br /&gt;
[[Category:Developer]]&lt;br /&gt;
[[Category:Technical]]&lt;br /&gt;
[[Category:Free Software]]&lt;br /&gt;
[[Category:License/MIT-X11]]&lt;br /&gt;
[[Category:Open Source]]&lt;/div&gt;</summary>
		<author><name>Nubarius</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Satoshi_Nakamoto&amp;diff=30600</id>
		<title>Satoshi Nakamoto</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Satoshi_Nakamoto&amp;diff=30600"/>
		<updated>2012-09-09T15:08:36Z</updated>

		<summary type="html">&lt;p&gt;Nubarius: Interwiki link to Spanish article&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Satoshi-nakamoto.gif|thumb|200px|right|Picture of Satoshi Nakamoto.]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Satoshi Nakamoto&#039;&#039;&#039; is the founder of [[Bitcoin]] and initial creator of the [[Original Bitcoin client]]. He has said in a P2P foundation profile&amp;lt;ref name=&amp;quot;p2p_f_profile&amp;quot;&amp;gt;[http://p2pfoundation.ning.com/profile/SatoshiNakamoto Satoshi Nakamoto profile on P2P Foundation]&amp;lt;/ref&amp;gt; that he is from Japan. Beyond that, not much else is known about him and his identity. He has been working on the Bitcoin project since 2007.&amp;lt;ref&amp;gt;[http://www.bitcoin.org/smf/index.php?topic=13.msg46#msg46 Re: Questions about Bitcoin]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
His involvement in the Bitcoin project had tapered and by late 2010 it has ended.  The most recent messages reportedly indicate that Satoshi is &amp;quot;gone for good&amp;quot;&amp;lt;ref&amp;gt;[http://bitcoinstats.com/irc/logs/2011/04/26/5#l445170 Transcript of #bitcoin-dev for 2011/04/26]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Possible Motives==&lt;br /&gt;
&lt;br /&gt;
He left some clues about why he is doing this project with the inclusion of the following text in the [[Genesis block]], &amp;quot;The Times 03/Jan/2009 Chancellor on brink of second bailout for banks&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Some interesting quotes:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Yes, [we will not find a solution to political problems in cryptography,] but we can win a major battle in the arms race and gain a new territory of &lt;br /&gt;
freedom for several years.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Governments are good at cutting off the heads of a centrally controlled &lt;br /&gt;
networks like Napster, but pure P2P networks like Gnutella and Tor seem to be &lt;br /&gt;
holding their own.&amp;lt;ref&amp;gt;[http://www.mail-archive.com/cryptography@metzdowd.com/msg09971.html Re: Bitcoin P2P e-cash paper Fri, 07 Nov 2008 09:30:36 -0800]&amp;lt;/ref&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;It&#039;s very attractive to the libertarian viewpoint if we can explain it &lt;br /&gt;
properly.  I&#039;m better with code than with words though. &amp;lt;ref&amp;gt;[http://www.mail-archive.com/cryptography@metzdowd.com/msg10001.html Re: Bitcoin P2P e-cash paper Fri, 14 Nov 2008 14:29:22]&amp;lt;/ref&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Possible identity==&lt;br /&gt;
&lt;br /&gt;
His identity and nationality are unknown. The few bits of information available&amp;lt;ref name=&amp;quot;p2p_f_profile&amp;quot;/&amp;gt; about him point to Japan, he never wrote a single line of Japanese, the Bitcoin client has no Japanese version and there is no Japanese page on [http://bitcoin.org bitcoin.org].&lt;br /&gt;
&lt;br /&gt;
He is entirely unknown outside of Bitcoin as far as anyone can tell, and his PGP key was created just months prior to the date of the genesis block. He seems to be very familiar with the cryptography mailing list, but there are no non-Bitcoin posts from him on it. He has used an email address from an anonymous mail hosting service (vistomail) as well as one from a free webmail account (gmx.com) and sends mail when connected via Tor. Some have speculated that his entire identity was created in advance in order to protect himself or the network. Perhaps he chose the name Satoshi because it can mean &amp;quot;wisdom&amp;quot; or &amp;quot;reason&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* [http://forum.bitcoin.org/Satoshi_Nakamoto.asc Satoshi&#039;s PGP public key]&lt;br /&gt;
* [http://www.bitcoin.org/bitcoin.pdf Bitcoin: A Peer-to-Peer Electronic Cash System] Paper&lt;br /&gt;
* [http://sourceforge.net/users/s_nakamoto SourceForge page]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[de:Satoshi Nakamoto]]&lt;br /&gt;
[[es:Satoshi Nakamoto]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Individuals]]&lt;/div&gt;</summary>
		<author><name>Nubarius</name></author>
	</entry>
</feed>