<?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=Cdhowie</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=Cdhowie"/>
	<link rel="alternate" type="text/html" href="https://en.bitcoin.it/wiki/Special:Contributions/Cdhowie"/>
	<updated>2026-05-17T01:13:59Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Original_Bitcoin_client/API_calls_list&amp;diff=45711</id>
		<title>Original Bitcoin client/API calls list</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Original_Bitcoin_client/API_calls_list&amp;diff=45711"/>
		<updated>2014-04-02T21:32:49Z</updated>

		<summary type="html">&lt;p&gt;Cdhowie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bitcoin API call list (as of version 0.8.0)&lt;br /&gt;
&lt;br /&gt;
== Common operations ==&lt;br /&gt;
&lt;br /&gt;
=== Listing my bitcoin addresses ===&lt;br /&gt;
&lt;br /&gt;
Listing the bitcoin [[address|addresses]] in your wallet is easily done via &#039;&#039;listreceivedbyaddress&#039;&#039;. It normally lists only addresses which already have received transactions, however you can list all the addresses by setting the first argument to 0, and the second one to true.&lt;br /&gt;
&lt;br /&gt;
[[accounts explained|Accounts]] are used to organize addresses.&lt;br /&gt;
&lt;br /&gt;
== Full list ==&lt;br /&gt;
&lt;br /&gt;
Required arguments are denoted inside &amp;amp;lt; and &amp;amp;gt; Optional arguments are inside [ and ].&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Command !! Parameters !! Description !! Requires unlocked wallet? (v0.4.0+)&lt;br /&gt;
|-&lt;br /&gt;
| addmultisigaddress || &amp;lt;nrequired&amp;gt; &amp;lt;&#039;[&amp;quot;key&amp;quot;,&amp;quot;key&amp;quot;]&#039;&amp;gt; [account] || Add a nrequired-to-sign multisignature address to the wallet. Each key is a bitcoin address or hex-encoded public key. If [account] is specified, assign address to [account]. || N&lt;br /&gt;
|-&lt;br /&gt;
| addnode || &amp;lt;node&amp;gt; &amp;lt;add/remove/onetry&amp;gt; || &#039;&#039;&#039;version 0.8&#039;&#039;&#039; Attempts add or remove &amp;lt;node&amp;gt; from the addnode list or try a connection to &amp;lt;node&amp;gt; once. || N&lt;br /&gt;
|-&lt;br /&gt;
| backupwallet || &amp;lt;destination&amp;gt; || Safely copies wallet.dat to destination, which can be a directory or a path with filename. || N&lt;br /&gt;
|-&lt;br /&gt;
| createmultisig || &amp;lt;nrequired&amp;gt; &amp;lt;&#039;[&amp;quot;key,&amp;quot;key&amp;quot;]&#039;&amp;gt; || Creates a multi-signature address and returns a json object ||&lt;br /&gt;
|-&lt;br /&gt;
| createrawtransaction || [{&amp;quot;txid&amp;quot;:txid,&amp;quot;vout&amp;quot;:n},...] {address:amount,...} || &#039;&#039;&#039;version 0.7&#039;&#039;&#039;  Creates a [[Raw Transactions|raw transaction]] spending given inputs. || N&lt;br /&gt;
|-&lt;br /&gt;
| decoderawtransaction || &amp;lt;hex string&amp;gt; || &#039;&#039;&#039;version 0.7&#039;&#039;&#039;  Produces a human-readable JSON object for a [[Raw Transactions|raw transaction]]. || N&lt;br /&gt;
|-&lt;br /&gt;
| dumpprivkey || &amp;lt;bitcoinaddress&amp;gt; || Reveals the private key corresponding to &amp;lt;bitcoinaddress&amp;gt; || Y&lt;br /&gt;
|-&lt;br /&gt;
| encryptwallet || &amp;lt;passphrase&amp;gt; || Encrypts the wallet with &amp;lt;passphrase&amp;gt;. || N&lt;br /&gt;
|-&lt;br /&gt;
| getaccount || &amp;lt;bitcoinaddress&amp;gt; || Returns the account associated with the given address. || N&lt;br /&gt;
|-&lt;br /&gt;
| getaccountaddress || &amp;lt;account&amp;gt; || Returns the current bitcoin address for receiving payments to this account. If &amp;lt;account&amp;gt; does not exist, it will be created along with an associated new address that will be returned. || N&lt;br /&gt;
|-&lt;br /&gt;
| getaddednodeinfo || &amp;lt;dns&amp;gt; [node] || &#039;&#039;&#039;version 0.8&#039;&#039;&#039; Returns information about the given added node, or all added nodes&lt;br /&gt;
(note that onetry addnodes are not listed here)&lt;br /&gt;
If dns is false, only a list of added nodes will be provided,&lt;br /&gt;
otherwise connected information will also be available.&lt;br /&gt;
|-&lt;br /&gt;
| getaddressesbyaccount || &amp;lt;account&amp;gt; || Returns the list of addresses for the given account. || N&lt;br /&gt;
|-&lt;br /&gt;
| getbalance || [account] [minconf=1] || If [account] is not specified, returns the server&#039;s total available balance.&amp;lt;br/&amp;gt;If [account] is specified, returns the balance in the account. || N&lt;br /&gt;
|-&lt;br /&gt;
| getbestblockhash || || &#039;&#039;&#039;recent git checkouts only&#039;&#039;&#039; Returns the hash of the best (tip) block in the longest block chain. || N&lt;br /&gt;
|-&lt;br /&gt;
| getblock || &amp;lt;hash&amp;gt; || Returns information about the block with the given hash. || N&lt;br /&gt;
|-&lt;br /&gt;
| getblockcount || || Returns the number of blocks in the longest block chain. || N&lt;br /&gt;
|-&lt;br /&gt;
| getblockhash || &amp;lt;index&amp;gt; || Returns hash of block in best-block-chain at &amp;lt;index&amp;gt;; index 0 is the [[genesis block]] || N&lt;br /&gt;
|-&lt;br /&gt;
| getblocknumber || || &#039;&#039;&#039;Deprecated&#039;&#039;&#039;. &#039;&#039;&#039;Removed in version 0.7&#039;&#039;&#039;. Use getblockcount. || N&lt;br /&gt;
|-&lt;br /&gt;
| getblocktemplate || [params] || Returns data needed to construct a block to work on.  See [[ BIP_0022]] for more info on params.|| N&lt;br /&gt;
|-&lt;br /&gt;
| getconnectioncount || || Returns the number of connections to other nodes. || N&lt;br /&gt;
|-&lt;br /&gt;
| getdifficulty || || Returns the proof-of-work difficulty as a multiple of the minimum difficulty. || N&lt;br /&gt;
|-&lt;br /&gt;
| getgenerate || || Returns true or false whether bitcoind is currently generating hashes || N&lt;br /&gt;
|-&lt;br /&gt;
| gethashespersec || || Returns a recent hashes per second performance measurement while generating. || N&lt;br /&gt;
|-&lt;br /&gt;
| getinfo || || Returns an object containing various state info. || N&lt;br /&gt;
|-&lt;br /&gt;
| getmemorypool || [data] || &#039;&#039;&#039;Replaced in v0.7.0 with getblocktemplate, submitblock, getrawmempool&#039;&#039;&#039; || N&lt;br /&gt;
|-&lt;br /&gt;
| getmininginfo || || Returns an object containing mining-related information:&lt;br /&gt;
* blocks&lt;br /&gt;
* currentblocksize&lt;br /&gt;
* currentblocktx&lt;br /&gt;
* difficulty&lt;br /&gt;
* errors&lt;br /&gt;
* generate&lt;br /&gt;
* genproclimit&lt;br /&gt;
* hashespersec&lt;br /&gt;
* pooledtx&lt;br /&gt;
* testnet&lt;br /&gt;
|| N&lt;br /&gt;
|-&lt;br /&gt;
| getnewaddress || [account] || Returns a new bitcoin address for receiving payments.  If [account] is specified payments received with the address will be credited to [account]. || N&lt;br /&gt;
|-&lt;br /&gt;
| getpeerinfo || || &#039;&#039;&#039;version 0.7&#039;&#039;&#039; Returns data about each connected node. || N&lt;br /&gt;
|-&lt;br /&gt;
| getrawchangeaddress || [account]|| &#039;&#039;&#039;recent git checkouts only&#039;&#039;&#039; Returns a new Bitcoin address, for receiving change.  This is for use with raw transactions, NOT normal use. || Y&lt;br /&gt;
|-&lt;br /&gt;
| getrawmempool || || &#039;&#039;&#039;version 0.7&#039;&#039;&#039; Returns all transaction ids in memory pool || N&lt;br /&gt;
|-&lt;br /&gt;
| getrawtransaction || &amp;lt;txid&amp;gt; [verbose=0] || &#039;&#039;&#039;version 0.7&#039;&#039;&#039;  Returns [[Raw Transactions|raw transaction]] representation for given transaction id. || N&lt;br /&gt;
|-&lt;br /&gt;
| getreceivedbyaccount || [account] [minconf=1] || Returns the total amount received by addresses with [account] in transactions with at least [minconf] confirmations. If [account] not provided return will include all transactions to all accounts. (version 0.3.24) || N&lt;br /&gt;
|-&lt;br /&gt;
| getreceivedbyaddress || &amp;lt;bitcoinaddress&amp;gt; [minconf=1] || Returns the amount received by &amp;lt;bitcoinaddress&amp;gt; in transactions with at least [minconf] confirmations. It correctly handles the case where someone has sent to the address in multiple transactions. Keep in mind that addresses are only ever used for receiving transactions. Works only for addresses in the local wallet, external addresses will always show 0. || N&lt;br /&gt;
|-&lt;br /&gt;
| gettransaction || &amp;lt;txid&amp;gt; || Returns an object about the given transaction containing:&lt;br /&gt;
* &amp;quot;amount&amp;quot; : total amount of the transaction&lt;br /&gt;
* &amp;quot;confirmations&amp;quot; :  number of confirmations of the transaction&lt;br /&gt;
* &amp;quot;txid&amp;quot; : the transaction ID&lt;br /&gt;
* &amp;quot;time&amp;quot; : time associated with the transaction&amp;lt;ref&amp;gt;From block timestamp, unless transaction was already in memory pool then the local time when the client added the transaction to its memory pool&amp;lt;/ref&amp;gt;.&lt;br /&gt;
* &amp;quot;details&amp;quot; - An array of objects containing:&lt;br /&gt;
** &amp;quot;account&amp;quot;&lt;br /&gt;
** &amp;quot;address&amp;quot;&lt;br /&gt;
** &amp;quot;category&amp;quot;&lt;br /&gt;
** &amp;quot;amount&amp;quot;&lt;br /&gt;
** &amp;quot;fee&amp;quot;&lt;br /&gt;
|| N&lt;br /&gt;
|-&lt;br /&gt;
| gettxout || &amp;lt;txid&amp;gt; &amp;lt;n&amp;gt; [includemempool=true] || Returns details about an unspent transaction output (UTXO) || N&lt;br /&gt;
|-&lt;br /&gt;
| gettxoutsetinfo ||  || Returns statistics about the unspent transaction output (UTXO) set || N&lt;br /&gt;
|-&lt;br /&gt;
| [[getwork]] || [data] || If [data] is not specified, returns formatted hash data to work on:&lt;br /&gt;
* &amp;quot;midstate&amp;quot; : precomputed hash state after hashing the first half of the data&lt;br /&gt;
* &amp;quot;data&amp;quot; : block data&lt;br /&gt;
* &amp;quot;hash1&amp;quot; : formatted hash buffer for second hash&lt;br /&gt;
* &amp;quot;target&amp;quot; : little endian hash target&lt;br /&gt;
If [data] is specified, tries to solve the block and returns true if it was successful. &lt;br /&gt;
|| N&lt;br /&gt;
|-&lt;br /&gt;
| help || [command] || List commands, or get help for a command. || N&lt;br /&gt;
|-&lt;br /&gt;
| importprivkey || &amp;lt;bitcoinprivkey&amp;gt; [label] [rescan=true]|| Adds a private key (as returned by dumpprivkey) to your wallet. This may take a while, as a [[How_to_import_private_keys#Import_Private_key.28s.29|rescan]] is done, looking for existing transactions. &#039;&#039;&#039;Optional [rescan] parameter added in 0.8.0.&#039;&#039;&#039; Note: There&#039;s no need to import public key, as in [[Elliptic_Curve_Digital_Signature_Algorithm|ECDSA]] (unlike RSA) this can be computed from private key. || Y&lt;br /&gt;
|-&lt;br /&gt;
| keypoolrefill || || Fills the keypool, requires wallet passphrase to be set. || Y&lt;br /&gt;
|-&lt;br /&gt;
| listaccounts || [minconf=1] || Returns Object that has account names as keys, account balances as values. || N&lt;br /&gt;
|-&lt;br /&gt;
| listaddressgroupings || || &#039;&#039;&#039;version 0.7&#039;&#039;&#039; Returns all addresses in the wallet and info used for coincontrol. || N&lt;br /&gt;
|-&lt;br /&gt;
| listreceivedbyaccount || [minconf=1] [includeempty=false] || Returns an array of objects containing:&lt;br /&gt;
* &amp;quot;account&amp;quot; : the account of the receiving addresses&lt;br /&gt;
* &amp;quot;amount&amp;quot; : total amount received by addresses with this account&lt;br /&gt;
* &amp;quot;confirmations&amp;quot; : number of confirmations of the most recent transaction included&lt;br /&gt;
|| N&lt;br /&gt;
|-&lt;br /&gt;
| listreceivedbyaddress || [minconf=1] [includeempty=false] || Returns an array of objects containing:&lt;br /&gt;
* &amp;quot;address&amp;quot; : receiving address&lt;br /&gt;
* &amp;quot;account&amp;quot; : the account of the receiving address&lt;br /&gt;
* &amp;quot;amount&amp;quot; : total amount received by the address&lt;br /&gt;
* &amp;quot;confirmations&amp;quot; : number of confirmations of the most recent transaction included&lt;br /&gt;
To get a list of accounts on the system, execute bitcoind listreceivedbyaddress 0 true&lt;br /&gt;
|| N&lt;br /&gt;
|-&lt;br /&gt;
| listsinceblock|| [blockhash] [target-confirmations] || Get all transactions in blocks since block [blockhash], or all transactions if omitted. [target-confirmations] intentionally &#039;&#039;&#039;does not&#039;&#039;&#039; affect the list of returned transactions, but only affects the returned &amp;quot;lastblock&amp;quot; value.[https://github.com/bitcoin/bitcoin/pull/199#issuecomment-1514952] || N&lt;br /&gt;
|-&lt;br /&gt;
| listtransactions || [account] [count=10] [from=0] || Returns up to [count] most recent transactions skipping the first [from] transactions for account [account]. If [account] not provided it&#039;ll return recent transactions from all accounts.&lt;br /&gt;
|| N&lt;br /&gt;
|-&lt;br /&gt;
| listunspent || [minconf=1] [maxconf=999999] || &#039;&#039;&#039;version 0.7&#039;&#039;&#039;  Returns array of unspent transaction inputs in the wallet. || N&lt;br /&gt;
|-&lt;br /&gt;
| listlockunspent || || &#039;&#039;&#039;version 0.8&#039;&#039;&#039; Returns list of temporarily unspendable outputs&lt;br /&gt;
|-&lt;br /&gt;
| lockunspent || &amp;lt;unlock?&amp;gt; [array-of-objects] || &#039;&#039;&#039;version 0.8&#039;&#039;&#039; Updates list of temporarily unspendable outputs&lt;br /&gt;
|-&lt;br /&gt;
| move || &amp;lt;fromaccount&amp;gt; &amp;lt;toaccount&amp;gt; &amp;lt;amount&amp;gt; [minconf=1] [comment] || Move from one account in your wallet to another || N&lt;br /&gt;
|-&lt;br /&gt;
| sendfrom || &amp;lt;fromaccount&amp;gt; &amp;lt;tobitcoinaddress&amp;gt; &amp;lt;amount&amp;gt; [minconf=1] [comment] [comment-to] || &amp;lt;amount&amp;gt; is a real and is rounded to 8 decimal places. Will send the given amount to the given address, ensuring the account has a valid balance using [minconf] confirmations. Returns the transaction ID if successful (not in JSON object). || Y&lt;br /&gt;
|-&lt;br /&gt;
| sendmany || &amp;lt;fromaccount&amp;gt; {address:amount,...} [minconf=1] [comment] || amounts are double-precision floating point numbers || Y&lt;br /&gt;
|-&lt;br /&gt;
| sendrawtransaction || &amp;lt;hexstring&amp;gt; || &#039;&#039;&#039;version 0.7&#039;&#039;&#039; Submits [[Raw Transactions|raw transaction]] (serialized, hex-encoded) to local node and network. || N&lt;br /&gt;
|-&lt;br /&gt;
| sendtoaddress || &amp;lt;bitcoinaddress&amp;gt; &amp;lt;amount&amp;gt; [comment] [comment-to] || &amp;lt;amount&amp;gt; is a real and is rounded to 8 decimal places. Returns the transaction ID &amp;lt;txid&amp;gt; if successful. || Y&lt;br /&gt;
|-&lt;br /&gt;
| setaccount || &amp;lt;bitcoinaddress&amp;gt; &amp;lt;account&amp;gt; || Sets the account associated with the given address. Assigning address that is already assigned to the same account will create a new address associated with that account. || N&lt;br /&gt;
|-&lt;br /&gt;
| setgenerate || &amp;lt;generate&amp;gt; [genproclimit] || &amp;lt;generate&amp;gt; is true or false to turn generation on or off.&amp;lt;br/&amp;gt;Generation is limited to [genproclimit] processors, -1 is unlimited. || N&lt;br /&gt;
|-&lt;br /&gt;
| settxfee || &amp;lt;amount&amp;gt; || &amp;lt;amount&amp;gt; is a real and is rounded to the nearest 0.00000001 || N&lt;br /&gt;
|-&lt;br /&gt;
| signmessage || &amp;lt;bitcoinaddress&amp;gt; &amp;lt;message&amp;gt; || Sign a message with the private key of an address. || Y&lt;br /&gt;
|-&lt;br /&gt;
| signrawtransaction || &amp;lt;hexstring&amp;gt; [{&amp;quot;txid&amp;quot;:txid,&amp;quot;vout&amp;quot;:n,&amp;quot;scriptPubKey&amp;quot;:hex},...] [&amp;lt;privatekey1&amp;gt;,...] || &#039;&#039;&#039;version 0.7&#039;&#039;&#039; Adds signatures to a [[Raw Transactions|raw transaction]] and returns the resulting raw transaction. || Y/N&lt;br /&gt;
|-&lt;br /&gt;
| stop || || Stop bitcoin server. || N&lt;br /&gt;
|-&lt;br /&gt;
| submitblock || &amp;lt;hex data&amp;gt; [optional-params-obj] || Attempts to submit new block to network. || N&lt;br /&gt;
|-&lt;br /&gt;
| validateaddress || &amp;lt;bitcoinaddress&amp;gt; || Return information about &amp;lt;bitcoinaddress&amp;gt;. || N&lt;br /&gt;
|-&lt;br /&gt;
| verifymessage || &amp;lt;bitcoinaddress&amp;gt; &amp;lt;signature&amp;gt; &amp;lt;message&amp;gt; || Verify a signed message. || N&lt;br /&gt;
|-&lt;br /&gt;
| walletlock ||  || Removes the wallet encryption key from memory, locking the wallet. After calling this method,  you will need to call walletpassphrase again before being able to call any methods which require the wallet to be unlocked. || N&lt;br /&gt;
|-&lt;br /&gt;
| walletpassphrase || &amp;lt;passphrase&amp;gt; &amp;lt;timeout&amp;gt; || Stores the wallet decryption key in memory for &amp;lt;timeout&amp;gt; seconds. || N&lt;br /&gt;
|-&lt;br /&gt;
| walletpassphrasechange || &amp;lt;oldpassphrase&amp;gt; &amp;lt;newpassphrase&amp;gt; || Changes the wallet passphrase from &amp;lt;oldpassphrase&amp;gt; to &amp;lt;newpassphrase&amp;gt;. || N&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Error Codes==&lt;br /&gt;
&lt;br /&gt;
See [https://github.com/bitcoin/bitcoin/blob/master/src/rpcprotocol.h#L34 rpcprotocol.h] for the list of error codes and their meanings.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[Original Bitcoin client]]&lt;br /&gt;
* [[Protocol specification]]&lt;br /&gt;
* [[API reference (JSON-RPC)]]&lt;br /&gt;
* [[Lazy_API]]&lt;br /&gt;
* [[Elis-API]] - A more detailed version of this page - for developers!&lt;br /&gt;
* [http://code.gogulski.com/bitcoin-php/class_bitcoin_client.html PHP BitcoinClient Class Reference]&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;
[[Category:Developer]]&lt;/div&gt;</summary>
		<author><name>Cdhowie</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=User:Cdhowie&amp;diff=45461</id>
		<title>User:Cdhowie</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=User:Cdhowie&amp;diff=45461"/>
		<updated>2014-03-27T17:32:13Z</updated>

		<summary type="html">&lt;p&gt;Cdhowie: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Cdhowie</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=BIP_0020&amp;diff=21052</id>
		<title>BIP 0020</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=BIP_0020&amp;diff=21052"/>
		<updated>2011-12-19T19:19:48Z</updated>

		<summary type="html">&lt;p&gt;Cdhowie: /* Use-cases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is about creating a URI scheme for bitcoin.&lt;br /&gt;
Previous discussion was in [http://www.bitcoin.org/smf/index.php?topic=55.0 this forum thread].&lt;br /&gt;
x-btc specification is at [[x-btc]].&lt;br /&gt;
&lt;br /&gt;
==RFC 3986==&lt;br /&gt;
&#039;&#039;&#039;the following is taken from wikipedia&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Internet standard [http://rfc.net/std0066.html STD 66] (also RFC 3986) defines the generic syntax to be used in all URI schemes. Every URI is defined as consisting of four parts, as follows:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;scheme name&amp;gt; : &amp;lt;hierarchical part&amp;gt; [ ? &amp;lt;query&amp;gt; ] [ # &amp;lt;fragment&amp;gt; ]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;scheme name&#039;&#039;&#039; consists of a letter followed by any combination of letters, digits, and the plus (&amp;quot;+&amp;quot;), period (&amp;quot;.&amp;quot;), or hyphen (&amp;quot;-&amp;quot;) characters; and is terminated by a colon (&amp;quot;:&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;hierarchical part&#039;&#039;&#039; of the URI is intended to hold identification information hierarchical in nature. Usually this part begins with a double forward slash (&amp;quot;//&amp;quot;), followed by an &#039;&#039;authority&#039;&#039; part and an optional &#039;&#039;path&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
* The &#039;&#039;&#039;authority&#039;&#039;&#039; part holds an optional user information part terminated with &amp;quot;@&amp;quot; (e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;username:password@&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;), a hostname (i.e. domain name or IP address), and an optional port number preceded by a colon &amp;quot;:&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* The &#039;&#039;&#039;path&#039;&#039;&#039; part is a sequence of segments (conceptually similar to directories, though not necessarily representing them) separated by a forward slash (&amp;quot;/&amp;quot;). Each segment can contain parameters separated from it using a semicolon (&amp;quot;;&amp;quot;), though this is rarely used in practice.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;query&#039;&#039;&#039;  is an optional part separated with a question mark, which contains additional identification information which is not hierarchical in nature. The query string syntax is not generically defined, but is commonly organized as a sequence of &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;key&amp;gt;=&amp;lt;value&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; pairs separated by a semicolon&amp;lt;ref&amp;gt;&lt;br /&gt;
RFC 1866 section 8.2.1 : by Tim Berners-Lee in 1995 encourages CGI authors to support &#039;;&#039; in addition to &#039;&amp;amp;&#039;.&lt;br /&gt;
&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;&lt;br /&gt;
[http://www.w3.org/TR/REC-html40/appendix/notes.html#h-B.2.2 HTML 4.01 Specification: Implementation, and Design Notes]: &amp;quot;CGI implementors support the use of &amp;quot;;&amp;quot; in place of &amp;quot;&amp;amp;&amp;quot; to save authors the trouble of escaping &amp;quot;&amp;amp;&amp;quot; characters in this manner.&amp;quot;&lt;br /&gt;
&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;&lt;br /&gt;
[http://www.w3.org/MarkUp/html-spec/html-spec_foot.html#FOOT26 Hypertext Markup Language - 2.0]&lt;br /&gt;
&amp;quot;CGI implementors are encouraged to support the use of &#039;;&#039; in place of &#039;&amp;amp;&#039; &amp;quot; &lt;br /&gt;
&amp;lt;/ref&amp;gt; or separated by an ampersand, for example:&lt;br /&gt;
 Semicolon: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;key1=value1;key2=value2;key3=value3&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
 Ampersand: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;key1=value1&amp;amp;key2=value2&amp;amp;key3=value3&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;fragment&#039;&#039;&#039; is an optional part separated from the front parts by a hash (&amp;quot;#&amp;quot;). It holds additional identifying information that provides direction to a secondary resource, e.g. a section heading in an article identified by the remainder of the URI.  When the primary resource is an HTML document, the &#039;&#039;&#039;fragment&#039;&#039;&#039; is often an &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; attribute of a specific element and web browsers will make sure this element is visible.&lt;br /&gt;
&lt;br /&gt;
==Specification==&lt;br /&gt;
&lt;br /&gt;
[] means optional, &amp;lt;&amp;gt; are placeholders&lt;br /&gt;
&lt;br /&gt;
 bitcoin:&amp;lt;address&amp;gt;[?][amount=&amp;lt;size&amp;gt;][&amp;amp;][label=&amp;lt;label&amp;gt;][&amp;amp;][message=&amp;lt;message&amp;gt;][&amp;amp;][send=&amp;lt;private key&amp;gt;]&lt;br /&gt;
&lt;br /&gt;
=== Query Keys ===&lt;br /&gt;
&lt;br /&gt;
*label: Label for that address (e.g. name of receiver)&lt;br /&gt;
*address: bitcoin address&lt;br /&gt;
*message: optional message that is shown to the user after scanning the QR code&lt;br /&gt;
*size: amount of base bitcoin units (cuBTCents/TBCᵇ-- NOT full DecimalBitCoins/BTC nor TonalBitCoins/TBC; see below)&lt;br /&gt;
*private key: used to send bitcoin, rather than to request them&lt;br /&gt;
&lt;br /&gt;
==== Transfer amount/size ====&lt;br /&gt;
&lt;br /&gt;
If an amount is provided, it may be specified either in decimal or, when prefixed with a single &amp;quot;x&amp;quot; character, hexadecimal.&lt;br /&gt;
The number SHOULD be followed by &amp;quot;X&amp;quot; &amp;lt;digits&amp;gt; to signify an exponent to the base multiplier.&lt;br /&gt;
That is, &amp;quot;X8&amp;quot; multiplies your number by 100,000,000.&lt;br /&gt;
For decimal values, this means the standard BTC unit.&lt;br /&gt;
For hexadecimal values, this means ᵇTBC units (which are equivalent to 42.94967296 BTC).&lt;br /&gt;
If exponent is omitted, implementations SHOULD assume X8 for decimal numbers, and X4 for hexadecimal numbers.&lt;br /&gt;
I.e. amount=50.00 is treated as 50 BTC, and amount=x40 is treated as 40 TBC.&lt;br /&gt;
When specifying bitcoin base units, &amp;quot;X0&amp;quot; SHOULD be used.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
Just the address:&lt;br /&gt;
 bitcoin:1NS17iag9jJgTHD1VXjvLCEnZuQ3rJED9L&lt;br /&gt;
&lt;br /&gt;
Address with name:&lt;br /&gt;
 bitcoin:1NS17iag9jJgTHD1VXjvLCEnZuQ3rJED9L?label=Luke-Jr&lt;br /&gt;
&lt;br /&gt;
Request 20.30 BTC to &amp;quot;Luke-Jr&amp;quot;:&lt;br /&gt;
 bitcoin:1NS17iag9jJgTHD1VXjvLCEnZuQ3rJED9L?amount=20.3X8&amp;amp;label=Luke-Jr&lt;br /&gt;
&lt;br /&gt;
Request 400 TBC:&lt;br /&gt;
 bitcoin:1NS17iag9jJgTHD1VXjvLCEnZuQ3rJED9L?amount=x400X4&lt;br /&gt;
&lt;br /&gt;
Request 4000 TBC:&lt;br /&gt;
 bitcoin:1NS17iag9jJgTHD1VXjvLCEnZuQ3rJED9L?amount=x4X7&lt;br /&gt;
&lt;br /&gt;
Request 5 uBTC:&lt;br /&gt;
 bitcoin:1NS17iag9jJgTHD1VXjvLCEnZuQ3rJED9L?amount=5X2&lt;br /&gt;
&lt;br /&gt;
Request 50 BTC with message:&lt;br /&gt;
 bitcoin:1NS17iag9jJgTHD1VXjvLCEnZuQ3rJED9L?amount=50X8&amp;amp;label=Luke-Jr&amp;amp;message=Donation%20for%20project%20xyz&lt;br /&gt;
&lt;br /&gt;
Send 1 BTC:&lt;br /&gt;
 bitcoin:1NS17iag9jJgTHD1VXjvLCEnZuQ3rJED9L?amount=1X8&amp;amp;send=S4b3N3oGqDqR5jNuxEvDwf&lt;br /&gt;
&lt;br /&gt;
Characters must be URI encoded properly.&lt;br /&gt;
&lt;br /&gt;
=== BNF syntax ===&lt;br /&gt;
&lt;br /&gt;
 bitcoinurn      = &amp;quot;bitcoin:&amp;quot; bitcoinaddress [ &amp;quot;;version=&amp;quot; bitcoinversion ] [ &amp;quot;?&amp;quot; bitcoinparams ]&lt;br /&gt;
 bitcoinaddress  = FIXME :)&lt;br /&gt;
 bitcoinversion  = &amp;quot;1.0&amp;quot;&lt;br /&gt;
 bitcoinparams   = *bitcoinparam&lt;br /&gt;
 bitcoinparam    = amountparam | labelparam | messageparam | pkparam&lt;br /&gt;
 amountparam     = &amp;quot;amount=&amp;quot; amount&lt;br /&gt;
 amount          = amountdecimal | amounthex&lt;br /&gt;
 amountdecimal   = digits [ &amp;quot;X&amp;quot; digits ]&lt;br /&gt;
 amounthex       = &amp;quot;x&amp;quot; hexdigits [ &amp;quot;X&amp;quot; hexdigits ]&lt;br /&gt;
 labelparam      = &amp;quot;label=&amp;quot; *uchar&lt;br /&gt;
 messageparam    = &amp;quot;label=&amp;quot; *uchar&lt;br /&gt;
 sendparam       = &amp;quot;send=&amp;quot; *uchar&lt;br /&gt;
&lt;br /&gt;
=== Parsing amount ===&lt;br /&gt;
==== ECMAScript ====&lt;br /&gt;
 reAmount = /^(([\d.]+)(X(\d+))?|x([\da-f]*)(\.([\da-f]*))?(X([\da-f]+))?)$/i;&lt;br /&gt;
 function parseAmount(txt) {&lt;br /&gt;
 	var m = txt.match(reAmount);&lt;br /&gt;
 	return m[5] ? (&lt;br /&gt;
 		(&lt;br /&gt;
 			parseInt(m[5], 16) +&lt;br /&gt;
 			(m[7] ? (parseInt(m[7], 16) * Math.pow(16, -(m[7].length))) : 0)&lt;br /&gt;
 		) * (&lt;br /&gt;
 			m[9] ? Math.pow(16, parseInt(m[9], 16)) : 0x10000&lt;br /&gt;
 		)&lt;br /&gt;
 	) : (&lt;br /&gt;
 			m[2]&lt;br /&gt;
 		*&lt;br /&gt;
 			(m[4] ? Math.pow(10, m[4]) : 1e8)&lt;br /&gt;
 	);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==== Python ====&lt;br /&gt;
 m = re.match(r&#039;^(([\d.]+)(X(\d+))?|x([\da-f]*)(\.([\da-f]*))?(X([\da-f]+))?)$&#039;, amount, re.IGNORECASE)&lt;br /&gt;
 if m.group(5):&lt;br /&gt;
     amount = float(int(m.group(5), 16))&lt;br /&gt;
     if m.group(7):&lt;br /&gt;
         amount += float(int(m.group(7), 16)) * pow(16, -(len(m.group(7))))&lt;br /&gt;
     if m.group(9):&lt;br /&gt;
         amount *= pow(16, int(m.group(9), 16))&lt;br /&gt;
     else:&lt;br /&gt;
         amount *= 0x10000&lt;br /&gt;
 else:&lt;br /&gt;
     amount = Decimal(m.group(2))&lt;br /&gt;
     if m.group(4):&lt;br /&gt;
         amount *= 10 ** int(m.group(4))&lt;br /&gt;
     else:&lt;br /&gt;
         amount *= 100000000&lt;br /&gt;
&lt;br /&gt;
==== C# ====&lt;br /&gt;
 Regex amountExpression = new Regex(@&amp;quot;^(([\d.]+)(X(\d+))?|x([\da-f]*)(\.([\da-f]*))?(X([\da-f]+))?)$&amp;quot;, RegexOptions.IgnoreCase);&lt;br /&gt;
 Match match = amountExpression.Match(value);&lt;br /&gt;
 if (match.Success)&lt;br /&gt;
 {&lt;br /&gt;
     if (match.Groups[5].Success)&lt;br /&gt;
     {&lt;br /&gt;
         long hexDecimal = 0;&lt;br /&gt;
         if (match.Groups[7].Success)&lt;br /&gt;
             hexDecimal = Convert.ToInt64(match.Groups[7].Value, 16) * (long)Math.Pow(16, -match.Groups[7].Length);&lt;br /&gt;
 &lt;br /&gt;
         long hexExponent = 0x10000;&lt;br /&gt;
         if (match.Groups[9].Success)&lt;br /&gt;
             hexExponent = (long)Math.Pow(16, Convert.ToInt32(match.Groups[9].Value, 16));&lt;br /&gt;
 &lt;br /&gt;
         Amount = (Convert.ToInt64(match.Groups[5].Value, 16) + hexDecimal) * hexExponent;&lt;br /&gt;
     }&lt;br /&gt;
     else&lt;br /&gt;
     {&lt;br /&gt;
         long decimalExponent = 100000000;&lt;br /&gt;
         if (match.Groups[4].Success)&lt;br /&gt;
             decimalExponent = (long)Math.Pow(10, int.Parse(match.Groups[4].Value));&lt;br /&gt;
         Amount = (long)(decimal.Parse(match.Groups[2].Value) * decimalExponent);&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
&lt;br /&gt;
===Payment identifiers, not person identifiers===&lt;br /&gt;
In my opinion, the most basic idea of the URI scheme (as this is a currency) is to facilitate payment. So the URIs should represent first and foremost payments. If it represents something else, this needs to be specified. Thus&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
bitcoin:1NS17iag9jJgTHD1VXjvLCEnZuQ3rJED9L&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
represents a &#039;&#039;&#039;request for payment&#039;&#039;&#039; to me using my bitcoin address, not my bitcoin address itself. So after parsing the URI (via link/qr/whatever) the application should open a transaction window with the address filled in. You then need to add an amount and confirm the payment.&lt;br /&gt;
If your application is smart, it will also have a button &amp;quot;just store the address&amp;quot;. But the point I am trying to make is that the default use of the URI should be for payment, nor for exchanging addresses.&lt;br /&gt;
&lt;br /&gt;
===Sending money===&lt;br /&gt;
To send a payment to someone else first construct a new keypair. You may want to use a [[mini private key format]], or you may also use a full private key for more security depending on the amount being sent and how long you expect to pass before a claim. Now create and publish a transaction with an output of the amount you wish to send. Use this script in that output:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;pubkey&amp;gt; OP_CHECKSIG&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Construct an address from the public key. Encode the URI as below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
bitcoin:&amp;lt;address&amp;gt;?send=&amp;lt;base 58 encoded private key&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may optionally include amount or message fields as well. In a wallet to claim money sent this way search for an incoming transaction with the output script form above, where &amp;lt;address&amp;gt; matches the public key in the script. When you find the transaction create a claim transaction with an input script of this form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;sig&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This claims the money you were sent. Until your claim transaction has confirmed the sender may take their money back.&lt;br /&gt;
&lt;br /&gt;
===Accessibility===&lt;br /&gt;
&#039;&#039;&#039;Imported from the forum:&#039;&#039;&#039; I like the simplicity of bitcoin:xxxxxxxxxxxxx and very much approve of its accessibility. Should someone from the outside happen to see such a URI, the protocol name already gives a description. A quick google search should then do the rest. x-btc sounds much more cryptic; the chance that someone googles that out of curiosity are much slimmer. Also, very likely, what s/he will find are mostly technical specifications. Not a good introduction to bitcoin.&lt;br /&gt;
&lt;br /&gt;
For the same reason I am for using &#039;&amp;amp;&#039; as a delimiter for key-value pairs. People know it from URLs. Make it easy for people to understand what is going on.&lt;br /&gt;
&lt;br /&gt;
===Keep it simple===&lt;br /&gt;
Don&#039;t explicitly write down information that can be inferred. Don&#039;t mark the address as an address. If there is no address, this does lose much of its utility. We could, however, specify &#039;address&#039; as a reserved word, so that &amp;lt;code&amp;gt;&lt;br /&gt;
bitcoin:address?amount=50X8&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
would initiate a transaction with the amount filled in, but with a blank address. I am not convinced that there is a use case, though.&lt;br /&gt;
&lt;br /&gt;
===Use-cases===&lt;br /&gt;
Before the URI scheme is finalised one should think long and hard about use cases. in what circumstances will which people use this, and for what?&lt;br /&gt;
* an online shop has a &#039;buy this&#039; link, which uses the URI scheme. &lt;br /&gt;
**PROBLEM: click on the link opens the application; how does the merchant notice this?&lt;br /&gt;
***POSSIBLE SOLUTION: javascript can detect the click.&lt;br /&gt;
***POSSIBLE SOLUTION: the checkout site checks its bitcoin account for payment via HTTP request.&lt;br /&gt;
**PROBLEM: the time problem (~10 minutes) is very apparent here; nobody wants to wait 10 minutes for the transaction to be confirmed.&lt;br /&gt;
***For micropayment-style digital content (songs, for example) it&#039;s probably not necessary to wait for any confirmation at all, since there is low risk of a double-spend attack for payments of a small amount.&lt;br /&gt;
***For physical goods, the merchant can tell the client that their transaction is pending when it first notices the transaction, and that payment is complete when the number of confirmations is large enough.  The buyer isn&#039;t going to sit there and wait anyway; nobody sits at their computer until their credit card gets charged when buying physical goods.&lt;br /&gt;
* a person only has an online client, no actual application&lt;br /&gt;
**PROBLEM: how to redirect the URI so that the online client gets a notice?&lt;br /&gt;
***POSSIBLE SOLUTION: Small application and/or browser plugins to redirect the handler call to the designated online wallet.&lt;br /&gt;
&lt;br /&gt;
===Backwards compatibility===&lt;br /&gt;
We want URIs generated in 2011 to still work in 2036. Think about extensibility. Of course we can make only educated guesses (and nothing more!) about the future, but don&#039;t act as if there is none. This should be the best we can do, but it should not be seen as set in stone. Make it possible for later generations to improve our work, to mend our errors, without breaking the URIs created now. Version incompatibility is the easiest thing to drive users crazy: &amp;quot;I just upgraded to this shiny new version. What? It doesn&#039;t support the old format? AAAAAAARRRGH!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer]]&lt;br /&gt;
[[Category:Technical]]&lt;/div&gt;</summary>
		<author><name>Cdhowie</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=BIP_0020&amp;diff=21051</id>
		<title>BIP 0020</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=BIP_0020&amp;diff=21051"/>
		<updated>2011-12-19T19:18:46Z</updated>

		<summary type="html">&lt;p&gt;Cdhowie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is about creating a URI scheme for bitcoin.&lt;br /&gt;
Previous discussion was in [http://www.bitcoin.org/smf/index.php?topic=55.0 this forum thread].&lt;br /&gt;
x-btc specification is at [[x-btc]].&lt;br /&gt;
&lt;br /&gt;
==RFC 3986==&lt;br /&gt;
&#039;&#039;&#039;the following is taken from wikipedia&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Internet standard [http://rfc.net/std0066.html STD 66] (also RFC 3986) defines the generic syntax to be used in all URI schemes. Every URI is defined as consisting of four parts, as follows:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;scheme name&amp;gt; : &amp;lt;hierarchical part&amp;gt; [ ? &amp;lt;query&amp;gt; ] [ # &amp;lt;fragment&amp;gt; ]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;scheme name&#039;&#039;&#039; consists of a letter followed by any combination of letters, digits, and the plus (&amp;quot;+&amp;quot;), period (&amp;quot;.&amp;quot;), or hyphen (&amp;quot;-&amp;quot;) characters; and is terminated by a colon (&amp;quot;:&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;hierarchical part&#039;&#039;&#039; of the URI is intended to hold identification information hierarchical in nature. Usually this part begins with a double forward slash (&amp;quot;//&amp;quot;), followed by an &#039;&#039;authority&#039;&#039; part and an optional &#039;&#039;path&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
* The &#039;&#039;&#039;authority&#039;&#039;&#039; part holds an optional user information part terminated with &amp;quot;@&amp;quot; (e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;username:password@&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;), a hostname (i.e. domain name or IP address), and an optional port number preceded by a colon &amp;quot;:&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* The &#039;&#039;&#039;path&#039;&#039;&#039; part is a sequence of segments (conceptually similar to directories, though not necessarily representing them) separated by a forward slash (&amp;quot;/&amp;quot;). Each segment can contain parameters separated from it using a semicolon (&amp;quot;;&amp;quot;), though this is rarely used in practice.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;query&#039;&#039;&#039;  is an optional part separated with a question mark, which contains additional identification information which is not hierarchical in nature. The query string syntax is not generically defined, but is commonly organized as a sequence of &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;key&amp;gt;=&amp;lt;value&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; pairs separated by a semicolon&amp;lt;ref&amp;gt;&lt;br /&gt;
RFC 1866 section 8.2.1 : by Tim Berners-Lee in 1995 encourages CGI authors to support &#039;;&#039; in addition to &#039;&amp;amp;&#039;.&lt;br /&gt;
&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;&lt;br /&gt;
[http://www.w3.org/TR/REC-html40/appendix/notes.html#h-B.2.2 HTML 4.01 Specification: Implementation, and Design Notes]: &amp;quot;CGI implementors support the use of &amp;quot;;&amp;quot; in place of &amp;quot;&amp;amp;&amp;quot; to save authors the trouble of escaping &amp;quot;&amp;amp;&amp;quot; characters in this manner.&amp;quot;&lt;br /&gt;
&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;&lt;br /&gt;
[http://www.w3.org/MarkUp/html-spec/html-spec_foot.html#FOOT26 Hypertext Markup Language - 2.0]&lt;br /&gt;
&amp;quot;CGI implementors are encouraged to support the use of &#039;;&#039; in place of &#039;&amp;amp;&#039; &amp;quot; &lt;br /&gt;
&amp;lt;/ref&amp;gt; or separated by an ampersand, for example:&lt;br /&gt;
 Semicolon: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;key1=value1;key2=value2;key3=value3&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
 Ampersand: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;key1=value1&amp;amp;key2=value2&amp;amp;key3=value3&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;fragment&#039;&#039;&#039; is an optional part separated from the front parts by a hash (&amp;quot;#&amp;quot;). It holds additional identifying information that provides direction to a secondary resource, e.g. a section heading in an article identified by the remainder of the URI.  When the primary resource is an HTML document, the &#039;&#039;&#039;fragment&#039;&#039;&#039; is often an &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; attribute of a specific element and web browsers will make sure this element is visible.&lt;br /&gt;
&lt;br /&gt;
==Specification==&lt;br /&gt;
&lt;br /&gt;
[] means optional, &amp;lt;&amp;gt; are placeholders&lt;br /&gt;
&lt;br /&gt;
 bitcoin:&amp;lt;address&amp;gt;[?][amount=&amp;lt;size&amp;gt;][&amp;amp;][label=&amp;lt;label&amp;gt;][&amp;amp;][message=&amp;lt;message&amp;gt;][&amp;amp;][send=&amp;lt;private key&amp;gt;]&lt;br /&gt;
&lt;br /&gt;
=== Query Keys ===&lt;br /&gt;
&lt;br /&gt;
*label: Label for that address (e.g. name of receiver)&lt;br /&gt;
*address: bitcoin address&lt;br /&gt;
*message: optional message that is shown to the user after scanning the QR code&lt;br /&gt;
*size: amount of base bitcoin units (cuBTCents/TBCᵇ-- NOT full DecimalBitCoins/BTC nor TonalBitCoins/TBC; see below)&lt;br /&gt;
*private key: used to send bitcoin, rather than to request them&lt;br /&gt;
&lt;br /&gt;
==== Transfer amount/size ====&lt;br /&gt;
&lt;br /&gt;
If an amount is provided, it may be specified either in decimal or, when prefixed with a single &amp;quot;x&amp;quot; character, hexadecimal.&lt;br /&gt;
The number SHOULD be followed by &amp;quot;X&amp;quot; &amp;lt;digits&amp;gt; to signify an exponent to the base multiplier.&lt;br /&gt;
That is, &amp;quot;X8&amp;quot; multiplies your number by 100,000,000.&lt;br /&gt;
For decimal values, this means the standard BTC unit.&lt;br /&gt;
For hexadecimal values, this means ᵇTBC units (which are equivalent to 42.94967296 BTC).&lt;br /&gt;
If exponent is omitted, implementations SHOULD assume X8 for decimal numbers, and X4 for hexadecimal numbers.&lt;br /&gt;
I.e. amount=50.00 is treated as 50 BTC, and amount=x40 is treated as 40 TBC.&lt;br /&gt;
When specifying bitcoin base units, &amp;quot;X0&amp;quot; SHOULD be used.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
Just the address:&lt;br /&gt;
 bitcoin:1NS17iag9jJgTHD1VXjvLCEnZuQ3rJED9L&lt;br /&gt;
&lt;br /&gt;
Address with name:&lt;br /&gt;
 bitcoin:1NS17iag9jJgTHD1VXjvLCEnZuQ3rJED9L?label=Luke-Jr&lt;br /&gt;
&lt;br /&gt;
Request 20.30 BTC to &amp;quot;Luke-Jr&amp;quot;:&lt;br /&gt;
 bitcoin:1NS17iag9jJgTHD1VXjvLCEnZuQ3rJED9L?amount=20.3X8&amp;amp;label=Luke-Jr&lt;br /&gt;
&lt;br /&gt;
Request 400 TBC:&lt;br /&gt;
 bitcoin:1NS17iag9jJgTHD1VXjvLCEnZuQ3rJED9L?amount=x400X4&lt;br /&gt;
&lt;br /&gt;
Request 4000 TBC:&lt;br /&gt;
 bitcoin:1NS17iag9jJgTHD1VXjvLCEnZuQ3rJED9L?amount=x4X7&lt;br /&gt;
&lt;br /&gt;
Request 5 uBTC:&lt;br /&gt;
 bitcoin:1NS17iag9jJgTHD1VXjvLCEnZuQ3rJED9L?amount=5X2&lt;br /&gt;
&lt;br /&gt;
Request 50 BTC with message:&lt;br /&gt;
 bitcoin:1NS17iag9jJgTHD1VXjvLCEnZuQ3rJED9L?amount=50X8&amp;amp;label=Luke-Jr&amp;amp;message=Donation%20for%20project%20xyz&lt;br /&gt;
&lt;br /&gt;
Send 1 BTC:&lt;br /&gt;
 bitcoin:1NS17iag9jJgTHD1VXjvLCEnZuQ3rJED9L?amount=1X8&amp;amp;send=S4b3N3oGqDqR5jNuxEvDwf&lt;br /&gt;
&lt;br /&gt;
Characters must be URI encoded properly.&lt;br /&gt;
&lt;br /&gt;
=== BNF syntax ===&lt;br /&gt;
&lt;br /&gt;
 bitcoinurn      = &amp;quot;bitcoin:&amp;quot; bitcoinaddress [ &amp;quot;;version=&amp;quot; bitcoinversion ] [ &amp;quot;?&amp;quot; bitcoinparams ]&lt;br /&gt;
 bitcoinaddress  = FIXME :)&lt;br /&gt;
 bitcoinversion  = &amp;quot;1.0&amp;quot;&lt;br /&gt;
 bitcoinparams   = *bitcoinparam&lt;br /&gt;
 bitcoinparam    = amountparam | labelparam | messageparam | pkparam&lt;br /&gt;
 amountparam     = &amp;quot;amount=&amp;quot; amount&lt;br /&gt;
 amount          = amountdecimal | amounthex&lt;br /&gt;
 amountdecimal   = digits [ &amp;quot;X&amp;quot; digits ]&lt;br /&gt;
 amounthex       = &amp;quot;x&amp;quot; hexdigits [ &amp;quot;X&amp;quot; hexdigits ]&lt;br /&gt;
 labelparam      = &amp;quot;label=&amp;quot; *uchar&lt;br /&gt;
 messageparam    = &amp;quot;label=&amp;quot; *uchar&lt;br /&gt;
 sendparam       = &amp;quot;send=&amp;quot; *uchar&lt;br /&gt;
&lt;br /&gt;
=== Parsing amount ===&lt;br /&gt;
==== ECMAScript ====&lt;br /&gt;
 reAmount = /^(([\d.]+)(X(\d+))?|x([\da-f]*)(\.([\da-f]*))?(X([\da-f]+))?)$/i;&lt;br /&gt;
 function parseAmount(txt) {&lt;br /&gt;
 	var m = txt.match(reAmount);&lt;br /&gt;
 	return m[5] ? (&lt;br /&gt;
 		(&lt;br /&gt;
 			parseInt(m[5], 16) +&lt;br /&gt;
 			(m[7] ? (parseInt(m[7], 16) * Math.pow(16, -(m[7].length))) : 0)&lt;br /&gt;
 		) * (&lt;br /&gt;
 			m[9] ? Math.pow(16, parseInt(m[9], 16)) : 0x10000&lt;br /&gt;
 		)&lt;br /&gt;
 	) : (&lt;br /&gt;
 			m[2]&lt;br /&gt;
 		*&lt;br /&gt;
 			(m[4] ? Math.pow(10, m[4]) : 1e8)&lt;br /&gt;
 	);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==== Python ====&lt;br /&gt;
 m = re.match(r&#039;^(([\d.]+)(X(\d+))?|x([\da-f]*)(\.([\da-f]*))?(X([\da-f]+))?)$&#039;, amount, re.IGNORECASE)&lt;br /&gt;
 if m.group(5):&lt;br /&gt;
     amount = float(int(m.group(5), 16))&lt;br /&gt;
     if m.group(7):&lt;br /&gt;
         amount += float(int(m.group(7), 16)) * pow(16, -(len(m.group(7))))&lt;br /&gt;
     if m.group(9):&lt;br /&gt;
         amount *= pow(16, int(m.group(9), 16))&lt;br /&gt;
     else:&lt;br /&gt;
         amount *= 0x10000&lt;br /&gt;
 else:&lt;br /&gt;
     amount = Decimal(m.group(2))&lt;br /&gt;
     if m.group(4):&lt;br /&gt;
         amount *= 10 ** int(m.group(4))&lt;br /&gt;
     else:&lt;br /&gt;
         amount *= 100000000&lt;br /&gt;
&lt;br /&gt;
==== C# ====&lt;br /&gt;
 Regex amountExpression = new Regex(@&amp;quot;^(([\d.]+)(X(\d+))?|x([\da-f]*)(\.([\da-f]*))?(X([\da-f]+))?)$&amp;quot;, RegexOptions.IgnoreCase);&lt;br /&gt;
 Match match = amountExpression.Match(value);&lt;br /&gt;
 if (match.Success)&lt;br /&gt;
 {&lt;br /&gt;
     if (match.Groups[5].Success)&lt;br /&gt;
     {&lt;br /&gt;
         long hexDecimal = 0;&lt;br /&gt;
         if (match.Groups[7].Success)&lt;br /&gt;
             hexDecimal = Convert.ToInt64(match.Groups[7].Value, 16) * (long)Math.Pow(16, -match.Groups[7].Length);&lt;br /&gt;
 &lt;br /&gt;
         long hexExponent = 0x10000;&lt;br /&gt;
         if (match.Groups[9].Success)&lt;br /&gt;
             hexExponent = (long)Math.Pow(16, Convert.ToInt32(match.Groups[9].Value, 16));&lt;br /&gt;
 &lt;br /&gt;
         Amount = (Convert.ToInt64(match.Groups[5].Value, 16) + hexDecimal) * hexExponent;&lt;br /&gt;
     }&lt;br /&gt;
     else&lt;br /&gt;
     {&lt;br /&gt;
         long decimalExponent = 100000000;&lt;br /&gt;
         if (match.Groups[4].Success)&lt;br /&gt;
             decimalExponent = (long)Math.Pow(10, int.Parse(match.Groups[4].Value));&lt;br /&gt;
         Amount = (long)(decimal.Parse(match.Groups[2].Value) * decimalExponent);&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
&lt;br /&gt;
===Payment identifiers, not person identifiers===&lt;br /&gt;
In my opinion, the most basic idea of the URI scheme (as this is a currency) is to facilitate payment. So the URIs should represent first and foremost payments. If it represents something else, this needs to be specified. Thus&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
bitcoin:1NS17iag9jJgTHD1VXjvLCEnZuQ3rJED9L&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
represents a &#039;&#039;&#039;request for payment&#039;&#039;&#039; to me using my bitcoin address, not my bitcoin address itself. So after parsing the URI (via link/qr/whatever) the application should open a transaction window with the address filled in. You then need to add an amount and confirm the payment.&lt;br /&gt;
If your application is smart, it will also have a button &amp;quot;just store the address&amp;quot;. But the point I am trying to make is that the default use of the URI should be for payment, nor for exchanging addresses.&lt;br /&gt;
&lt;br /&gt;
===Sending money===&lt;br /&gt;
To send a payment to someone else first construct a new keypair. You may want to use a [[mini private key format]], or you may also use a full private key for more security depending on the amount being sent and how long you expect to pass before a claim. Now create and publish a transaction with an output of the amount you wish to send. Use this script in that output:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;pubkey&amp;gt; OP_CHECKSIG&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Construct an address from the public key. Encode the URI as below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
bitcoin:&amp;lt;address&amp;gt;?send=&amp;lt;base 58 encoded private key&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may optionally include amount or message fields as well. In a wallet to claim money sent this way search for an incoming transaction with the output script form above, where &amp;lt;address&amp;gt; matches the public key in the script. When you find the transaction create a claim transaction with an input script of this form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;sig&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This claims the money you were sent. Until your claim transaction has confirmed the sender may take their money back.&lt;br /&gt;
&lt;br /&gt;
===Accessibility===&lt;br /&gt;
&#039;&#039;&#039;Imported from the forum:&#039;&#039;&#039; I like the simplicity of bitcoin:xxxxxxxxxxxxx and very much approve of its accessibility. Should someone from the outside happen to see such a URI, the protocol name already gives a description. A quick google search should then do the rest. x-btc sounds much more cryptic; the chance that someone googles that out of curiosity are much slimmer. Also, very likely, what s/he will find are mostly technical specifications. Not a good introduction to bitcoin.&lt;br /&gt;
&lt;br /&gt;
For the same reason I am for using &#039;&amp;amp;&#039; as a delimiter for key-value pairs. People know it from URLs. Make it easy for people to understand what is going on.&lt;br /&gt;
&lt;br /&gt;
===Keep it simple===&lt;br /&gt;
Don&#039;t explicitly write down information that can be inferred. Don&#039;t mark the address as an address. If there is no address, this does lose much of its utility. We could, however, specify &#039;address&#039; as a reserved word, so that &amp;lt;code&amp;gt;&lt;br /&gt;
bitcoin:address?amount=50X8&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
would initiate a transaction with the amount filled in, but with a blank address. I am not convinced that there is a use case, though.&lt;br /&gt;
&lt;br /&gt;
===Use-cases===&lt;br /&gt;
Before the URI scheme is finalised one should think long and hard about use cases. in what circumstances will which people use this, and for what?&lt;br /&gt;
* an online shop has a &#039;buy this&#039; link, which uses the URI scheme. &lt;br /&gt;
**PROBLEM: click on the link opens the application; how does the merchant notice this?&lt;br /&gt;
***POSSIBLE SOLUTION: javascript can detect the click.&lt;br /&gt;
***POSSIBLE SOLUTION: the checkout site checks its bitcoin account for payment via HTTP request.&lt;br /&gt;
**PROBLEM: the time problem (~10 minutes) is very apparent here; nobody wants to wait 10 minutes for the transaction to be confirmed.&lt;br /&gt;
***For micropayment-style digital content (songs, for example) it&#039;s probably not necessary to wait for any confirmation at all, since there is low risk of a double-spend attack for payments of a small amount.&lt;br /&gt;
***For physical goods, the merchant can tell the client that their transaction is pending when it first notices the transaction, and that payment is complete when the number of confirmations is large enough.&lt;br /&gt;
* a person only has an online client, no actual application&lt;br /&gt;
**PROBLEM: how to redirect the URI so that the online client gets a notice?&lt;br /&gt;
***POSSIBLE SOLUTION: Small application and/or browser plugins to redirect the handler call to the designated online wallet.&lt;br /&gt;
&lt;br /&gt;
===Backwards compatibility===&lt;br /&gt;
We want URIs generated in 2011 to still work in 2036. Think about extensibility. Of course we can make only educated guesses (and nothing more!) about the future, but don&#039;t act as if there is none. This should be the best we can do, but it should not be seen as set in stone. Make it possible for later generations to improve our work, to mend our errors, without breaking the URIs created now. Version incompatibility is the easiest thing to drive users crazy: &amp;quot;I just upgraded to this shiny new version. What? It doesn&#039;t support the old format? AAAAAAARRRGH!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer]]&lt;br /&gt;
[[Category:Technical]]&lt;/div&gt;</summary>
		<author><name>Cdhowie</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Fallback_Nodes&amp;diff=15570</id>
		<title>Fallback Nodes</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Fallback_Nodes&amp;diff=15570"/>
		<updated>2011-08-25T20:46:48Z</updated>

		<summary type="html">&lt;p&gt;Cdhowie: /* IPv4 Nodes */ meh, connections keep filling up&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of nodes which are considered reliable. Nodes from this list which are down for more than 24 hours will be automatically removed and status of each node is displayed and updated every hour by [[User:WikiBot|WikiBot]].&lt;br /&gt;
&lt;br /&gt;
== How to use this list ==&lt;br /&gt;
&lt;br /&gt;
=== Connect to nodes ===&lt;br /&gt;
&lt;br /&gt;
You can connect to these nodes with the &#039;&#039;-addnode=ip&#039;&#039; switch instead of the usual node harvesting process (through IRC or via the embedded nodelist). You can connect to more than one node by using &#039;&#039;-addnode=ip&#039;&#039; more than once. It is usually a good idea to connect to more than one of these nodes.&lt;br /&gt;
&lt;br /&gt;
==== Nodes without a fixed ip ====&lt;br /&gt;
&lt;br /&gt;
If the node IP is not fixed (see &amp;quot;Fixed&amp;quot; column), you will have to resolve the node&#039;s name (first column) each time the IP changes. Some nodes may have their ip change once a day, some others once a month, and some others may stay on the same IP for years. Still, as long as the IP is not fixed, there is no guarantee it will stay the same.&lt;br /&gt;
&lt;br /&gt;
In order to enable hostname lookups for the &#039;&#039;-addnode&#039;&#039; and &#039;&#039;-connect&#039;&#039; parameters, you must additionally provide the &#039;&#039;-dns&#039;&#039; parameter. Example:&lt;br /&gt;
 bitcoind -dns -addnode=bitcoin.es&lt;br /&gt;
&lt;br /&gt;
Versions prior to 0.3.22 do not support hostnames to the &#039;&#039;-addnode&#039;&#039; parameter, so you must do the resolving part for it. For example on linux:&lt;br /&gt;
 bitcoind -addnode=$(dig +short bitcoin.es)&lt;br /&gt;
&lt;br /&gt;
=== IP Transactions ===&lt;br /&gt;
&lt;br /&gt;
You can also send [[IP Transactions]] to these nodes. If you include your bitcoin address in the &amp;quot;message&amp;quot; field, you may have your coins back.&lt;br /&gt;
&lt;br /&gt;
=== Tor network ===&lt;br /&gt;
&lt;br /&gt;
To use tor .onion addresses, you need to map virtual ips via the &#039;&#039;torrc&#039;&#039; file:&lt;br /&gt;
&lt;br /&gt;
 mapaddress 192.0.2.2 ijzt2eeizty3p5xe.onion&lt;br /&gt;
 mapaddress 192.0.2.3 j43z65b6r2usg3vk.onion&lt;br /&gt;
 mapaddress 192.0.2.4 pvuif6nonbhj3o3r.onion&lt;br /&gt;
&lt;br /&gt;
Once you have configured and restarted tor, 192.0.2.2 will connect to ijzt2eeizty3p5xe.onion when accessed through the Tor proxy (and likewise for the other IPs/onions). You can then run Bitcoin with -addnode=192.0.2.2, or even send bitcoins to that IP address. You can use any arbitrary IP addresses with MapAddress, though some of the common non-routable ranges (10.*, 192.168.*) will not work due to a Bitcoin bug. 192.0.2.1-192.0.2.255 is the recommended range because it is both non-routable and compatible with Bitcoin.&lt;br /&gt;
&lt;br /&gt;
== Nodes list ==&lt;br /&gt;
&lt;br /&gt;
=== IPv4 Nodes ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Hostname !! Owner !! IP !! Fixed !! Status !! Last Seen (GMT) !! Accepts IP transactions&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!-- BEGIN NODELIST --&amp;gt;&lt;br /&gt;
| 204.9.55.71 || toasty || 204.9.55.71 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.25}} || 2011-08-25 20:01:25 || ?&lt;br /&gt;
|-&lt;br /&gt;
| 50.23.217.19 || Senseless || 50.23.217.19 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.24}} || 2011-08-25 20:00:03 || No&lt;br /&gt;
|-&lt;br /&gt;
| 66.158.72.2 || imsaguy || 66.158.72.2 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.24}} || 2011-08-25 20:00:03 || No&lt;br /&gt;
|-&lt;br /&gt;
| btcnode.novit.ro || ovidiusoft - novit.ro || 93.187.142.114 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.24}} || 2011-08-25 20:00:03 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| 98.143.152.14 || osmosis || 98.143.152.14 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.24}} || 2011-08-25 20:00:04 || ?&lt;br /&gt;
|-&lt;br /&gt;
| 173.224.125.222 || MagicalTux [US] || 173.224.125.222 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.24}} || 2011-08-25 20:00:04 || ?&lt;br /&gt;
|-&lt;br /&gt;
| bitcoin.es || neutrino || 188.165.138.165 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.24}} || 2011-08-25 20:00:04 || ?&lt;br /&gt;
|-&lt;br /&gt;
| 216.135.68.67 || NothinG || 216.135.68.67 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.24}} || 2011-08-25 20:00:31 || ?&lt;br /&gt;
|-&lt;br /&gt;
| 74.57.236.239 || ? || 74.57.236.239 || {{Table Value Yes}} || {{Fallback Nodes/Node Old|version=0.3.0}} || 2011-08-25 20:00:31 || ?&lt;br /&gt;
&amp;lt;!-- END NODELIST --&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tor nodes ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Hostname !! Owner !! Status !! Last Seen (GMT) !! Accepts IP transactions&lt;br /&gt;
|-&lt;br /&gt;
| ijzt2eeizty3p5xe.onion || ? || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| j43z65b6r2usg3vk.onion || Dybbuk || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| pvuif6nonbhj3o3r.onion || ? || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| c5qvugpewwyyy5oz.onion || ? || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| vso3r6cmjoomhhgg.onion || echelon || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| bitcoinbudtoeks7.onion || ? || ? || 2011-02-11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| iy6ni3wkqazp4ytu.onion || ? || ? || 2011-02-11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| h4kklwodpcmo6cbq.onion || ? || ? || 2011-02-11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| vv6kcfscuntybrzm.onion || ? || ? || 2011-02-11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| nlnsivjku4x4lu5n.onion || ? || ? || 2011-02-11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| xqzfakpeuvrobvpj.onion || ? || ? || 2010-11-13 || No&lt;br /&gt;
|-&lt;br /&gt;
| 4lmduyac3svgrrav.onion || ? || ? || 2011-02-11 || No&lt;br /&gt;
|-&lt;br /&gt;
| usasx4urod3yj4az.onion || ? || ? || 2011-02-11 || No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Adding a node ==&lt;br /&gt;
&lt;br /&gt;
Before adding yourself as a fallback node, you should be sure your node will stay online for a long time. If a node is offline for more than 24 hours it will be removed from the list. To accept IP transactions you will have to add the &#039;&#039;-allowreceivebyip&#039;&#039; flag to your command line parameters.&lt;br /&gt;
&lt;br /&gt;
To add a node in this list, you just need the ip/hostname and your name, the other fields will be filled automatically. Insert the following lines before the &amp;lt;tt&amp;gt;END NODELIST&amp;lt;/tt&amp;gt; line:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;|-&lt;br /&gt;
| ip || your name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that a bot will connect to your node every hour to check its status and version.&lt;/div&gt;</summary>
		<author><name>Cdhowie</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Fallback_Nodes&amp;diff=15565</id>
		<title>Fallback Nodes</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Fallback_Nodes&amp;diff=15565"/>
		<updated>2011-08-25T18:05:09Z</updated>

		<summary type="html">&lt;p&gt;Cdhowie: /* IPv4 Nodes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of nodes which are considered reliable. Nodes from this list which are down for more than 24 hours will be automatically removed and status of each node is displayed and updated every hour by [[User:WikiBot|WikiBot]].&lt;br /&gt;
&lt;br /&gt;
== How to use this list ==&lt;br /&gt;
&lt;br /&gt;
=== Connect to nodes ===&lt;br /&gt;
&lt;br /&gt;
You can connect to these nodes with the &#039;&#039;-addnode=ip&#039;&#039; switch instead of the usual node harvesting process (through IRC or via the embedded nodelist). You can connect to more than one node by using &#039;&#039;-addnode=ip&#039;&#039; more than once. It is usually a good idea to connect to more than one of these nodes.&lt;br /&gt;
&lt;br /&gt;
==== Nodes without a fixed ip ====&lt;br /&gt;
&lt;br /&gt;
If the node IP is not fixed (see &amp;quot;Fixed&amp;quot; column), you will have to resolve the node&#039;s name (first column) each time the IP changes. Some nodes may have their ip change once a day, some others once a month, and some others may stay on the same IP for years. Still, as long as the IP is not fixed, there is no guarantee it will stay the same.&lt;br /&gt;
&lt;br /&gt;
In order to enable hostname lookups for the &#039;&#039;-addnode&#039;&#039; and &#039;&#039;-connect&#039;&#039; parameters, you must additionally provide the &#039;&#039;-dns&#039;&#039; parameter. Example:&lt;br /&gt;
 bitcoind -dns -addnode=bitcoin.es&lt;br /&gt;
&lt;br /&gt;
Versions prior to 0.3.22 do not support hostnames to the &#039;&#039;-addnode&#039;&#039; parameter, so you must do the resolving part for it. For example on linux:&lt;br /&gt;
 bitcoind -addnode=$(dig +short bitcoin.es)&lt;br /&gt;
&lt;br /&gt;
=== IP Transactions ===&lt;br /&gt;
&lt;br /&gt;
You can also send [[IP Transactions]] to these nodes. If you include your bitcoin address in the &amp;quot;message&amp;quot; field, you may have your coins back.&lt;br /&gt;
&lt;br /&gt;
=== Tor network ===&lt;br /&gt;
&lt;br /&gt;
To use tor .onion addresses, you need to map virtual ips via the &#039;&#039;torrc&#039;&#039; file:&lt;br /&gt;
&lt;br /&gt;
 mapaddress 192.0.2.2 ijzt2eeizty3p5xe.onion&lt;br /&gt;
 mapaddress 192.0.2.3 j43z65b6r2usg3vk.onion&lt;br /&gt;
 mapaddress 192.0.2.4 pvuif6nonbhj3o3r.onion&lt;br /&gt;
&lt;br /&gt;
Once you have configured and restarted tor, 192.0.2.2 will connect to ijzt2eeizty3p5xe.onion when accessed through the Tor proxy (and likewise for the other IPs/onions). You can then run Bitcoin with -addnode=192.0.2.2, or even send bitcoins to that IP address. You can use any arbitrary IP addresses with MapAddress, though some of the common non-routable ranges (10.*, 192.168.*) will not work due to a Bitcoin bug. 192.0.2.1-192.0.2.255 is the recommended range because it is both non-routable and compatible with Bitcoin.&lt;br /&gt;
&lt;br /&gt;
== Nodes list ==&lt;br /&gt;
&lt;br /&gt;
=== IPv4 Nodes ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Hostname !! Owner !! IP !! Fixed !! Status !! Last Seen (GMT) !! Accepts IP transactions&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!-- BEGIN NODELIST --&amp;gt;&lt;br /&gt;
| 50.23.217.19 || Senseless || 50.23.217.19 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.24}} || 2011-08-25 18:01:03 || No&lt;br /&gt;
|-&lt;br /&gt;
| 66.158.72.2 || imsaguy || 66.158.72.2 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.24}} || 2011-08-25 18:01:03 || No&lt;br /&gt;
|-&lt;br /&gt;
| btcnode.novit.ro || ovidiusoft - novit.ro || 93.187.142.114 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.24}} || 2011-08-25 18:01:03 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| 98.143.152.14 || osmosis || 98.143.152.14 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.24}} || 2011-08-25 18:01:04 || ?&lt;br /&gt;
|-&lt;br /&gt;
| 173.224.125.222 || MagicalTux [US] || 173.224.125.222 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.24}} || 2011-08-25 18:01:04 || ?&lt;br /&gt;
|-&lt;br /&gt;
| bitcoin.es || neutrino || 188.165.138.165 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.24}} || 2011-08-25 18:01:04 || ?&lt;br /&gt;
|-&lt;br /&gt;
| 216.135.68.67 || NothinG || 216.135.68.67 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.24}} || 2011-08-25 18:01:04 || ?&lt;br /&gt;
|-&lt;br /&gt;
| 74.57.236.239 || ? || 74.57.236.239 || {{Table Value Yes}} || {{Fallback Nodes/Node Old|version=0.3.0}} || 2011-08-25 18:01:04 || ?&lt;br /&gt;
|-&lt;br /&gt;
| 204.9.55.71 || toasty || 204.9.55.71 || {{Table Value Yes}} || {{Fallback Nodes/Node Down}} || 2011-08-25 17:00:52 || ?&lt;br /&gt;
|-&lt;br /&gt;
| zack.home.chrishowie.com || cdhowie || 98.222.154.109 || {{Table Value No}} || {{Fallback Nodes/Node Up|version=0.3.24}} || 2011-08-25 18:01:04 || No&lt;br /&gt;
&amp;lt;!-- END NODELIST --&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tor nodes ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Hostname !! Owner !! Status !! Last Seen (GMT) !! Accepts IP transactions&lt;br /&gt;
|-&lt;br /&gt;
| ijzt2eeizty3p5xe.onion || ? || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| j43z65b6r2usg3vk.onion || Dybbuk || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| pvuif6nonbhj3o3r.onion || ? || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| c5qvugpewwyyy5oz.onion || ? || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| vso3r6cmjoomhhgg.onion || echelon || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| bitcoinbudtoeks7.onion || ? || ? || 2011-02-11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| iy6ni3wkqazp4ytu.onion || ? || ? || 2011-02-11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| h4kklwodpcmo6cbq.onion || ? || ? || 2011-02-11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| vv6kcfscuntybrzm.onion || ? || ? || 2011-02-11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| nlnsivjku4x4lu5n.onion || ? || ? || 2011-02-11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| xqzfakpeuvrobvpj.onion || ? || ? || 2010-11-13 || No&lt;br /&gt;
|-&lt;br /&gt;
| 4lmduyac3svgrrav.onion || ? || ? || 2011-02-11 || No&lt;br /&gt;
|-&lt;br /&gt;
| usasx4urod3yj4az.onion || ? || ? || 2011-02-11 || No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Adding a node ==&lt;br /&gt;
&lt;br /&gt;
Before adding yourself as a fallback node, you should be sure your node will stay online for a long time. If a node is offline for more than 24 hours it will be removed from the list. To accept IP transactions you will have to add the &#039;&#039;-allowreceivebyip&#039;&#039; flag to your command line parameters.&lt;br /&gt;
&lt;br /&gt;
To add a node in this list, you just need the ip/hostname and your name, the other fields will be filled automatically. Insert the following lines before the &amp;lt;tt&amp;gt;END NODELIST&amp;lt;/tt&amp;gt; line:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;|-&lt;br /&gt;
| ip || your name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that a bot will connect to your node every hour to check its status and version.&lt;/div&gt;</summary>
		<author><name>Cdhowie</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Fallback_Nodes&amp;diff=15516</id>
		<title>Fallback Nodes</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Fallback_Nodes&amp;diff=15516"/>
		<updated>2011-08-24T20:25:26Z</updated>

		<summary type="html">&lt;p&gt;Cdhowie: /* IPv4 Nodes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of nodes which are considered reliable. Nodes from this list which are down for more than 24 hours will be automatically removed and status of each node is displayed and updated every hour by [[User:WikiBot|WikiBot]].&lt;br /&gt;
&lt;br /&gt;
== How to use this list ==&lt;br /&gt;
&lt;br /&gt;
=== Connect to nodes ===&lt;br /&gt;
&lt;br /&gt;
You can connect to these nodes with the &#039;&#039;-addnode=ip&#039;&#039; switch instead of the usual node harvesting process (through IRC or via the embedded nodelist). You can connect to more than one node by using &#039;&#039;-addnode=ip&#039;&#039; more than once. It is usually a good idea to connect to more than one of these nodes.&lt;br /&gt;
&lt;br /&gt;
==== Nodes without a fixed ip ====&lt;br /&gt;
&lt;br /&gt;
If the node IP is not fixed (see &amp;quot;Fixed&amp;quot; column), you will have to resolve the node&#039;s name (first column) each time the IP changes. Some nodes may have their ip change once a day, some others once a month, and some others may stay on the same IP for years. Still, as long as the IP is not fixed, there is no guarantee it will stay the same.&lt;br /&gt;
&lt;br /&gt;
In order to enable hostname lookups for the &#039;&#039;-addnode&#039;&#039; and &#039;&#039;-connect&#039;&#039; parameters, you must additionally provide the &#039;&#039;-dns&#039;&#039; parameter. Example:&lt;br /&gt;
 bitcoind -dns -addnode=bitcoin.es&lt;br /&gt;
&lt;br /&gt;
Versions prior to 0.3.22 do not support hostnames to the &#039;&#039;-addnode&#039;&#039; parameter, so you must do the resolving part for it. For example on linux:&lt;br /&gt;
 bitcoind -addnode=$(dig +short bitcoin.es)&lt;br /&gt;
&lt;br /&gt;
=== IP Transactions ===&lt;br /&gt;
&lt;br /&gt;
You can also send [[IP Transactions]] to these nodes. If you include your bitcoin address in the &amp;quot;message&amp;quot; field, you may have your coins back.&lt;br /&gt;
&lt;br /&gt;
=== Tor network ===&lt;br /&gt;
&lt;br /&gt;
To use tor .onion addresses, you need to map virtual ips via the &#039;&#039;torrc&#039;&#039; file:&lt;br /&gt;
&lt;br /&gt;
 mapaddress 192.0.2.2 ijzt2eeizty3p5xe.onion&lt;br /&gt;
 mapaddress 192.0.2.3 j43z65b6r2usg3vk.onion&lt;br /&gt;
 mapaddress 192.0.2.4 pvuif6nonbhj3o3r.onion&lt;br /&gt;
&lt;br /&gt;
Once you have configured and restarted tor, 192.0.2.2 will connect to ijzt2eeizty3p5xe.onion when accessed through the Tor proxy (and likewise for the other IPs/onions). You can then run Bitcoin with -addnode=192.0.2.2, or even send bitcoins to that IP address. You can use any arbitrary IP addresses with MapAddress, though some of the common non-routable ranges (10.*, 192.168.*) will not work due to a Bitcoin bug. 192.0.2.1-192.0.2.255 is the recommended range because it is both non-routable and compatible with Bitcoin.&lt;br /&gt;
&lt;br /&gt;
== Nodes list ==&lt;br /&gt;
&lt;br /&gt;
=== IPv4 Nodes ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Hostname !! Owner !! IP !! Fixed !! Status !! Last Seen (GMT) !! Accepts IP transactions&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!-- BEGIN NODELIST --&amp;gt;&lt;br /&gt;
| 50.23.217.19 || Senseless || 50.23.217.19 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.24}} || 2011-08-24 20:00:03 || No&lt;br /&gt;
|-&lt;br /&gt;
| 66.158.72.2 || imsaguy || 66.158.72.2 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.24}} || 2011-08-24 20:00:04 || No&lt;br /&gt;
|-&lt;br /&gt;
| btcnode.novit.ro || ovidiusoft - novit.ro || 93.187.142.114 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.24}} || 2011-08-24 20:00:04 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| 98.143.152.14 || osmosis || 98.143.152.14 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.24}} || 2011-08-24 20:00:04 || ?&lt;br /&gt;
|-&lt;br /&gt;
| 173.224.125.222 || MagicalTux [US] || 173.224.125.222 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.24}} || 2011-08-24 20:00:06 || ?&lt;br /&gt;
|-&lt;br /&gt;
| bitcoin.es || neutrino || 188.165.138.165 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.24}} || 2011-08-24 20:00:06 || ?&lt;br /&gt;
|-&lt;br /&gt;
| 216.135.68.67 || NothinG || 216.135.68.67 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.24}} || 2011-08-24 20:00:06 || ?&lt;br /&gt;
|-&lt;br /&gt;
| 74.57.236.239 || ? || 74.57.236.239 || {{Table Value Yes}} || {{Fallback Nodes/Node Old|version=0.3.0}} || 2011-08-24 20:00:06 || ?&lt;br /&gt;
|-&lt;br /&gt;
| 204.9.55.71 || toasty || 204.9.55.71 || {{Table Value Yes}} || {{Fallback Nodes/Node Down}} || 2011-08-24 17:01:32 || ?&lt;br /&gt;
|-&lt;br /&gt;
| zack.home.chrishowie.com || cdhowie || 98.222.154.109 || {{Table Value No}} || {{Fallback Nodes/Node Up|version=0.3.24}} || 2011-08-24 20:00:06 || No&lt;br /&gt;
&amp;lt;!-- END NODELIST --&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tor nodes ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Hostname !! Owner !! Status !! Last Seen (GMT) !! Accepts IP transactions&lt;br /&gt;
|-&lt;br /&gt;
| ijzt2eeizty3p5xe.onion || ? || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| j43z65b6r2usg3vk.onion || Dybbuk || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| pvuif6nonbhj3o3r.onion || ? || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| c5qvugpewwyyy5oz.onion || ? || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| vso3r6cmjoomhhgg.onion || echelon || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| bitcoinbudtoeks7.onion || ? || ? || 2011-02-11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| iy6ni3wkqazp4ytu.onion || ? || ? || 2011-02-11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| h4kklwodpcmo6cbq.onion || ? || ? || 2011-02-11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| vv6kcfscuntybrzm.onion || ? || ? || 2011-02-11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| nlnsivjku4x4lu5n.onion || ? || ? || 2011-02-11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| xqzfakpeuvrobvpj.onion || ? || ? || 2010-11-13 || No&lt;br /&gt;
|-&lt;br /&gt;
| 4lmduyac3svgrrav.onion || ? || ? || 2011-02-11 || No&lt;br /&gt;
|-&lt;br /&gt;
| usasx4urod3yj4az.onion || ? || ? || 2011-02-11 || No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Adding a node ==&lt;br /&gt;
&lt;br /&gt;
Before adding yourself as a fallback node, you should be sure your node will stay online for a long time. If a node is offline for more than 24 hours it will be removed from the list. To accept IP transactions you will have to add the &#039;&#039;-allowreceivebyip&#039;&#039; flag to your command line parameters.&lt;br /&gt;
&lt;br /&gt;
To add a node in this list, you just need the ip/hostname and your name, the other fields will be filled automatically. Insert the following lines before the &amp;lt;tt&amp;gt;END NODELIST&amp;lt;/tt&amp;gt; line:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;|-&lt;br /&gt;
| ip || your name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that a bot will connect to your node every hour to check its status and version.&lt;/div&gt;</summary>
		<author><name>Cdhowie</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Main_Page&amp;diff=8978</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Main_Page&amp;diff=8978"/>
		<updated>2011-05-26T14:55:12Z</updated>

		<summary type="html">&lt;p&gt;Cdhowie: replace channel link with link to IRC channels&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| id=&amp;quot;mp-topbanner&amp;quot; style=&amp;quot;width:100%; background:#f6f6f6; margin-top:1.2em; border:1px solid #ddd;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:61%; color:#000;&amp;quot; |&lt;br /&gt;
&amp;lt;!--        &amp;quot;WELCOME TO BITCOIN&amp;quot; AND ARTICLE COUNT        --&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width:100%; border:none; background:none;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center; white-space:nowrap; color:#000;&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:162%; border:none; margin:0; padding:.1em; color:#000;&amp;quot;&amp;gt;Welcome to [[Bitcoin]] wiki,&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;top:+0.2em; font-size:95%;&amp;quot;&amp;gt;All your bitcoin information needs.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;articlecount&amp;quot; style=&amp;quot;width:100%; text-align:center; font-size:85%;&amp;quot;&amp;gt;[[Special:Statistics|{{NUMBEROFARTICLES}}]] articles.&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Improve [[:Category:Stubs|this wiki]] and [[Bitcoin:Contributors Award|earn bitcoins]].&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;!--        PORTAL LIST ON RIGHT-HAND SIDE        --&amp;gt;&lt;br /&gt;
| style=&amp;quot;width:13%; font-size:120%;&amp;quot; |&lt;br /&gt;
* &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://bitcoin.org Frontpage]&amp;lt;/span&amp;gt;&lt;br /&gt;
| style=&amp;quot;width:13%; font-size:120%;&amp;quot; |&lt;br /&gt;
* &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://bitcoin.org/smf Forum]&amp;lt;/span&amp;gt;&lt;br /&gt;
| style=&amp;quot;width:13%; font-size:120%; padding-right: 40px;&amp;quot; |&lt;br /&gt;
* &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[[IRC channels|Chatrooms]]&amp;lt;/span&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--        TODAY&#039;S FEATURED ARTICLE; DID YOU KNOW        --&amp;gt;&lt;br /&gt;
{| id=&amp;quot;mp-upper&amp;quot; style=&amp;quot;width: 100%; margin:6px 0 0 0; background:none; border-spacing: 0px;&amp;quot;&lt;br /&gt;
| class=&amp;quot;MainPageBG&amp;quot; style=&amp;quot;width:55%; border:1px solid #cef2e0; background:#f6e5f1; vertical-align:top; color:#000;&amp;quot; |&lt;br /&gt;
{| id=&amp;quot;mp-left&amp;quot; style=&amp;quot;vertical-align:top; background:#f6e5f1;&amp;quot;&lt;br /&gt;
! style=&amp;quot;padding:2px;&amp;quot; | &amp;lt;h2 id=&amp;quot;mp-tfa-h2&amp;quot; style=&amp;quot;margin:3px; background:#e9caef; font-size:120%; font-weight:bold; border:1px solid #a3bfb1; text-align:left; color:#000; padding:0.2em 0.4em;&amp;quot;&amp;gt;Bitcoin&amp;lt;/h2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;color:#000;&amp;quot; | &amp;lt;div id=&amp;quot;mp-tfa&amp;quot; style=&amp;quot;padding:2px 5px&amp;quot;&amp;gt;{{MainPage_Intro}}&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;padding:2px&amp;quot; | &amp;lt;h2 id=&amp;quot;mp-dyk-h2&amp;quot; style=&amp;quot;margin:3px; background:#e9caef; font-size:120%; font-weight:bold; border:1px solid #a3bfb1; text-align:left; color:#000; padding:0.2em 0.4em;&amp;quot;&amp;gt;Why&amp;lt;/h2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;color:#000;padding:2px 5px 5px&amp;quot; | &amp;lt;div id=&amp;quot;mp-dyk&amp;quot;&amp;gt;{{MainPage_Reasons}}&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;border:1px solid transparent;&amp;quot; |&lt;br /&gt;
&amp;lt;!--        IN THE NEWS; ON THIS DAY        --&amp;gt;&lt;br /&gt;
| class=&amp;quot;MainPageBG&amp;quot; style=&amp;quot;width:45%; border:1px solid #cedff2; background:#f6e5f1; vertical-align:top;&amp;quot;|&lt;br /&gt;
{| id=&amp;quot;mp-right&amp;quot; style=&amp;quot;width:100%; vertical-align:top; background:#f6e5f1;&amp;quot;&lt;br /&gt;
! style=&amp;quot;padding:2px&amp;quot; | &amp;lt;h2 id=&amp;quot;mp-otd-h2&amp;quot; style=&amp;quot;margin:3px; background:#efc1e2; font-size:120%; font-weight:bold; border:1px solid #a3b0bf; text-align:left; color:#000; padding:0.2em 0.4em;&amp;quot;&amp;gt;Topic central&amp;lt;/h2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;color:#000;padding:2px 5px 5px&amp;quot; | &amp;lt;div id=&amp;quot;mp-otd&amp;quot;&amp;gt;{{MainPage_Topics}}&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;padding:2px&amp;quot; | &amp;lt;h2 id=&amp;quot;mp-otd-h2&amp;quot; style=&amp;quot;margin:3px; background:#efc1e2; font-size:120%; font-weight:bold; border:1px solid #a3b0bf; text-align:left; color:#000; padding:0.2em 0.4em;&amp;quot;&amp;gt;FAQ&amp;lt;/h2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;color:#000;padding:2px 5px 5px&amp;quot; | &amp;lt;div id=&amp;quot;mp-otd&amp;quot;&amp;gt;{{MainPage_FAQ}}&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other pages ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[http://www.mediawiki.org/wiki/Help:Formatting Help]&#039;&#039;&#039; - Documentation on wiki editing.&lt;br /&gt;
* &#039;&#039;&#039;[[Bitcoin.it Wiki|About]]&#039;&#039;&#039; - Information on this site.&lt;br /&gt;
&lt;br /&gt;
[[fr:Accueil]]&lt;br /&gt;
[[zh-cn:首页]]&lt;br /&gt;
[[es:Página Principal]]&lt;br /&gt;
[[it:Pagina principale]]&lt;br /&gt;
[[ru:Заглавная страница]]&lt;br /&gt;
[[de:Hauptseite]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC____NOEDITSECTION__&lt;/div&gt;</summary>
		<author><name>Cdhowie</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Template:Freenode_IRC&amp;diff=8971</id>
		<title>Template:Freenode IRC</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Template:Freenode_IRC&amp;diff=8971"/>
		<updated>2011-05-26T14:05:04Z</updated>

		<summary type="html">&lt;p&gt;Cdhowie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;small&amp;gt;[irc://irc.freenode.net/{{{1}}} IRC] [http://webchat.freenode.net/?channels={{{1}}}&amp;amp;uio=d4 Web]&amp;lt;/small&amp;gt; {{#if: {{{text|}}} | {{{text}}} | &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;{{{1}}}}}&lt;/div&gt;</summary>
		<author><name>Cdhowie</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=IRC_channels&amp;diff=8970</id>
		<title>IRC channels</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=IRC_channels&amp;diff=8970"/>
		<updated>2011-05-26T14:04:35Z</updated>

		<summary type="html">&lt;p&gt;Cdhowie: Created page with &amp;quot;The following Bitcoin-related IRC channels are available on [http://www.freenode.net Freenode]:  {| class=&amp;quot;wikitable&amp;quot; ! Channel !! Description |- | {{Freenode IRC|bitcoin}} || Ge...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following Bitcoin-related IRC channels are available on [http://www.freenode.net Freenode]:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Channel !! Description&lt;br /&gt;
|-&lt;br /&gt;
| {{Freenode IRC|bitcoin}} || General Bitcoin-related discussion.&lt;br /&gt;
|-&lt;br /&gt;
| {{Freenode IRC|bitcoin-otc|text=[[bitcoin-otc|#bitcoin-otc]]}} || Over-the-counter marketplace.  (Chat tends to get off-topic frequently.)&lt;br /&gt;
|-&lt;br /&gt;
| {{Freenode IRC|bitcoin-pit}} || Marketplace with low tolerance for off-topic chat.&lt;br /&gt;
|-&lt;br /&gt;
| {{Freenode IRC|bitcoin-market}} || Streaming market data, no chat.&lt;br /&gt;
|-&lt;br /&gt;
| {{Freenode IRC|bitcoin-watch}} || Another streaming market data channel.&lt;br /&gt;
|-&lt;br /&gt;
| {{Freenode IRC|bitcoin-dev}} || Bitcoin software development.&lt;br /&gt;
|-&lt;br /&gt;
| {{Freenode IRC|bitcoin-mining}} || Discussion and support related to mining.&lt;br /&gt;
|-&lt;br /&gt;
| {{Freenode IRC|bitcoin-politics}} || Discuss politics with other Bitcoin users.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Cdhowie</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Template:Freenode_IRC&amp;diff=8969</id>
		<title>Template:Freenode IRC</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Template:Freenode_IRC&amp;diff=8969"/>
		<updated>2011-05-26T14:02:28Z</updated>

		<summary type="html">&lt;p&gt;Cdhowie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#if: {{{text|}}} | {{{text}}} | &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;{{{1}}}}} &amp;lt;small&amp;gt;[irc://irc.freenode.net/{{{1}}} IRC] [http://webchat.freenode.net/?channels={{{1}}}&amp;amp;uio=d4 Web]&amp;lt;/small&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cdhowie</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Template:Freenode_IRC&amp;diff=8967</id>
		<title>Template:Freenode IRC</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Template:Freenode_IRC&amp;diff=8967"/>
		<updated>2011-05-26T13:59:40Z</updated>

		<summary type="html">&lt;p&gt;Cdhowie: Created page with &amp;quot;{{{text|{{{1}}}}}} &amp;lt;small&amp;gt;[irc://irc.freenode.net/{{{1}}} IRC] [http://webchat.freenode.net/?channels={{{1}}}&amp;amp;uio=d4 Web]&amp;lt;/small&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{{text|{{{1}}}}}} &amp;lt;small&amp;gt;[irc://irc.freenode.net/{{{1}}} IRC] [http://webchat.freenode.net/?channels={{{1}}}&amp;amp;uio=d4 Web]&amp;lt;/small&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cdhowie</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Fallback_Nodes&amp;diff=8235</id>
		<title>Fallback Nodes</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Fallback_Nodes&amp;diff=8235"/>
		<updated>2011-05-10T19:09:17Z</updated>

		<summary type="html">&lt;p&gt;Cdhowie: /* IPv4 Nodes */ remove one of my nodes due to RAM constraints; update the version number of another&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of nodes which are considered reliable. Nodes from this list which are down for more than 24 hours will be automatically removed and status of each node is displayed and updated every hour by [[User:WikiBot|WikiBot]].&lt;br /&gt;
&lt;br /&gt;
== How to use this list ==&lt;br /&gt;
&lt;br /&gt;
=== Connect to nodes ===&lt;br /&gt;
&lt;br /&gt;
You can connect to these nodes with the &#039;&#039;-addnode=ip&#039;&#039; switch instead of the usual node harvesting process (through IRC or via the embedded nodelist). You can connect to more than one node by using &#039;&#039;-addnode=ip&#039;&#039; more than once. It is usually a good idea to connect to more than one of these nodes.&lt;br /&gt;
&lt;br /&gt;
==== Nodes without a fixed ip ====&lt;br /&gt;
&lt;br /&gt;
If the node IP is not fixed (see &amp;quot;Fixed&amp;quot; column), you will have to resolve the node&#039;s name (first column) each time the IP changes. Some nodes may have their ip change once a day, some others once a month, and some others may stay on the same IP for years. Still, as long as the IP is not fixed, there is no guarantee it will stay the same.&lt;br /&gt;
&lt;br /&gt;
The [[Original Bitcoin client]] do not support hostnames to the &#039;&#039;-addnode&#039;&#039; parameter, so you must do the resolving part for it. For example on linux:&lt;br /&gt;
 bitcoind -addnode=$(host theymos.ath.cx |sed s/&amp;quot;^.*has address &amp;quot;//)&lt;br /&gt;
&lt;br /&gt;
=== IP Transactions ===&lt;br /&gt;
&lt;br /&gt;
You can also send [[IP Transactions]] to these nodes. If you include your bitcoin address in the &amp;quot;message&amp;quot; field, you may have your coins back.&lt;br /&gt;
&lt;br /&gt;
=== Tor network ===&lt;br /&gt;
&lt;br /&gt;
To use tor .onion addresses, you need to map virtual ips via the &#039;&#039;torrc&#039;&#039; file:&lt;br /&gt;
&lt;br /&gt;
 mapaddress 192.0.2.2 ijzt2eeizty3p5xe.onion&lt;br /&gt;
 mapaddress 192.0.2.3 j43z65b6r2usg3vk.onion&lt;br /&gt;
 mapaddress 192.0.2.4 pvuif6nonbhj3o3r.onion&lt;br /&gt;
&lt;br /&gt;
Once you have configured and restarted tor, 192.0.2.2 will connect to ijzt2eeizty3p5xe.onion when accessed through the Tor proxy (and likewise for the other IPs/onions). You can then run Bitcoin with -addnode=192.0.2.2, or even send bitcoins to that IP address. You can use any arbitrary IP addresses with MapAddress, though some of the common non-routable ranges (10.*, 192.168.*) will not work due to a Bitcoin bug. 192.0.2.1-192.0.2.255 is the recommended range because it is both non-routable and compatible with Bitcoin.&lt;br /&gt;
&lt;br /&gt;
== Nodes list ==&lt;br /&gt;
&lt;br /&gt;
=== IPv4 Nodes ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Hostname !! Owner !! IP !! Fixed !! Status !! Last Seen (GMT) !! Accepts IP transactions&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!-- BEGIN NODELIST --&amp;gt;&lt;br /&gt;
| ndrix.com || mndrix || 64.22.103.150 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.21}} || 2011-04-17 12:00:08 || ?&lt;br /&gt;
|-&lt;br /&gt;
| 69.164.218.197 || Gavin Andresen || 69.164.218.197 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.21}} || 2011-04-17 12:00:08 || ?&lt;br /&gt;
|-&lt;br /&gt;
| jun.dashjr.org || Lightfoot Hosting || 173.242.112.53 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.21}} || 2011-04-17 12:00:08 || ?&lt;br /&gt;
|-&lt;br /&gt;
| mining.bitcoin.cz || slush || 178.79.147.99 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.21}} || 2011-04-17 12:00:08 || No&lt;br /&gt;
|-&lt;br /&gt;
| bitcoin.csy.ca || Martok || 128.189.187.27 || {{Table Value Unknown}} || {{Fallback Nodes/Node Up|version=0.3.21}} || 2011-04-17 12:00:09 || ?&lt;br /&gt;
|-&lt;br /&gt;
| nat.router.dashjr.org || Luke-Jr || 71.1.74.69 || {{Table Value No}} || {{Fallback Nodes/Node Up|version=0.3.21}} || 2011-04-17 12:00:10 || ?&lt;br /&gt;
|-&lt;br /&gt;
| bitcoin.sipa.be || sipa || 178.18.90.41 || {{Table Value No}} || {{Fallback Nodes/Node Up|version=0.3.21}} || 2011-04-17 12:00:10 || No&lt;br /&gt;
|-&lt;br /&gt;
| bluematt.me || BlueMatt || 62.155.236.249 || {{Table Value No}} || {{Fallback Nodes/Node Up|version=0.3.21}} || 2011-05-03 12:29:00 || No&lt;br /&gt;
|-&lt;br /&gt;
| btc1.justmoon.net || justmoon || 109.75.176.226 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.20[.2]}} || 2011-04-17 12:00:10 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| bitcoins.ca || humble || 142.58.248.28 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.20[.2]}} || 2011-04-17 12:00:10 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| BiddingPond.com || BiddingPond || 184.106.111.41 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.20[.2]}} || 2011-04-17 12:00:10 || ?&lt;br /&gt;
|-&lt;br /&gt;
| zack.home.chrishowie.com || cdhowie || 98.222.140.181 || {{Table Value No}} || {{Fallback Nodes/Node Up|version=0.3.21}} || 2011-04-17 12:00:11 || No&lt;br /&gt;
|-&lt;br /&gt;
| 178.63.15.200 || hendi || 178.63.15.200 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.20[.1]}} || 2011-04-17 12:00:11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| theymos.ath.cx || theymos || 99.27.237.13 || {{Table Value Unknown}} || {{Fallback Nodes/Node Up|version=0.3.19[.2]}} || 2011-04-17 12:00:12 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| fallback1.bitcoin.me.uk || Vladimir || 91.85.220.84 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.19}} || 2011-04-17 12:00:12 || No&lt;br /&gt;
|-&lt;br /&gt;
| 109.75.176.193 || MagicalTux [DE] || 109.75.176.193 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.19}} || 2011-04-17 12:00:12 || No&lt;br /&gt;
|-&lt;br /&gt;
| 173.224.125.222 || MagicalTux [US] || 173.224.125.222 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.19}} || 2011-04-17 12:00:12 || No&lt;br /&gt;
|-&lt;br /&gt;
| 178.63.62.15 || MagicalTux [DE] || 178.63.62.15 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.19}} || 2011-04-17 12:00:12 || No&lt;br /&gt;
|-&lt;br /&gt;
| bitlex.org || BitLex || 78.34.69.123 || {{Table Value No}} || {{Fallback Nodes/Node Up|version=0.3.19}} || 2011-04-17 12:00:13 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| 74.82.216.10 || thufir || 74.82.216.10 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.10}} || 2011-04-17 12:00:13 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| 74.57.236.239 || ? || 74.57.236.239 || {{Table Value Yes}} || {{Fallback Nodes/Node Old|version=0.3.0}} || 2011-04-17 12:00:13 || ?&lt;br /&gt;
|-&lt;br /&gt;
| 67.176.86.181 || BobSGI || 67.176.86.181 ||&lt;br /&gt;
|-&lt;br /&gt;
| BTCSportsBet.com || Cusipzzz || 109.75.176.39 || {{Table Value Yes}}&lt;br /&gt;
&amp;lt;!-- END NODELIST --&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tor nodes ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Hostname !! Owner !! Status !! Last Seen (GMT) !! Accepts IP transactions&lt;br /&gt;
|-&lt;br /&gt;
| ijzt2eeizty3p5xe.onion || ? || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| j43z65b6r2usg3vk.onion || Dybbuk || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| pvuif6nonbhj3o3r.onion || ? || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| c5qvugpewwyyy5oz.onion || ? || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| vso3r6cmjoomhhgg.onion || echelon || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| rnam4cxam62nkcyf.onion || BitLex || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| bitcoinbudtoeks7.onion || ? || ? || 2011-02-11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| iy6ni3wkqazp4ytu.onion || ? || ? || 2011-02-11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| h4kklwodpcmo6cbq.onion || ? || ? || 2011-02-11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| vv6kcfscuntybrzm.onion || ? || ? || 2011-02-11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| nlnsivjku4x4lu5n.onion || ? || ? || 2011-02-11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| xqzfakpeuvrobvpj.onion || ? || ? || 2010-11-13 || No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Adding a node ==&lt;br /&gt;
&lt;br /&gt;
Before adding yourself as a fallback node, you should be sure your node will stay online for a long time. If a node is offline for more than 24 hours it will be removed from the list. To accept IP transactions you will have to add the &#039;&#039;-allowreceivebyip&#039;&#039; flag to your command line parameters.&lt;br /&gt;
&lt;br /&gt;
To add a node in this list, you just need the ip/hostname and your name, the other fields will be filled automatically. Insert the following lines before the &amp;lt;tt&amp;gt;END NODELIST&amp;lt;/tt&amp;gt; line:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;|-&lt;br /&gt;
| ip || your name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that a bot will connect to your node every hour to check its status and version.&lt;/div&gt;</summary>
		<author><name>Cdhowie</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Bitcoin-mining-proxy&amp;diff=8069</id>
		<title>Bitcoin-mining-proxy</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Bitcoin-mining-proxy&amp;diff=8069"/>
		<updated>2011-05-06T01:05:17Z</updated>

		<summary type="html">&lt;p&gt;Cdhowie: +license&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A multi-pool, multi-worker proxy for Bitcoin miners, supporting long polling and pool failover.&lt;br /&gt;
&lt;br /&gt;
This software allows multiple miners to be run against multiple pools with fail-over to other pools if something happens to a miner&#039;s preferred pool.  It requires a web server supporting PHP, and a MySQL database.&lt;br /&gt;
&lt;br /&gt;
The software is open source (AGPLv3) and was released on May 4, 2011&amp;lt;ref&amp;gt;[http://www.bitcoin.org/smf/index.php?topic=5506.msg106640#msg106640 Flexible mining proxy]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:Miners|Miners]]&lt;br /&gt;
* [[:Category:Pool Operators|Pool Operators]]&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
&lt;br /&gt;
* [http://github.com/cdhowie/Bitcoin-mining-proxy Bitcoin-mining-proxy] project on GitHub&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Mining]]&lt;/div&gt;</summary>
		<author><name>Cdhowie</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Bitcoin-mining-proxy&amp;diff=8068</id>
		<title>Bitcoin-mining-proxy</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Bitcoin-mining-proxy&amp;diff=8068"/>
		<updated>2011-05-06T01:02:52Z</updated>

		<summary type="html">&lt;p&gt;Cdhowie: add requirements&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A multi-pool, multi-worker proxy for Bitcoin miners, supporting long polling and pool failover.&lt;br /&gt;
&lt;br /&gt;
This software allows multiple miners to be run against multiple pools with fail-over to other pools if something happens to a miner&#039;s preferred pool.  It requires a web server supporting PHP, and a MySQL database.&lt;br /&gt;
&lt;br /&gt;
The software is open source and was released on May 4, 2011&amp;lt;ref&amp;gt;[http://www.bitcoin.org/smf/index.php?topic=5506.msg106640#msg106640 Flexible mining proxy]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:Miners|Miners]]&lt;br /&gt;
* [[:Category:Pool Operators|Pool Operators]]&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
&lt;br /&gt;
* [http://github.com/cdhowie/Bitcoin-mining-proxy Bitcoin-mining-proxy] project on GitHub&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Mining]]&lt;/div&gt;</summary>
		<author><name>Cdhowie</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Fallback_Nodes&amp;diff=6658</id>
		<title>Fallback Nodes</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Fallback_Nodes&amp;diff=6658"/>
		<updated>2011-04-03T19:04:57Z</updated>

		<summary type="html">&lt;p&gt;Cdhowie: i borked my DNS :(&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of nodes which are considered reliable. Nodes from this list which are down for more than 24 hours will be automatically removed and status of each node is displayed and updated every hour by [[User:WikiBot|WikiBot]].&lt;br /&gt;
&lt;br /&gt;
== How to use this list ==&lt;br /&gt;
&lt;br /&gt;
=== Connect to nodes ===&lt;br /&gt;
&lt;br /&gt;
You can connect to these nodes with the &#039;&#039;-addnode=ip&#039;&#039; switch instead of the usual node harvesting process (through IRC or via the embedded nodelist). You can connect to more than one node by using &#039;&#039;-addnode=ip&#039;&#039; more than once. It is usually a good idea to connect to more than one of these nodes.&lt;br /&gt;
&lt;br /&gt;
==== Nodes without a fixed ip ====&lt;br /&gt;
&lt;br /&gt;
If the node IP is not fixed (see &amp;quot;Fixed&amp;quot; column), you will have to resolve the node&#039;s name (first column) each time the IP changes. Some nodes may have their ip change once a day, some others once a month, and some others may stay on the same IP for years. Still, as long as the IP is not fixed, there is no guarantee it will stay the same.&lt;br /&gt;
&lt;br /&gt;
The [[Original Bitcoin client]] do not support hostnames to the &#039;&#039;-addnode&#039;&#039; parameter, so you must do the resolving part for it. For example on linux:&lt;br /&gt;
 bitcoind -addnode=$(host theymos.ath.cx |sed s/&amp;quot;^.*has address &amp;quot;//)&lt;br /&gt;
&lt;br /&gt;
=== IP Transactions ===&lt;br /&gt;
&lt;br /&gt;
You can also send [[IP Transactions]] to these nodes. If you include your bitcoin address in the &amp;quot;message&amp;quot; field, you may have your coins back.&lt;br /&gt;
&lt;br /&gt;
=== Tor network ===&lt;br /&gt;
&lt;br /&gt;
To use tor .onion addresses, you need to map virtual ips via the &#039;&#039;torrc&#039;&#039; file:&lt;br /&gt;
&lt;br /&gt;
 mapaddress 192.0.2.2 ijzt2eeizty3p5xe.onion&lt;br /&gt;
 mapaddress 192.0.2.3 j43z65b6r2usg3vk.onion&lt;br /&gt;
 mapaddress 192.0.2.4 pvuif6nonbhj3o3r.onion&lt;br /&gt;
&lt;br /&gt;
Once you have configured and restarted tor, 192.0.2.2 will connect to ijzt2eeizty3p5xe.onion when accessed through the Tor proxy (and likewise for the other IPs/onions). You can then run Bitcoin with -addnode=192.0.2.2, or even send bitcoins to that IP address. You can use any arbitrary IP addresses with MapAddress, though some of the common non-routable ranges (10.*, 192.168.*) will not work due to a Bitcoin bug. 192.0.2.1-192.0.2.255 is the recommended range because it is both non-routable and compatible with Bitcoin.&lt;br /&gt;
&lt;br /&gt;
== Nodes list ==&lt;br /&gt;
&lt;br /&gt;
=== IPv4 Nodes ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Hostname !! Owner !! IP !! Fixed !! Status !! Last Seen (GMT) !! Accepts IP transactions&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!-- BEGIN NODELIST --&amp;gt;&lt;br /&gt;
| 69.164.218.197 || Gavin Andresen || 69.164.218.197 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.21}} || 2011-04-03 19:00:04 || ?&lt;br /&gt;
|-&lt;br /&gt;
| jun.dashjr.org || Lightfoot Hosting || 173.242.112.53 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.21}} || 2011-04-03 19:00:04 || ?&lt;br /&gt;
|-&lt;br /&gt;
| mining.bitcoin.cz || slush || 178.79.147.99 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.21}} || 2011-04-03 19:00:04 || No&lt;br /&gt;
|-&lt;br /&gt;
| nat.router.dashjr.org || Luke-Jr || 71.1.73.218 || {{Table Value No}} || {{Fallback Nodes/Node Up|version=0.3.21}} || 2011-04-03 19:00:04 || ?&lt;br /&gt;
|-&lt;br /&gt;
| ndrix.com || mndrix || 64.22.103.150 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.20[.2]}} || 2011-04-03 19:00:05 || ?&lt;br /&gt;
|-&lt;br /&gt;
| bitcoin.chrishowie.com || cdhowie || 68.169.45.99 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.20[.2]}} || 2011-04-03 19:00:13 || No&lt;br /&gt;
|-&lt;br /&gt;
| btc1.justmoon.net || justmoon || 109.75.176.226 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.20[.2]}} || 2011-04-03 19:00:14 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| bitcoins.ca || humble || 142.58.248.28 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.20[.2]}} || 2011-04-03 19:00:14 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| 217.157.1.202 || kseistrup || 217.157.1.202 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.20[.2]}} || 2011-04-03 19:00:14 || ?&lt;br /&gt;
|-&lt;br /&gt;
| 178.63.15.200 || hendi || 178.63.15.200 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.20[.1]}} || 2011-04-03 19:00:14 || ?&lt;br /&gt;
|-&lt;br /&gt;
| bitcoin.sipa.be || sipa || 178.18.90.41 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.19[.2]}} || 2011-04-03 19:00:15 || No&lt;br /&gt;
|-&lt;br /&gt;
| theymos.ath.cx || theymos || 99.27.237.13 || {{Table Value Unknown}} || {{Fallback Nodes/Node Up|version=0.3.19[.2]}} || 2011-04-03 19:00:15 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| fallback1.bitcoin.me.uk || Vladimir || 91.85.220.84 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.19}} || 2011-04-03 19:00:15 || No&lt;br /&gt;
|-&lt;br /&gt;
| 109.75.176.193 || MagicalTux [DE] || 109.75.176.193 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.19}} || 2011-04-03 19:00:15 || No&lt;br /&gt;
|-&lt;br /&gt;
| 173.224.125.222 || MagicalTux [US] || 173.224.125.222 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.19}} || 2011-04-03 19:00:15 || No&lt;br /&gt;
|-&lt;br /&gt;
| 178.63.62.15 || MagicalTux [DE] || 178.63.62.15 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.19}} || 2011-04-03 19:00:16 || No&lt;br /&gt;
|-&lt;br /&gt;
| bitlex.co.cc || BitLex || 78.34.69.123 || {{Table Value No}} || {{Fallback Nodes/Node Up|version=0.3.19}} || 2011-04-03 19:00:16 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| 74.82.216.10 || thufir || 74.82.216.10 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.10}} || 2011-04-03 19:00:16 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| 74.57.236.239 || ? || 74.57.236.239 || {{Table Value Yes}} || {{Fallback Nodes/Node Old|version=0.3.0}} || 2011-04-03 19:00:16 || ?&lt;br /&gt;
|-&lt;br /&gt;
| 84.114.155.197 || sniffy || 84.114.155.197 || {{Table Value Yes}} || {{Fallback Nodes/Node Down}} || 2011-04-03 02:00:05 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| zack.home.chrishowie.com || cdhowie || 98.222.140.181 || {{Table Value No}} || {{Fallback Nodes/Node Up|version=0.3.20[.2]}} || 2011-04-03 19:03:00 || No&lt;br /&gt;
&amp;lt;!-- END NODELIST --&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tor nodes ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Hostname !! Owner !! Status !! Last Seen (GMT) !! Accepts IP transactions&lt;br /&gt;
|-&lt;br /&gt;
| ijzt2eeizty3p5xe.onion || ? || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| j43z65b6r2usg3vk.onion || Dybbuk || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| pvuif6nonbhj3o3r.onion || ? || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| c5qvugpewwyyy5oz.onion || ? || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| vso3r6cmjoomhhgg.onion || echelon || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| rnam4cxam62nkcyf.onion || BitLex || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| bitcoinbudtoeks7.onion || ? || ? || 2011-02-11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| iy6ni3wkqazp4ytu.onion || ? || ? || 2011-02-11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| h4kklwodpcmo6cbq.onion || ? || ? || 2011-02-11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| vv6kcfscuntybrzm.onion || ? || ? || 2011-02-11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| nlnsivjku4x4lu5n.onion || ? || ? || 2011-02-11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| xqzfakpeuvrobvpj.onion || ? || ? || 2010-11-13 || No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Adding a node ==&lt;br /&gt;
&lt;br /&gt;
Before adding yourself as a fallback node, you should be sure your node will stay online for a long time. If a node is offline for more than 24 hours it will be removed from the list. To accept IP transactions you will have to add the &#039;&#039;-allowreceivebyip&#039;&#039; flag to your command line parameters.&lt;br /&gt;
&lt;br /&gt;
To add a node in this list, you just need the ip/hostname and your name, the other fields will be filled automatically. Insert the following lines before the &amp;lt;tt&amp;gt;END NODELIST&amp;lt;/tt&amp;gt; line:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;|-&lt;br /&gt;
| ip || your name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that a bot will connect to your node every hour to check its status and version.&lt;/div&gt;</summary>
		<author><name>Cdhowie</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Network&amp;diff=5753</id>
		<title>Network</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Network&amp;diff=5753"/>
		<updated>2011-03-21T18:17:49Z</updated>

		<summary type="html">&lt;p&gt;Cdhowie: /* IRC */ moved linux alternate port info to the FAQ&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bitcoin uses a simple broadcast network to propagate transactions and blocks. All communications are done over TCP. Bitcoin is fully able to use ports other than 8333, but there is currently no option to change this. IPv6 is currently not supported.&lt;br /&gt;
&lt;br /&gt;
== Messages ==&lt;br /&gt;
* &#039;&#039;version&#039;&#039; - Information about program version and block count. Exchanged when first connecting.&lt;br /&gt;
* &#039;&#039;verack&#039;&#039; - Sent in response to a version message to acknowledge that we are willing to connect.&lt;br /&gt;
* &#039;&#039;addr&#039;&#039; - List of one or more IP addresses and ports.&lt;br /&gt;
* &#039;&#039;inv&#039;&#039; - &amp;quot;I have these blocks/transactions: ...&amp;quot; Normally sent only when a &#039;&#039;new&#039;&#039; block or transaction is being relayed. This is only a list, not the actual data.&lt;br /&gt;
* &#039;&#039;getdata&#039;&#039; - Request a single block or transaction by hash.&lt;br /&gt;
* &#039;&#039;getblocks&#039;&#039; - Request an &#039;&#039;inv&#039;&#039; of all blocks in a range.&lt;br /&gt;
* &#039;&#039;getheaders&#039;&#039; - Request a &#039;&#039;headers&#039;&#039; message containing all block headers in a range.&lt;br /&gt;
* &#039;&#039;tx&#039;&#039; - Send a transaction. This is only sent in response to a &#039;&#039;getdata&#039;&#039; request.&lt;br /&gt;
* &#039;&#039;block&#039;&#039; - Send a block. This is only sent in response to a &#039;&#039;getdata&#039;&#039; request.&lt;br /&gt;
* &#039;&#039;headers&#039;&#039; - Send up to 2,000 block headers. Non-generators can download the headers of blocks instead of entire blocks.&lt;br /&gt;
* &#039;&#039;getaddr&#039;&#039; - Request an &#039;&#039;addr&#039;&#039; message containing a bunch of known-active peers (for bootstrapping).&lt;br /&gt;
* &#039;&#039;submitorder&#039;&#039;, &#039;&#039;checkorder&#039;&#039;, and &#039;&#039;reply&#039;&#039; - Used when performing an [[IP address|IP transaction]].&lt;br /&gt;
* &#039;&#039;alert&#039;&#039; - Send a network alert.&lt;br /&gt;
* &#039;&#039;ping&#039;&#039; - Does nothing. Used to check that the connection is still online. A TCP error will occur if the connection has died.&lt;br /&gt;
&lt;br /&gt;
More information and in-depth technical information is in the [[Protocol Specification]].&lt;br /&gt;
&lt;br /&gt;
== Connection ==&lt;br /&gt;
&lt;br /&gt;
To connect to a peer, you send a &#039;&#039;version&#039;&#039; message containing your version number, block count, and current time. The remote peer will send back a &#039;&#039;verack&#039;&#039; message and his own &#039;&#039;version&#039;&#039; message if he is accepting connections from your version. You will respond with your own &#039;&#039;verack&#039;&#039; if you are accepting connections from his version.&lt;br /&gt;
&lt;br /&gt;
The time data from all of your peers is collected, and the median is used by Bitcoin for all network tasks that use the time (except for other version messages).&lt;br /&gt;
&lt;br /&gt;
You then exchange &#039;&#039;getaddr&#039;&#039; and &#039;&#039;addr&#039;&#039; messages, storing all addresses that you don&#039;t know about. Normally &#039;&#039;addr&#039;&#039; messages only contain one address, but in this initial exchange it contains many recent peers.&lt;br /&gt;
&lt;br /&gt;
== Standard relaying ==&lt;br /&gt;
&lt;br /&gt;
When someone sends a transaction, they send an &#039;&#039;inv&#039;&#039; message containing it to all of their peers. Their peers will request the full transaction with &#039;&#039;getdata&#039;&#039;. If they consider the transaction valid after receiving it, they will also broadcast the transaction to all of their peers with an &#039;&#039;inv&#039;&#039;, and so on. Peers only ask for or relay transactions if they don&#039;t already have them. A peer will never rebroadcast a transaction that it already knows about, though transactions will eventually be forgotten if they don&#039;t get into a block after a while. The sender and receiver of the transaction will rebroadcast, however.&lt;br /&gt;
&lt;br /&gt;
Anyone who is generating will collect valid received transactions and work on including them in a block. When someone does find a block, they send an &#039;&#039;inv&#039;&#039; containing it to all of their peers, as above. It works the same as transactions.&lt;br /&gt;
&lt;br /&gt;
Everyone broadcasts an &#039;&#039;addr&#039;&#039; containing their own IP address every 24 hours. Nodes relay these messages to a couple of their peers and store the address if it&#039;s new to them. Through this system, everyone has a reasonably clear picture of which IPs are connected to the network at the moment. After connecting to the network, you get added to everyone&#039;s address database almost instantly because of your initial &#039;&#039;addr&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Network alerts are broadcast with &#039;&#039;alert&#039;&#039; messages. No &#039;&#039;inv&#039;&#039;-like system is used; these contain the entire alert. If a received alert is valid (signed by Satoshi), it is relayed to all peers. For as long as an alert is still in effect, it is rebroadcast at the start of every new connection.&lt;br /&gt;
&lt;br /&gt;
== Initial block download ==&lt;br /&gt;
&lt;br /&gt;
At the start of a connection, you send a &#039;&#039;getblocks&#039;&#039; message containing the hash of the latest block you know about. If the peer doesn&#039;t think that this is the latest block, it will send an &#039;&#039;inv&#039;&#039; that contains up to 500 blocks ahead of the one you listed. You will then request all of these blocks with &#039;&#039;getdata&#039;&#039;, and the peer will send them to you with &#039;&#039;block&#039;&#039; messages. After you have downloaded and processed all of these blocks, you will send another &#039;&#039;getblocks&#039;&#039;, etc., until you have all of the blocks.&lt;br /&gt;
&lt;br /&gt;
0.3.18 introduced new &#039;&#039;headers&#039;&#039; and &#039;&#039;getheaders&#039;&#039; messages. These are not currently used, but they will be used by non-generators to download block headers without the corresponding block bodies. Only the headers are necessary for verifying received transactions -- full blocks are only needed by generators. Instead of the &#039;&#039;getblocks/inv/getdata/block&#039;&#039; sequence, non-generators will send a &#039;&#039;getheaders&#039;&#039; message (very like &#039;&#039;getblocks&#039;&#039;), and the peer will immediately respond with a &#039;&#039;headers&#039;&#039; message containing up to 2,000 of the next headers. This will make initial block download &#039;&#039;much&#039;&#039; faster.&lt;br /&gt;
&lt;br /&gt;
== Bootstrapping ==&lt;br /&gt;
&lt;br /&gt;
You choose which peers to connect to by sorting your address database by the time since you last saw the address and then adding a bit of randomization.&lt;br /&gt;
&lt;br /&gt;
Bitcoin has two methods of finding peers.&lt;br /&gt;
&lt;br /&gt;
=== IRC ===&lt;br /&gt;
&lt;br /&gt;
Bitcoin joins the #bitcoin channel on irc.lfnet.org. Your nick is set to an encoded form of your IP address. By decoding all the nicks of all users on the channel, you get a list of all IP addresses currently connected to Bitcoin.&lt;br /&gt;
&lt;br /&gt;
For hosts that cannot make outbound connections on port 6667, the lfnet servers are also [[FAQ#Do_I_need_to_configure_my_firewall_to_run_bitcoin?|listening on port 7777]].&lt;br /&gt;
&lt;br /&gt;
=== Addr ===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;addr&#039;&#039; messages described above create an effect similar to the IRC bootstrapping method. You know reasonably quickly whenever a peer joins, though you won&#039;t know for a while when they leave.&lt;br /&gt;
&lt;br /&gt;
Bitcoin comes with an address database already populated by a few addresses. If you are unable to connect to IRC and you&#039;ve never connected to the network before, you will get an updated address database by connecting to one of these &amp;quot;seednodes&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Heartbeat ==&lt;br /&gt;
&lt;br /&gt;
If thirty minutes or more has passed since the client has transmitted any messages it will transmit a message to keep the connection to the peer node alive.&lt;br /&gt;
&lt;br /&gt;
If ninety minutes has passed since a peer node has communicated any messages, then the client will assume that connection has closed.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Protocol Specification]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Technical]]&lt;/div&gt;</summary>
		<author><name>Cdhowie</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Help:FAQ&amp;diff=5752</id>
		<title>Help:FAQ</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Help:FAQ&amp;diff=5752"/>
		<updated>2011-03-21T18:16:49Z</updated>

		<summary type="html">&lt;p&gt;Cdhowie: /* Do I need to configure my firewall to run bitcoin? */ +alternate port&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you will find answers to the most commonly asked questions.&lt;br /&gt;
&lt;br /&gt;
== General ==&lt;br /&gt;
=== What are bitcoins? ===&lt;br /&gt;
Bitcoins are the unit of currency of the Bitcoin system. A commonly used shorthand for this is “BTC” to refer to a price or amount (eg: “100 BTC”)&lt;br /&gt;
A Bitcoin isn&#039;t actually a &#039;thing&#039; you can point at. It is just a number associated with a [[Address|Bitcoin Address]]. See also an [[Introduction|easy intro]] to bitcoin.&lt;br /&gt;
&lt;br /&gt;
=== How are new Bitcoins created? ===&lt;br /&gt;
&lt;br /&gt;
[[File:total_bitcoins_over_time_graph.png|thumb|Number of bitcoins over time, assuming a perfect 10-minute interval.]]&lt;br /&gt;
New coins are generated by a network node each time it finds the solution to a certain mathematical problem (i.e. creates a new [[block]]), which is difficult to perform and can demonstrate a [[proof of work]].  The reward for solving a block is [[controlled inflation|automatically adjusted]] so that in the first 4 years of the Bitcoin network, 10,500,000 BTC will be created. The amount is halved each 4 years, so it will be 5,250,000 over years 4-8, 2,625,000 over years 8-12 and so on. Thus the total number of coins will approach 21,000,000 BTC over time.&lt;br /&gt;
&lt;br /&gt;
In addition, built into the network is a system that attempts to allocate new coins in blocks about every 10 minutes, on average, somewhere on the network.  As the number of people who attempt to generate these new coins changes, the difficulty of creating new coins changes.  This happens in a manner that is agreed upon by the network as a whole, based upon the time taken to generate the previous 2016 blocks.  The difficulty is therefore related to the average computing resources devoted to generate these new coins over the time it took to create these previous blocks.  The likelihood of somebody &amp;quot;discovering&amp;quot; one of these blocks is based on the computer they are using compared to all of the computers also generating blocks on the network.&lt;br /&gt;
&lt;br /&gt;
=== What&#039;s the current total amount of Bitcoins in existence?  ===&lt;br /&gt;
&lt;br /&gt;
[http://blockexplorer.com/q/totalbc Current count]&lt;br /&gt;
&lt;br /&gt;
The number of blocks times the coin value of a block is the number of coins in existence. The coin value of a block is 50 BTC for each of the first 210,000 blocks, 25 BTC for the next 210,000 blocks, then 12.5 BTC, 6.25 BTC and so on.&lt;br /&gt;
&lt;br /&gt;
=== How divisible are Bitcoins?  ===&lt;br /&gt;
&lt;br /&gt;
Technically, a Bitcoin can be divided down to 8 decimals using existing data structures, so 0.00000001 BTC is the smallest amount currently possible.  Discussions about and ideas for ways to provide for even smaller quantities of Bitcoins may be created in the future if the need for them ever arises. For convenience, the program currently accepts only 2 decimal places as quantities smaller than 0.01 BTC are considered of trivial value and are usually used only to attack the network.&lt;br /&gt;
&lt;br /&gt;
=== How does the halving work when the number gets really small? ===&lt;br /&gt;
&lt;br /&gt;
The reward will go from 0.00000001 BTC to 0. Then no more coins will likely be created.  &lt;br /&gt;
&lt;br /&gt;
The calculation is done as a right bitwise shift of a 64-bit signed integer. The integer is equal to the value in BTC * 100,000,000. This is how all Bitcoin balances/values are stored internally.&lt;br /&gt;
&lt;br /&gt;
Keep in mind that using current rules this will take nearly 100 years before it becomes an issue and Bitcoins may change considerably before that happens.&lt;br /&gt;
&lt;br /&gt;
=== How long will it take to generate all the coins? ===&lt;br /&gt;
Z&lt;br /&gt;
The last block that will generate coins will be block #6,929,999. This should be generated around year 2140. Then the total number of coins in circulation will remain static at 20,999,999.9769 BTC.&lt;br /&gt;
&lt;br /&gt;
Even if the allowed precision is expanded from the current 8 decimals, the total BTC in circulation will always be slightly below 21 million (assuming everything else stays the same). For example, with 16 decimals of precision, the end total would be 20999999.999999999496 BTC.&lt;br /&gt;
&lt;br /&gt;
=== If no more coins are going to be generated, will more blocks be created? ===&lt;br /&gt;
&lt;br /&gt;
Absolutely!  Even before the creation of coins ends, the use of [[transaction fee|transaction fees]] will likely make creating new blocks more valuable from the fees than the new coins being created.  When coin generation ends, what will sustain the ability to use bitcoins will be these fees entirely.  There will be blocks generated after block #6,929,999, assuming that people are still using Bitcoins at that time.&lt;br /&gt;
&lt;br /&gt;
==Networking==&lt;br /&gt;
=== Do I need to configure my firewall to run bitcoin? ===&lt;br /&gt;
&lt;br /&gt;
Bitcoin will connect to other nodes, usually on tcp port 8333. You will need to allow outgoing TCP connections to port 8333 if you want to allow your bitcoin client to connect to many nodes. Bitcoin will also try to connect to IRC (tcp port 6667) to meet other nodes to connect to.&lt;br /&gt;
&lt;br /&gt;
If you want to restrict your firewall rules to a few ips and/or don&#039;t want to allow IRC connection, you can find stable nodes in the [[Fallback Nodes|fallback nodes list]].  If your provider blocks the common IRC ports, note that lfnet also listens on port 7777.  Connecting to this alternate port currently requires either recompiling Bitcoin, or changing routing rules.  For example, on Linux you can evade a port 6667 block by doing something like this:&lt;br /&gt;
&lt;br /&gt;
 echo 173.246.103.92 irc.lfnet.org &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
 iptables -t nat -A OUTPUT -p tcp --dest 173.246.103.92 --dport 6667 -j DNAT --to-destination :7777 -m comment --comment &amp;quot;bitcoind irc connection&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Help==&lt;br /&gt;
===I&#039;d like to learn more.  Where can I get help?===&lt;br /&gt;
&lt;br /&gt;
* Read the [[Introduction|introduction to bitcoin]] &lt;br /&gt;
* See the videos, podcasts, and blog posts from the [[Press]]&lt;br /&gt;
* Read and post on the [[Bitcoin:Community_portal#Bitcoin_Community_Forums|forums]]&lt;br /&gt;
* Chat on one of the [[Bitcoin:Community_portal#IRC_Chat|Bitcoin IRC]] channels&lt;br /&gt;
* Listen to [http://omegataupodcast.net/2011/03/59-bitcoin-a-digital-decentralized-currency/ this podcast], which goes into the details of how bitcoin works&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[Man page]]&lt;br /&gt;
&lt;br /&gt;
[[zh-cn:FAQ]]&lt;br /&gt;
[[fr:FAQ]]&lt;br /&gt;
{{fromold|bitcoins}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Technical]]&lt;br /&gt;
[[Category:Vocabulary]]&lt;/div&gt;</summary>
		<author><name>Cdhowie</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Network&amp;diff=5751</id>
		<title>Network</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Network&amp;diff=5751"/>
		<updated>2011-03-21T18:13:11Z</updated>

		<summary type="html">&lt;p&gt;Cdhowie: /* IRC */ add linux recipe for using alternate port&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bitcoin uses a simple broadcast network to propagate transactions and blocks. All communications are done over TCP. Bitcoin is fully able to use ports other than 8333, but there is currently no option to change this. IPv6 is currently not supported.&lt;br /&gt;
&lt;br /&gt;
== Messages ==&lt;br /&gt;
* &#039;&#039;version&#039;&#039; - Information about program version and block count. Exchanged when first connecting.&lt;br /&gt;
* &#039;&#039;verack&#039;&#039; - Sent in response to a version message to acknowledge that we are willing to connect.&lt;br /&gt;
* &#039;&#039;addr&#039;&#039; - List of one or more IP addresses and ports.&lt;br /&gt;
* &#039;&#039;inv&#039;&#039; - &amp;quot;I have these blocks/transactions: ...&amp;quot; Normally sent only when a &#039;&#039;new&#039;&#039; block or transaction is being relayed. This is only a list, not the actual data.&lt;br /&gt;
* &#039;&#039;getdata&#039;&#039; - Request a single block or transaction by hash.&lt;br /&gt;
* &#039;&#039;getblocks&#039;&#039; - Request an &#039;&#039;inv&#039;&#039; of all blocks in a range.&lt;br /&gt;
* &#039;&#039;getheaders&#039;&#039; - Request a &#039;&#039;headers&#039;&#039; message containing all block headers in a range.&lt;br /&gt;
* &#039;&#039;tx&#039;&#039; - Send a transaction. This is only sent in response to a &#039;&#039;getdata&#039;&#039; request.&lt;br /&gt;
* &#039;&#039;block&#039;&#039; - Send a block. This is only sent in response to a &#039;&#039;getdata&#039;&#039; request.&lt;br /&gt;
* &#039;&#039;headers&#039;&#039; - Send up to 2,000 block headers. Non-generators can download the headers of blocks instead of entire blocks.&lt;br /&gt;
* &#039;&#039;getaddr&#039;&#039; - Request an &#039;&#039;addr&#039;&#039; message containing a bunch of known-active peers (for bootstrapping).&lt;br /&gt;
* &#039;&#039;submitorder&#039;&#039;, &#039;&#039;checkorder&#039;&#039;, and &#039;&#039;reply&#039;&#039; - Used when performing an [[IP address|IP transaction]].&lt;br /&gt;
* &#039;&#039;alert&#039;&#039; - Send a network alert.&lt;br /&gt;
* &#039;&#039;ping&#039;&#039; - Does nothing. Used to check that the connection is still online. A TCP error will occur if the connection has died.&lt;br /&gt;
&lt;br /&gt;
More information and in-depth technical information is in the [[Protocol Specification]].&lt;br /&gt;
&lt;br /&gt;
== Connection ==&lt;br /&gt;
&lt;br /&gt;
To connect to a peer, you send a &#039;&#039;version&#039;&#039; message containing your version number, block count, and current time. The remote peer will send back a &#039;&#039;verack&#039;&#039; message and his own &#039;&#039;version&#039;&#039; message if he is accepting connections from your version. You will respond with your own &#039;&#039;verack&#039;&#039; if you are accepting connections from his version.&lt;br /&gt;
&lt;br /&gt;
The time data from all of your peers is collected, and the median is used by Bitcoin for all network tasks that use the time (except for other version messages).&lt;br /&gt;
&lt;br /&gt;
You then exchange &#039;&#039;getaddr&#039;&#039; and &#039;&#039;addr&#039;&#039; messages, storing all addresses that you don&#039;t know about. Normally &#039;&#039;addr&#039;&#039; messages only contain one address, but in this initial exchange it contains many recent peers.&lt;br /&gt;
&lt;br /&gt;
== Standard relaying ==&lt;br /&gt;
&lt;br /&gt;
When someone sends a transaction, they send an &#039;&#039;inv&#039;&#039; message containing it to all of their peers. Their peers will request the full transaction with &#039;&#039;getdata&#039;&#039;. If they consider the transaction valid after receiving it, they will also broadcast the transaction to all of their peers with an &#039;&#039;inv&#039;&#039;, and so on. Peers only ask for or relay transactions if they don&#039;t already have them. A peer will never rebroadcast a transaction that it already knows about, though transactions will eventually be forgotten if they don&#039;t get into a block after a while. The sender and receiver of the transaction will rebroadcast, however.&lt;br /&gt;
&lt;br /&gt;
Anyone who is generating will collect valid received transactions and work on including them in a block. When someone does find a block, they send an &#039;&#039;inv&#039;&#039; containing it to all of their peers, as above. It works the same as transactions.&lt;br /&gt;
&lt;br /&gt;
Everyone broadcasts an &#039;&#039;addr&#039;&#039; containing their own IP address every 24 hours. Nodes relay these messages to a couple of their peers and store the address if it&#039;s new to them. Through this system, everyone has a reasonably clear picture of which IPs are connected to the network at the moment. After connecting to the network, you get added to everyone&#039;s address database almost instantly because of your initial &#039;&#039;addr&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Network alerts are broadcast with &#039;&#039;alert&#039;&#039; messages. No &#039;&#039;inv&#039;&#039;-like system is used; these contain the entire alert. If a received alert is valid (signed by Satoshi), it is relayed to all peers. For as long as an alert is still in effect, it is rebroadcast at the start of every new connection.&lt;br /&gt;
&lt;br /&gt;
== Initial block download ==&lt;br /&gt;
&lt;br /&gt;
At the start of a connection, you send a &#039;&#039;getblocks&#039;&#039; message containing the hash of the latest block you know about. If the peer doesn&#039;t think that this is the latest block, it will send an &#039;&#039;inv&#039;&#039; that contains up to 500 blocks ahead of the one you listed. You will then request all of these blocks with &#039;&#039;getdata&#039;&#039;, and the peer will send them to you with &#039;&#039;block&#039;&#039; messages. After you have downloaded and processed all of these blocks, you will send another &#039;&#039;getblocks&#039;&#039;, etc., until you have all of the blocks.&lt;br /&gt;
&lt;br /&gt;
0.3.18 introduced new &#039;&#039;headers&#039;&#039; and &#039;&#039;getheaders&#039;&#039; messages. These are not currently used, but they will be used by non-generators to download block headers without the corresponding block bodies. Only the headers are necessary for verifying received transactions -- full blocks are only needed by generators. Instead of the &#039;&#039;getblocks/inv/getdata/block&#039;&#039; sequence, non-generators will send a &#039;&#039;getheaders&#039;&#039; message (very like &#039;&#039;getblocks&#039;&#039;), and the peer will immediately respond with a &#039;&#039;headers&#039;&#039; message containing up to 2,000 of the next headers. This will make initial block download &#039;&#039;much&#039;&#039; faster.&lt;br /&gt;
&lt;br /&gt;
== Bootstrapping ==&lt;br /&gt;
&lt;br /&gt;
You choose which peers to connect to by sorting your address database by the time since you last saw the address and then adding a bit of randomization.&lt;br /&gt;
&lt;br /&gt;
Bitcoin has two methods of finding peers.&lt;br /&gt;
&lt;br /&gt;
=== IRC ===&lt;br /&gt;
&lt;br /&gt;
Bitcoin joins the #bitcoin channel on irc.lfnet.org. Your nick is set to an encoded form of your IP address. By decoding all the nicks of all users on the channel, you get a list of all IP addresses currently connected to Bitcoin.&lt;br /&gt;
&lt;br /&gt;
For hosts that cannot make outbound connections on port 6667, the lfnet servers are also listening on port 7777.  A recipe for making bitcoind on Linux use this port without recompiling would be something like this:&lt;br /&gt;
&lt;br /&gt;
 echo 173.246.103.92 irc.lfnet.org &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
 iptables -t nat -A OUTPUT -p tcp --dest 173.246.103.92 --dport 6667 -j DNAT --to-destination :7777 -m comment --comment &amp;quot;bitcoind irc connection&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Addr ===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;addr&#039;&#039; messages described above create an effect similar to the IRC bootstrapping method. You know reasonably quickly whenever a peer joins, though you won&#039;t know for a while when they leave.&lt;br /&gt;
&lt;br /&gt;
Bitcoin comes with an address database already populated by a few addresses. If you are unable to connect to IRC and you&#039;ve never connected to the network before, you will get an updated address database by connecting to one of these &amp;quot;seednodes&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Heartbeat ==&lt;br /&gt;
&lt;br /&gt;
If thirty minutes or more has passed since the client has transmitted any messages it will transmit a message to keep the connection to the peer node alive.&lt;br /&gt;
&lt;br /&gt;
If ninety minutes has passed since a peer node has communicated any messages, then the client will assume that connection has closed.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Protocol Specification]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Technical]]&lt;/div&gt;</summary>
		<author><name>Cdhowie</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Network&amp;diff=5747</id>
		<title>Network</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Network&amp;diff=5747"/>
		<updated>2011-03-21T18:10:31Z</updated>

		<summary type="html">&lt;p&gt;Cdhowie: /* IRC */ add alternate port&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bitcoin uses a simple broadcast network to propagate transactions and blocks. All communications are done over TCP. Bitcoin is fully able to use ports other than 8333, but there is currently no option to change this. IPv6 is currently not supported.&lt;br /&gt;
&lt;br /&gt;
== Messages ==&lt;br /&gt;
* &#039;&#039;version&#039;&#039; - Information about program version and block count. Exchanged when first connecting.&lt;br /&gt;
* &#039;&#039;verack&#039;&#039; - Sent in response to a version message to acknowledge that we are willing to connect.&lt;br /&gt;
* &#039;&#039;addr&#039;&#039; - List of one or more IP addresses and ports.&lt;br /&gt;
* &#039;&#039;inv&#039;&#039; - &amp;quot;I have these blocks/transactions: ...&amp;quot; Normally sent only when a &#039;&#039;new&#039;&#039; block or transaction is being relayed. This is only a list, not the actual data.&lt;br /&gt;
* &#039;&#039;getdata&#039;&#039; - Request a single block or transaction by hash.&lt;br /&gt;
* &#039;&#039;getblocks&#039;&#039; - Request an &#039;&#039;inv&#039;&#039; of all blocks in a range.&lt;br /&gt;
* &#039;&#039;getheaders&#039;&#039; - Request a &#039;&#039;headers&#039;&#039; message containing all block headers in a range.&lt;br /&gt;
* &#039;&#039;tx&#039;&#039; - Send a transaction. This is only sent in response to a &#039;&#039;getdata&#039;&#039; request.&lt;br /&gt;
* &#039;&#039;block&#039;&#039; - Send a block. This is only sent in response to a &#039;&#039;getdata&#039;&#039; request.&lt;br /&gt;
* &#039;&#039;headers&#039;&#039; - Send up to 2,000 block headers. Non-generators can download the headers of blocks instead of entire blocks.&lt;br /&gt;
* &#039;&#039;getaddr&#039;&#039; - Request an &#039;&#039;addr&#039;&#039; message containing a bunch of known-active peers (for bootstrapping).&lt;br /&gt;
* &#039;&#039;submitorder&#039;&#039;, &#039;&#039;checkorder&#039;&#039;, and &#039;&#039;reply&#039;&#039; - Used when performing an [[IP address|IP transaction]].&lt;br /&gt;
* &#039;&#039;alert&#039;&#039; - Send a network alert.&lt;br /&gt;
* &#039;&#039;ping&#039;&#039; - Does nothing. Used to check that the connection is still online. A TCP error will occur if the connection has died.&lt;br /&gt;
&lt;br /&gt;
More information and in-depth technical information is in the [[Protocol Specification]].&lt;br /&gt;
&lt;br /&gt;
== Connection ==&lt;br /&gt;
&lt;br /&gt;
To connect to a peer, you send a &#039;&#039;version&#039;&#039; message containing your version number, block count, and current time. The remote peer will send back a &#039;&#039;verack&#039;&#039; message and his own &#039;&#039;version&#039;&#039; message if he is accepting connections from your version. You will respond with your own &#039;&#039;verack&#039;&#039; if you are accepting connections from his version.&lt;br /&gt;
&lt;br /&gt;
The time data from all of your peers is collected, and the median is used by Bitcoin for all network tasks that use the time (except for other version messages).&lt;br /&gt;
&lt;br /&gt;
You then exchange &#039;&#039;getaddr&#039;&#039; and &#039;&#039;addr&#039;&#039; messages, storing all addresses that you don&#039;t know about. Normally &#039;&#039;addr&#039;&#039; messages only contain one address, but in this initial exchange it contains many recent peers.&lt;br /&gt;
&lt;br /&gt;
== Standard relaying ==&lt;br /&gt;
&lt;br /&gt;
When someone sends a transaction, they send an &#039;&#039;inv&#039;&#039; message containing it to all of their peers. Their peers will request the full transaction with &#039;&#039;getdata&#039;&#039;. If they consider the transaction valid after receiving it, they will also broadcast the transaction to all of their peers with an &#039;&#039;inv&#039;&#039;, and so on. Peers only ask for or relay transactions if they don&#039;t already have them. A peer will never rebroadcast a transaction that it already knows about, though transactions will eventually be forgotten if they don&#039;t get into a block after a while. The sender and receiver of the transaction will rebroadcast, however.&lt;br /&gt;
&lt;br /&gt;
Anyone who is generating will collect valid received transactions and work on including them in a block. When someone does find a block, they send an &#039;&#039;inv&#039;&#039; containing it to all of their peers, as above. It works the same as transactions.&lt;br /&gt;
&lt;br /&gt;
Everyone broadcasts an &#039;&#039;addr&#039;&#039; containing their own IP address every 24 hours. Nodes relay these messages to a couple of their peers and store the address if it&#039;s new to them. Through this system, everyone has a reasonably clear picture of which IPs are connected to the network at the moment. After connecting to the network, you get added to everyone&#039;s address database almost instantly because of your initial &#039;&#039;addr&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Network alerts are broadcast with &#039;&#039;alert&#039;&#039; messages. No &#039;&#039;inv&#039;&#039;-like system is used; these contain the entire alert. If a received alert is valid (signed by Satoshi), it is relayed to all peers. For as long as an alert is still in effect, it is rebroadcast at the start of every new connection.&lt;br /&gt;
&lt;br /&gt;
== Initial block download ==&lt;br /&gt;
&lt;br /&gt;
At the start of a connection, you send a &#039;&#039;getblocks&#039;&#039; message containing the hash of the latest block you know about. If the peer doesn&#039;t think that this is the latest block, it will send an &#039;&#039;inv&#039;&#039; that contains up to 500 blocks ahead of the one you listed. You will then request all of these blocks with &#039;&#039;getdata&#039;&#039;, and the peer will send them to you with &#039;&#039;block&#039;&#039; messages. After you have downloaded and processed all of these blocks, you will send another &#039;&#039;getblocks&#039;&#039;, etc., until you have all of the blocks.&lt;br /&gt;
&lt;br /&gt;
0.3.18 introduced new &#039;&#039;headers&#039;&#039; and &#039;&#039;getheaders&#039;&#039; messages. These are not currently used, but they will be used by non-generators to download block headers without the corresponding block bodies. Only the headers are necessary for verifying received transactions -- full blocks are only needed by generators. Instead of the &#039;&#039;getblocks/inv/getdata/block&#039;&#039; sequence, non-generators will send a &#039;&#039;getheaders&#039;&#039; message (very like &#039;&#039;getblocks&#039;&#039;), and the peer will immediately respond with a &#039;&#039;headers&#039;&#039; message containing up to 2,000 of the next headers. This will make initial block download &#039;&#039;much&#039;&#039; faster.&lt;br /&gt;
&lt;br /&gt;
== Bootstrapping ==&lt;br /&gt;
&lt;br /&gt;
You choose which peers to connect to by sorting your address database by the time since you last saw the address and then adding a bit of randomization.&lt;br /&gt;
&lt;br /&gt;
Bitcoin has two methods of finding peers.&lt;br /&gt;
&lt;br /&gt;
=== IRC ===&lt;br /&gt;
&lt;br /&gt;
Bitcoin joins the #bitcoin channel on irc.lfnet.org. Your nick is set to an encoded form of your IP address. By decoding all the nicks of all users on the channel, you get a list of all IP addresses currently connected to Bitcoin.&lt;br /&gt;
&lt;br /&gt;
(For hosts that cannot make outbound connections on port 6667, the lfnet servers are also listening on port 7777.)&lt;br /&gt;
&lt;br /&gt;
=== Addr ===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;addr&#039;&#039; messages described above create an effect similar to the IRC bootstrapping method. You know reasonably quickly whenever a peer joins, though you won&#039;t know for a while when they leave.&lt;br /&gt;
&lt;br /&gt;
Bitcoin comes with an address database already populated by a few addresses. If you are unable to connect to IRC and you&#039;ve never connected to the network before, you will get an updated address database by connecting to one of these &amp;quot;seednodes&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Heartbeat ==&lt;br /&gt;
&lt;br /&gt;
If thirty minutes or more has passed since the client has transmitted any messages it will transmit a message to keep the connection to the peer node alive.&lt;br /&gt;
&lt;br /&gt;
If ninety minutes has passed since a peer node has communicated any messages, then the client will assume that connection has closed.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Protocol Specification]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Technical]]&lt;/div&gt;</summary>
		<author><name>Cdhowie</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Fallback_Nodes&amp;diff=5697</id>
		<title>Fallback Nodes</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Fallback_Nodes&amp;diff=5697"/>
		<updated>2011-03-21T02:55:34Z</updated>

		<summary type="html">&lt;p&gt;Cdhowie: /* IPv4 Nodes */ add one more of my permanent nodes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of nodes which are considered reliable. Nodes from this list which are down for more than 24 hours will be automatically removed and status of each node is displayed and updated every hour by [[User:WikiBot|WikiBot]].&lt;br /&gt;
&lt;br /&gt;
== How to use this list ==&lt;br /&gt;
&lt;br /&gt;
=== Connect to nodes ===&lt;br /&gt;
&lt;br /&gt;
You can connect to these nodes with the &#039;&#039;-addnode=ip&#039;&#039; switch instead of the usual node harvesting process (through IRC or via the embedded nodelist). You can connect to more than one node by using &#039;&#039;-addnode=ip&#039;&#039; more than once. It is usually a good idea to connect to more than one of these nodes.&lt;br /&gt;
&lt;br /&gt;
==== Nodes without a fixed ip ====&lt;br /&gt;
&lt;br /&gt;
If the node IP is not fixed (see &amp;quot;Fixed&amp;quot; column), you will have to resolve the node&#039;s name (first column) each time the IP changes. Some nodes may have their ip change once a day, some others once a month, and some others may stay on the same IP for years. Still, as long as the IP is not fixed, there is no guarantee it will stay the same.&lt;br /&gt;
&lt;br /&gt;
The [[Original Bitcoin client]] do not support hostnames to the &#039;&#039;-addnode&#039;&#039; parameter, so you must do the resolving part for it. For example on linux:&lt;br /&gt;
 bitcoind -addnode=$(host theymos.ath.cx |sed s/&amp;quot;^.*has address &amp;quot;//)&lt;br /&gt;
&lt;br /&gt;
=== IP Transactions ===&lt;br /&gt;
&lt;br /&gt;
You can also send [[IP Transactions]] to these nodes. If you include your bitcoin address in the &amp;quot;message&amp;quot; field, you may have your coins back.&lt;br /&gt;
&lt;br /&gt;
=== Tor network ===&lt;br /&gt;
&lt;br /&gt;
To use tor .onion addresses, you need to map virtual ips via the &#039;&#039;torrc&#039;&#039; file:&lt;br /&gt;
&lt;br /&gt;
 mapaddress 192.0.2.2 ijzt2eeizty3p5xe.onion&lt;br /&gt;
 mapaddress 192.0.2.3 j43z65b6r2usg3vk.onion&lt;br /&gt;
 mapaddress 192.0.2.4 pvuif6nonbhj3o3r.onion&lt;br /&gt;
&lt;br /&gt;
Once you have configured and restarted tor, 192.0.2.2 will connect to ijzt2eeizty3p5xe.onion when accessed through the Tor proxy (and likewise for the other IPs/onions). You can then run Bitcoin with -addnode=192.0.2.2, or even send bitcoins to that IP address. You can use any arbitrary IP addresses with MapAddress, though some of the common non-routable ranges (10.*, 192.168.*) will not work due to a Bitcoin bug. 192.0.2.1-192.0.2.255 is the recommended range because it is both non-routable and compatible with Bitcoin.&lt;br /&gt;
&lt;br /&gt;
== Nodes list ==&lt;br /&gt;
&lt;br /&gt;
=== IPv4 Nodes ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Hostname !! Owner !! IP !! Fixed !! Status !! Last Seen (GMT) !! Accepts IP transactions&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!-- BEGIN NODELIST --&amp;gt;&lt;br /&gt;
| 69.164.218.197 || Gavin Andresen || 69.164.218.197 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.21}} || 2011-03-21 02:00:06 || ?&lt;br /&gt;
|-&lt;br /&gt;
| jun.dashjr.org || Lightfoot Hosting || 173.242.112.53 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.21}} || 2011-03-21 02:00:07 || ?&lt;br /&gt;
|-&lt;br /&gt;
| nat.router.dashjr.org || Luke-Jr || 71.1.73.218 || {{Table Value No}} || {{Fallback Nodes/Node Up|version=0.3.21}} || 2011-03-21 02:00:10 || ?&lt;br /&gt;
|-&lt;br /&gt;
| ndrix.com || mndrix || 64.22.103.150 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.20[.2]}} || 2011-03-21 02:00:10 || ?&lt;br /&gt;
|-&lt;br /&gt;
| btc1.justmoon.net || justmoon || 109.75.176.226 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.20[.2]}} || 2011-03-21 02:00:10 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| bitcoins.ca || humble || 142.58.248.28 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.20[.2]}} || 2011-03-21 02:00:11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| 217.157.1.202 || kseistrup || 217.157.1.202 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.20[.2]}} || 2011-03-21 02:00:11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| lfmcal.dontexist.org || lfm || 75.158.131.108 || {{Table Value Unknown}} || {{Fallback Nodes/Node Up|version=0.3.20[.2]}} || 2011-03-21 02:00:11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| bitcoin.samara-lab.ru || m0Ray || 95.128.160.162 || {{Table Value Unknown}} || {{Fallback Nodes/Node Up|version=0.3.20[.2]}} || 2011-03-21 02:00:12 || ?&lt;br /&gt;
|-&lt;br /&gt;
| bitcoin-otc.com || nanotube || 69.163.132.101 || {{Table Value No}} || {{Fallback Nodes/Node Up|version=0.3.20[.2]}} || 2011-03-21 02:00:12 || No&lt;br /&gt;
|-&lt;br /&gt;
| bitcoin.chrishowie.com || cdhowie || 68.169.45.99 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.20[.2]}} || 2011-03-21 02:55:00 || No&lt;br /&gt;
|-&lt;br /&gt;
| zack.home.chrishowie.com || cdhowie || 98.222.140.181 || {{Table Value No}} || {{Fallback Nodes/Node Up|version=0.3.20[.2]}} || 2011-03-21 02:00:12 || No&lt;br /&gt;
|-&lt;br /&gt;
| 178.63.15.200 || hendi || 178.63.15.200 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.20[.1]}} || 2011-03-21 02:00:20 || ?&lt;br /&gt;
|-&lt;br /&gt;
| mining.bitcoin.cz || slush || 178.79.147.99 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.20}} || 2011-03-21 02:00:12 || No&lt;br /&gt;
|-&lt;br /&gt;
| bitcoin.sipa.be || sipa || 178.18.90.41 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.19[.2]}} || 2011-03-21 02:00:12 || No&lt;br /&gt;
|-&lt;br /&gt;
| theymos.ath.cx || theymos || 99.27.237.13 || {{Table Value Unknown}} || {{Fallback Nodes/Node Up|version=0.3.19[.2]}} || 2011-03-21 02:00:12 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| fallback1.bitcoin.me.uk || Vladimir || 91.85.220.84 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.19}} || 2011-03-21 02:00:13 || No&lt;br /&gt;
|-&lt;br /&gt;
| 109.75.176.193 || MagicalTux [DE] || 109.75.176.193 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.19}} || 2011-03-21 02:00:13 || No&lt;br /&gt;
|-&lt;br /&gt;
| 174.120.185.74 || MagicalTux [US] || 174.120.185.74 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.19}} || 2011-03-21 02:00:13 || No&lt;br /&gt;
|-&lt;br /&gt;
| 178.63.62.15 || MagicalTux [DE] || 178.63.62.15 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.19}} || 2011-03-21 02:00:13 || No&lt;br /&gt;
|-&lt;br /&gt;
| bitlex.co.cc || BitLex || 78.34.69.123 || {{Table Value No}} || {{Fallback Nodes/Node Up|version=0.3.19}} || 2011-03-21 02:00:14 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| 74.82.216.10 || thufir || 74.82.216.10 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.10}} || 2011-03-21 02:00:15 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| 74.57.236.239 || ? || 74.57.236.239 || {{Table Value Yes}} || {{Fallback Nodes/Node Old|version=0.3.0}} || 2011-03-21 02:00:15 || ?&lt;br /&gt;
|-&lt;br /&gt;
| 84.114.155.197 || sniffy || 84.114.155.197 || {{Table Value Yes}} || {{Fallback Nodes/Node Down}} || 2011-03-20 23:00:08 || Yes&lt;br /&gt;
&amp;lt;!-- END NODELIST --&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tor nodes ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Hostname !! Owner !! Status !! Last Seen (GMT) !! Accepts IP transactions&lt;br /&gt;
|-&lt;br /&gt;
| ijzt2eeizty3p5xe.onion || ? || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| j43z65b6r2usg3vk.onion || Dybbuk || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| pvuif6nonbhj3o3r.onion || ? || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| c5qvugpewwyyy5oz.onion || ? || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| vso3r6cmjoomhhgg.onion || echelon || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| rnam4cxam62nkcyf.onion || BitLex || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| bitcoinbudtoeks7.onion || ? || ? || 2011-02-11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| iy6ni3wkqazp4ytu.onion || ? || ? || 2011-02-11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| h4kklwodpcmo6cbq.onion || ? || ? || 2011-02-11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| vv6kcfscuntybrzm.onion || ? || ? || 2011-02-11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| nlnsivjku4x4lu5n.onion || ? || ? || 2011-02-11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| xqzfakpeuvrobvpj.onion || ? || ? || 2010-11-13 || No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Adding a node ==&lt;br /&gt;
&lt;br /&gt;
Before adding yourself as a fallback node, you should be sure your node will stay online for a long time. If a node is offline for more than 24 hours it will be removed from the list. To accept IP transactions you will have to add the &#039;&#039;-allowreceivebyip&#039;&#039; flag to your command line parameters.&lt;br /&gt;
&lt;br /&gt;
To add a node in this list, you just need the ip/hostname and your name, the other fields will be filled automatically. Insert the following lines before the &amp;lt;tt&amp;gt;END NODELIST&amp;lt;/tt&amp;gt; line:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;|-&lt;br /&gt;
| ip || your name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that a bot will connect to your node every hour to check its status and version.&lt;/div&gt;</summary>
		<author><name>Cdhowie</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Fallback_Nodes&amp;diff=5694</id>
		<title>Fallback Nodes</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Fallback_Nodes&amp;diff=5694"/>
		<updated>2011-03-21T00:49:08Z</updated>

		<summary type="html">&lt;p&gt;Cdhowie: hmm, i broke the bot?  let&amp;#039;s try this...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of nodes which are considered reliable. Nodes from this list which are down for more than 24 hours will be automatically removed and status of each node is displayed and updated every hour by [[User:WikiBot|WikiBot]].&lt;br /&gt;
&lt;br /&gt;
== How to use this list ==&lt;br /&gt;
&lt;br /&gt;
=== Connect to nodes ===&lt;br /&gt;
&lt;br /&gt;
You can connect to these nodes with the &#039;&#039;-addnode=ip&#039;&#039; switch instead of the usual node harvesting process (through IRC or via the embedded nodelist). You can connect to more than one node by using &#039;&#039;-addnode=ip&#039;&#039; more than once. It is usually a good idea to connect to more than one of these nodes.&lt;br /&gt;
&lt;br /&gt;
==== Nodes without a fixed ip ====&lt;br /&gt;
&lt;br /&gt;
If the node IP is not fixed (see &amp;quot;Fixed&amp;quot; column), you will have to resolve the node&#039;s name (first column) each time the IP changes. Some nodes may have their ip change once a day, some others once a month, and some others may stay on the same IP for years. Still, as long as the IP is not fixed, there is no guarantee it will stay the same.&lt;br /&gt;
&lt;br /&gt;
The [[Original Bitcoin client]] do not support hostnames to the &#039;&#039;-addnode&#039;&#039; parameter, so you must do the resolving part for it. For example on linux:&lt;br /&gt;
 bitcoind -addnode=$(host theymos.ath.cx |sed s/&amp;quot;^.*has address &amp;quot;//)&lt;br /&gt;
&lt;br /&gt;
=== IP Transactions ===&lt;br /&gt;
&lt;br /&gt;
You can also send [[IP Transactions]] to these nodes. If you include your bitcoin address in the &amp;quot;message&amp;quot; field, you may have your coins back.&lt;br /&gt;
&lt;br /&gt;
=== Tor network ===&lt;br /&gt;
&lt;br /&gt;
To use tor .onion addresses, you need to map virtual ips via the &#039;&#039;torrc&#039;&#039; file:&lt;br /&gt;
&lt;br /&gt;
 mapaddress 192.0.2.2 ijzt2eeizty3p5xe.onion&lt;br /&gt;
 mapaddress 192.0.2.3 j43z65b6r2usg3vk.onion&lt;br /&gt;
 mapaddress 192.0.2.4 pvuif6nonbhj3o3r.onion&lt;br /&gt;
&lt;br /&gt;
Once you have configured and restarted tor, 192.0.2.2 will connect to ijzt2eeizty3p5xe.onion when accessed through the Tor proxy (and likewise for the other IPs/onions). You can then run Bitcoin with -addnode=192.0.2.2, or even send bitcoins to that IP address. You can use any arbitrary IP addresses with MapAddress, though some of the common non-routable ranges (10.*, 192.168.*) will not work due to a Bitcoin bug. 192.0.2.1-192.0.2.255 is the recommended range because it is both non-routable and compatible with Bitcoin.&lt;br /&gt;
&lt;br /&gt;
== Nodes list ==&lt;br /&gt;
&lt;br /&gt;
=== IPv4 Nodes ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Hostname !! Owner !! IP !! Fixed !! Status !! Last Seen (GMT) !! Accepts IP transactions&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!-- BEGIN NODELIST --&amp;gt;&lt;br /&gt;
| 69.164.218.197 || Gavin Andresen || 69.164.218.197 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.21}} || 2011-03-20 23:00:06 || ?&lt;br /&gt;
|-&lt;br /&gt;
| jun.dashjr.org || Lightfoot Hosting || 173.242.112.53 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.21}} || 2011-03-20 23:00:06 || ?&lt;br /&gt;
|-&lt;br /&gt;
| nat.router.dashjr.org || Luke-Jr || 71.1.73.218 || {{Table Value No}} || {{Fallback Nodes/Node Up|version=0.3.21}} || 2011-03-20 23:00:07 || ?&lt;br /&gt;
|-&lt;br /&gt;
| ndrix.com || mndrix || 64.22.103.150 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.20[.2]}} || 2011-03-20 23:00:08 || ?&lt;br /&gt;
|-&lt;br /&gt;
| 84.114.155.197 || sniffy || 84.114.155.197 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.20[.2]}} || 2011-03-20 23:00:08 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| btc1.justmoon.net || justmoon || 109.75.176.226 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.20[.2]}} || 2011-03-20 23:00:08 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| bitcoins.ca || humble || 142.58.248.28 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.20[.2]}} || 2011-03-20 23:00:08 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| 217.157.1.202 || kseistrup || 217.157.1.202 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.20[.2]}} || 2011-03-20 23:00:09 || ?&lt;br /&gt;
|-&lt;br /&gt;
| lfmcal.dontexist.org || lfm || 75.158.131.108 || {{Table Value Unknown}} || {{Fallback Nodes/Node Up|version=0.3.20[.2]}} || 2011-03-20 23:00:09 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| bitcoin.samara-lab.ru || m0Ray || 95.128.160.162 || {{Table Value Unknown}} || {{Fallback Nodes/Node Up|version=0.3.20[.2]}} || 2011-03-20 23:00:09 || ?&lt;br /&gt;
|-&lt;br /&gt;
| bitcoin-otc.com || nanotube || 69.163.132.101 || {{Table Value No}} || {{Fallback Nodes/Node Up|version=0.3.20[.2]}} || 2011-03-20 23:00:09 || No&lt;br /&gt;
|-&lt;br /&gt;
| 178.63.15.200 || hendi || 178.63.15.200 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.20[.1]}} || 2011-03-20 23:00:10 || ?&lt;br /&gt;
|-&lt;br /&gt;
| mining.bitcoin.cz || slush || 178.79.147.99 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.20}} || 2011-03-20 23:00:10 || No&lt;br /&gt;
|-&lt;br /&gt;
| bitcoin.sipa.be || sipa || 178.18.90.41 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.19[.2]}} || 2011-03-20 23:00:10 || No&lt;br /&gt;
|-&lt;br /&gt;
| theymos.ath.cx || theymos || 99.27.237.13 || {{Table Value Unknown}} || {{Fallback Nodes/Node Up|version=0.3.19[.2]}} || 2011-03-20 23:00:10 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| fallback1.bitcoin.me.uk || Vladimir || 91.85.220.84 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.19}} || 2011-03-20 23:00:11 || No&lt;br /&gt;
|-&lt;br /&gt;
| 109.75.176.193 || MagicalTux [DE] || 109.75.176.193 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.19}} || 2011-03-20 23:00:11 || No&lt;br /&gt;
|-&lt;br /&gt;
| 174.120.185.74 || MagicalTux [US] || 174.120.185.74 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.19}} || 2011-03-20 23:00:11 || No&lt;br /&gt;
|-&lt;br /&gt;
| 178.63.62.15 || MagicalTux [DE] || 178.63.62.15 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.19}} || 2011-03-20 23:00:11 || No&lt;br /&gt;
|-&lt;br /&gt;
| bitlex.co.cc || BitLex || 78.34.69.123 || {{Table Value No}} || {{Fallback Nodes/Node Up|version=0.3.19}} || 2011-03-20 23:00:12 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| 74.82.216.10 || thufir || 74.82.216.10 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.10}} || 2011-03-20 23:00:12 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| 74.57.236.239 || ? || 74.57.236.239 || {{Table Value Yes}} || {{Fallback Nodes/Node Old|version=0.3.0}} || 2011-03-20 23:00:12 || ?&lt;br /&gt;
|-&lt;br /&gt;
| zack.home.chrishowie.com || cdhowie || 98.222.140.181 || {{Table Value No}} || {{Fallback Nodes/Node Up|version=0.3.20[0.2]}} || 2011-03-21 00:49:00 || No&lt;br /&gt;
&amp;lt;!-- END NODELIST --&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tor nodes ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Hostname !! Owner !! Status !! Last Seen (GMT) !! Accepts IP transactions&lt;br /&gt;
|-&lt;br /&gt;
| ijzt2eeizty3p5xe.onion || ? || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| j43z65b6r2usg3vk.onion || Dybbuk || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| pvuif6nonbhj3o3r.onion || ? || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| c5qvugpewwyyy5oz.onion || ? || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| vso3r6cmjoomhhgg.onion || echelon || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| rnam4cxam62nkcyf.onion || BitLex || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| bitcoinbudtoeks7.onion || ? || ? || 2011-02-11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| iy6ni3wkqazp4ytu.onion || ? || ? || 2011-02-11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| h4kklwodpcmo6cbq.onion || ? || ? || 2011-02-11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| vv6kcfscuntybrzm.onion || ? || ? || 2011-02-11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| nlnsivjku4x4lu5n.onion || ? || ? || 2011-02-11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| xqzfakpeuvrobvpj.onion || ? || ? || 2010-11-13 || No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Adding a node ==&lt;br /&gt;
&lt;br /&gt;
Before adding yourself as a fallback node, you should be sure your node will stay online for a long time. If a node is offline for more than 24 hours it will be removed from the list. To accept IP transactions you will have to add the &#039;&#039;-allowreceivebyip&#039;&#039; flag to your command line parameters.&lt;br /&gt;
&lt;br /&gt;
To add a node in this list, you just need the ip/hostname and your name, the other fields will be filled automatically. Insert the following lines before the &amp;lt;tt&amp;gt;END NODELIST&amp;lt;/tt&amp;gt; line:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;|-&lt;br /&gt;
| ip || your name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that a bot will connect to your node every hour to check its status and version.&lt;/div&gt;</summary>
		<author><name>Cdhowie</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=User:Cdhowie&amp;diff=5693</id>
		<title>User:Cdhowie</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=User:Cdhowie&amp;diff=5693"/>
		<updated>2011-03-21T00:05:20Z</updated>

		<summary type="html">&lt;p&gt;Cdhowie: Created page with &amp;quot;Hello, I am [http://www.chrishowie.com/ Chris Howie].  I&amp;#039;m a relatively new Bitcoin user, but am already running a GPU miner and am working on a CPU miner library in C#.  My expe...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hello, I am [http://www.chrishowie.com/ Chris Howie].  I&#039;m a relatively new Bitcoin user, but am already running a GPU miner and am working on a CPU miner library in C#.&lt;br /&gt;
&lt;br /&gt;
My experience on other wikis includes being [http://en.wikipedia.org/wiki/User:Crazycomputers a sysop on Wikipedia] and I hope I can be a useful contributor here as well.&lt;br /&gt;
&lt;br /&gt;
It&#039;s probably a bit early for me to be asking for tips ;) but if -- once I make larger contributions to the wiki -- you want to send a few cents my way, you can tip at 1AhyvR5NANQD9wWSBZTQcUG5iY2G5ZD2iR.&lt;/div&gt;</summary>
		<author><name>Cdhowie</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Fallback_Nodes&amp;diff=5692</id>
		<title>Fallback Nodes</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Fallback_Nodes&amp;diff=5692"/>
		<updated>2011-03-20T23:26:54Z</updated>

		<summary type="html">&lt;p&gt;Cdhowie: /* IPv4 Nodes */ add my permanent node&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of nodes which are considered reliable. Nodes from this list which are down for more than 24 hours will be automatically removed and status of each node is displayed and updated every hour by [[User:WikiBot|WikiBot]].&lt;br /&gt;
&lt;br /&gt;
== How to use this list ==&lt;br /&gt;
&lt;br /&gt;
=== Connect to nodes ===&lt;br /&gt;
&lt;br /&gt;
You can connect to these nodes with the &#039;&#039;-addnode=ip&#039;&#039; switch instead of the usual node harvesting process (through IRC or via the embedded nodelist). You can connect to more than one node by using &#039;&#039;-addnode=ip&#039;&#039; more than once. It is usually a good idea to connect to more than one of these nodes.&lt;br /&gt;
&lt;br /&gt;
==== Nodes without a fixed ip ====&lt;br /&gt;
&lt;br /&gt;
If the node IP is not fixed (see &amp;quot;Fixed&amp;quot; column), you will have to resolve the node&#039;s name (first column) each time the IP changes. Some nodes may have their ip change once a day, some others once a month, and some others may stay on the same IP for years. Still, as long as the IP is not fixed, there is no guarantee it will stay the same.&lt;br /&gt;
&lt;br /&gt;
The [[Original Bitcoin client]] do not support hostnames to the &#039;&#039;-addnode&#039;&#039; parameter, so you must do the resolving part for it. For example on linux:&lt;br /&gt;
 bitcoind -addnode=$(host theymos.ath.cx |sed s/&amp;quot;^.*has address &amp;quot;//)&lt;br /&gt;
&lt;br /&gt;
=== IP Transactions ===&lt;br /&gt;
&lt;br /&gt;
You can also send [[IP Transactions]] to these nodes. If you include your bitcoin address in the &amp;quot;message&amp;quot; field, you may have your coins back.&lt;br /&gt;
&lt;br /&gt;
=== Tor network ===&lt;br /&gt;
&lt;br /&gt;
To use tor .onion addresses, you need to map virtual ips via the &#039;&#039;torrc&#039;&#039; file:&lt;br /&gt;
&lt;br /&gt;
 mapaddress 192.0.2.2 ijzt2eeizty3p5xe.onion&lt;br /&gt;
 mapaddress 192.0.2.3 j43z65b6r2usg3vk.onion&lt;br /&gt;
 mapaddress 192.0.2.4 pvuif6nonbhj3o3r.onion&lt;br /&gt;
&lt;br /&gt;
Once you have configured and restarted tor, 192.0.2.2 will connect to ijzt2eeizty3p5xe.onion when accessed through the Tor proxy (and likewise for the other IPs/onions). You can then run Bitcoin with -addnode=192.0.2.2, or even send bitcoins to that IP address. You can use any arbitrary IP addresses with MapAddress, though some of the common non-routable ranges (10.*, 192.168.*) will not work due to a Bitcoin bug. 192.0.2.1-192.0.2.255 is the recommended range because it is both non-routable and compatible with Bitcoin.&lt;br /&gt;
&lt;br /&gt;
== Nodes list ==&lt;br /&gt;
&lt;br /&gt;
=== IPv4 Nodes ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Hostname !! Owner !! IP !! Fixed !! Status !! Last Seen (GMT) !! Accepts IP transactions&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!-- BEGIN NODELIST --&amp;gt;&lt;br /&gt;
| 69.164.218.197 || Gavin Andresen || 69.164.218.197 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.21}} || 2011-03-20 23:00:06 || ?&lt;br /&gt;
|-&lt;br /&gt;
| jun.dashjr.org || Lightfoot Hosting || 173.242.112.53 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.21}} || 2011-03-20 23:00:06 || ?&lt;br /&gt;
|-&lt;br /&gt;
| nat.router.dashjr.org || Luke-Jr || 71.1.73.218 || {{Table Value No}} || {{Fallback Nodes/Node Up|version=0.3.21}} || 2011-03-20 23:00:07 || ?&lt;br /&gt;
|-&lt;br /&gt;
| ndrix.com || mndrix || 64.22.103.150 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.20[.2]}} || 2011-03-20 23:00:08 || ?&lt;br /&gt;
|-&lt;br /&gt;
| 84.114.155.197 || sniffy || 84.114.155.197 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.20[.2]}} || 2011-03-20 23:00:08 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| btc1.justmoon.net || justmoon || 109.75.176.226 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.20[.2]}} || 2011-03-20 23:00:08 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| bitcoins.ca || humble || 142.58.248.28 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.20[.2]}} || 2011-03-20 23:00:08 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| 217.157.1.202 || kseistrup || 217.157.1.202 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.20[.2]}} || 2011-03-20 23:00:09 || ?&lt;br /&gt;
|-&lt;br /&gt;
| lfmcal.dontexist.org || lfm || 75.158.131.108 || {{Table Value Unknown}} || {{Fallback Nodes/Node Up|version=0.3.20[.2]}} || 2011-03-20 23:00:09 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| bitcoin.samara-lab.ru || m0Ray || 95.128.160.162 || {{Table Value Unknown}} || {{Fallback Nodes/Node Up|version=0.3.20[.2]}} || 2011-03-20 23:00:09 || ?&lt;br /&gt;
|-&lt;br /&gt;
| bitcoin-otc.com || nanotube || 69.163.132.101 || {{Table Value No}} || {{Fallback Nodes/Node Up|version=0.3.20[.2]}} || 2011-03-20 23:00:09 || No&lt;br /&gt;
|-&lt;br /&gt;
| 178.63.15.200 || hendi || 178.63.15.200 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.20[.1]}} || 2011-03-20 23:00:10 || ?&lt;br /&gt;
|-&lt;br /&gt;
| mining.bitcoin.cz || slush || 178.79.147.99 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.20}} || 2011-03-20 23:00:10 || No&lt;br /&gt;
|-&lt;br /&gt;
| bitcoin.sipa.be || sipa || 178.18.90.41 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.19[.2]}} || 2011-03-20 23:00:10 || No&lt;br /&gt;
|-&lt;br /&gt;
| theymos.ath.cx || theymos || 99.27.237.13 || {{Table Value Unknown}} || {{Fallback Nodes/Node Up|version=0.3.19[.2]}} || 2011-03-20 23:00:10 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| fallback1.bitcoin.me.uk || Vladimir || 91.85.220.84 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.19}} || 2011-03-20 23:00:11 || No&lt;br /&gt;
|-&lt;br /&gt;
| 109.75.176.193 || MagicalTux [DE] || 109.75.176.193 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.19}} || 2011-03-20 23:00:11 || No&lt;br /&gt;
|-&lt;br /&gt;
| 174.120.185.74 || MagicalTux [US] || 174.120.185.74 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.19}} || 2011-03-20 23:00:11 || No&lt;br /&gt;
|-&lt;br /&gt;
| 178.63.62.15 || MagicalTux [DE] || 178.63.62.15 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.19}} || 2011-03-20 23:00:11 || No&lt;br /&gt;
|-&lt;br /&gt;
| bitlex.co.cc || BitLex || 78.34.69.123 || {{Table Value No}} || {{Fallback Nodes/Node Up|version=0.3.19}} || 2011-03-20 23:00:12 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| 74.82.216.10 || thufir || 74.82.216.10 || {{Table Value Yes}} || {{Fallback Nodes/Node Up|version=0.3.10}} || 2011-03-20 23:00:12 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| 74.57.236.239 || ? || 74.57.236.239 || {{Table Value Yes}} || {{Fallback Nodes/Node Old|version=0.3.0}} || 2011-03-20 23:00:12 || ?&lt;br /&gt;
|-&lt;br /&gt;
| zack.home.chrishowie.com || cdhowie&lt;br /&gt;
&amp;lt;!-- END NODELIST --&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tor nodes ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Hostname !! Owner !! Status !! Last Seen (GMT) !! Accepts IP transactions&lt;br /&gt;
|-&lt;br /&gt;
| ijzt2eeizty3p5xe.onion || ? || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| j43z65b6r2usg3vk.onion || Dybbuk || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| pvuif6nonbhj3o3r.onion || ? || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| c5qvugpewwyyy5oz.onion || ? || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| vso3r6cmjoomhhgg.onion || echelon || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| rnam4cxam62nkcyf.onion || BitLex || ? || 2011-02-11 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| bitcoinbudtoeks7.onion || ? || ? || 2011-02-11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| iy6ni3wkqazp4ytu.onion || ? || ? || 2011-02-11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| h4kklwodpcmo6cbq.onion || ? || ? || 2011-02-11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| vv6kcfscuntybrzm.onion || ? || ? || 2011-02-11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| nlnsivjku4x4lu5n.onion || ? || ? || 2011-02-11 || ?&lt;br /&gt;
|-&lt;br /&gt;
| xqzfakpeuvrobvpj.onion || ? || ? || 2010-11-13 || No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Adding a node ==&lt;br /&gt;
&lt;br /&gt;
Before adding yourself as a fallback node, you should be sure your node will stay online for a long time. If a node is offline for more than 24 hours it will be removed from the list. To accept IP transactions you will have to add the &#039;&#039;-allowreceivebyip&#039;&#039; flag to your command line parameters.&lt;br /&gt;
&lt;br /&gt;
To add a node in this list, you just need the ip/hostname and your name, the other fields will be filled automatically. Insert the following lines before the &amp;lt;tt&amp;gt;END NODELIST&amp;lt;/tt&amp;gt; line:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;|-&lt;br /&gt;
| ip || your name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that a bot will connect to your node every hour to check its status and version.&lt;/div&gt;</summary>
		<author><name>Cdhowie</name></author>
	</entry>
</feed>