<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.bitmessage.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=AyrA</id>
	<title>Bitmessage Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.bitmessage.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=AyrA"/>
	<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php/Special:Contributions/AyrA"/>
	<updated>2026-05-25T06:38:13Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.34.0</generator>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=Public_key_to_bitmessage_address&amp;diff=48833</id>
		<title>Public key to bitmessage address</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=Public_key_to_bitmessage_address&amp;diff=48833"/>
		<updated>2022-08-04T10:49:05Z</updated>

		<summary type="html">&lt;p&gt;AyrA: Add key format details and hint about API binary data&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page briefly describes, how to generate a Bitmessage Address from a public key.&lt;br /&gt;
The variable after each step in the list is used to refer to the step later.&lt;br /&gt;
Numbers used below are encoded as [[Protocol specification#Variable length integer|var_int]]&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;+&amp;lt;/code&amp;gt; in this documentation means concatenation.&lt;br /&gt;
&lt;br /&gt;
# Create two key pairs using secp256k1, one for encryption and one for signing (privEnc, pubEnc, privSign, pubSign)&lt;br /&gt;
# Merge keys together using &amp;lt;code&amp;gt;pubSign + pubEnc&amp;lt;/code&amp;gt;. Be sure to use the uncompressed keys (65 bytes per key, serialized X9.62 format). (A)&lt;br /&gt;
# &amp;lt;code&amp;gt;SHA512(A)&amp;lt;/code&amp;gt;. (B)&lt;br /&gt;
# &amp;lt;code&amp;gt;RIPEMD160(B)&amp;lt;/code&amp;gt;. (C)&lt;br /&gt;
# Repeat step 1-4 until you have a result that starts with at least one zero. More zeros are permitted and cause a shorter address hash later. (D)&lt;br /&gt;
# Remove all zeros at the beginning of D. (E)&lt;br /&gt;
# &amp;lt;code&amp;gt;Address Version + Stream number + E&amp;lt;/code&amp;gt;. (F)&lt;br /&gt;
# &amp;lt;code&amp;gt;SHA512(SHA512(F))&amp;lt;/code&amp;gt;. Keep the first four bytes. (G)&lt;br /&gt;
# &amp;lt;code&amp;gt;F + G&amp;lt;/code&amp;gt;. (H)&lt;br /&gt;
# &amp;lt;code&amp;gt;Base58_encode(H)&amp;lt;/code&amp;gt;. (I)&lt;br /&gt;
# &amp;lt;code&amp;gt;&amp;quot;BM-&amp;quot; + I&amp;lt;/code&amp;gt;. (J)&lt;br /&gt;
&lt;br /&gt;
J is your full address. You want to store this together with privSign and privEnc somewhere.&lt;br /&gt;
Note: The secp256k1 public keys don't need to be stored because they can be recreated again later from the private keys.&lt;br /&gt;
&lt;br /&gt;
== Deterministic address ==&lt;br /&gt;
&lt;br /&gt;
Deterministic addresses are created by using the first 32 bytes of &amp;lt;code&amp;gt;SHA512(passphrase + var_int)&amp;lt;/code&amp;gt; as private key instead of randomly generating one.&lt;br /&gt;
The var_int for the signing key starts at 0, and for the encryption key at 1.&lt;br /&gt;
On every failed attempt to create an address, increment both integers by two and repeat the attempt. This means the integer for the signing key is always even,&lt;br /&gt;
and the one for the encryption key always odd and one bigger than the signing key.&lt;br /&gt;
&lt;br /&gt;
== Address validation ==&lt;br /&gt;
&lt;br /&gt;
Remove the &amp;quot;BM-&amp;quot; at the beginning and Base58 decode the rest.&lt;br /&gt;
Remove the last 4 bytes from the decoded data. Calculate SHA512 of the remaining address bytes and check if the first 4 bytes of the hash match the trimmed off 4 bytes.&lt;br /&gt;
&lt;br /&gt;
Optional additional test: The address should start with two var_int values.&lt;br /&gt;
Currently, only stream 1 is supported, and the address version should be 2-4.&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
&lt;br /&gt;
Bitmessage's base58 encoding uses the following sequence (the same as Bitcoin's): &amp;quot;123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz&amp;quot;.&lt;br /&gt;
Many existing libraries for base58 do not use this ordering.&lt;br /&gt;
&lt;br /&gt;
The BM- formatted address is never transmitted over the network. It's used to find the correct public key and decrypt it.&lt;br /&gt;
&lt;br /&gt;
As you may have noticed, the address version and stream number are not part of the keys, this means it's technically possible to move an address between streams and versions, although the Base58 encoding makes the address look completely different each time.&lt;br /&gt;
&lt;br /&gt;
The PyBitmessage client doesn't states how the passphrase is converted into bytes.&lt;br /&gt;
This means using &amp;quot;äöü&amp;quot; as a passphrase will deliver different results across different operating systems because of how strings in python are handled internally.&lt;br /&gt;
The API should not have this problem because the string is given using base64 encoding, which preserves the original binary data.&lt;br /&gt;
&lt;br /&gt;
The entire hashing and leading zero restrictions only apply to the public signing key, not the encryption key.&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=Public_key_to_bitmessage_address&amp;diff=48832</id>
		<title>Public key to bitmessage address</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=Public_key_to_bitmessage_address&amp;diff=48832"/>
		<updated>2022-08-04T02:11:07Z</updated>

		<summary type="html">&lt;p&gt;AyrA: /* Deterministic address */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page briefly describes, how to generate a Bitmessage Address from a public key.&lt;br /&gt;
The variable after each step in the list is used to refer to the step later.&lt;br /&gt;
Numbers used below are encoded as [[Protocol specification#Variable length integer|var_int]]&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;+&amp;lt;/code&amp;gt; in this documentation means concatenation.&lt;br /&gt;
&lt;br /&gt;
# Create two key pairs using secp256k1, one for encryption and one for signing (privEnc, pubEnc, privSign, pubSign)&lt;br /&gt;
# Merge keys together using &amp;lt;code&amp;gt;pubSign + pubEnc&amp;lt;/code&amp;gt;. Be sure to use the uncompressed keys (64 bytes per key, X9.62 format). (A)&lt;br /&gt;
# &amp;lt;code&amp;gt;SHA512(A)&amp;lt;/code&amp;gt;. (B)&lt;br /&gt;
# &amp;lt;code&amp;gt;RIPEMD160(B)&amp;lt;/code&amp;gt;. (C)&lt;br /&gt;
# Repeat step 1-4 until you have a result that starts with at least one zero. More zeros are permitted and cause a shorter address hash later. (D)&lt;br /&gt;
# Remove all zeros at the beginning of D. (E)&lt;br /&gt;
# &amp;lt;code&amp;gt;Address Version + Stream number + E&amp;lt;/code&amp;gt;. (F)&lt;br /&gt;
# &amp;lt;code&amp;gt;SHA512(SHA512(F))&amp;lt;/code&amp;gt;. Keep the first four bytes. (G)&lt;br /&gt;
# &amp;lt;code&amp;gt;F + G&amp;lt;/code&amp;gt;. (H)&lt;br /&gt;
# &amp;lt;code&amp;gt;Base58_encode(H)&amp;lt;/code&amp;gt;. (I)&lt;br /&gt;
# &amp;lt;code&amp;gt;&amp;quot;BM-&amp;quot; + I&amp;lt;/code&amp;gt;. (J)&lt;br /&gt;
&lt;br /&gt;
J is your full address. You want to store this together with privSign and privEnc somewhere.&lt;br /&gt;
Note: The secp256k1 public keys don't need to be stored because they can be recreated again later from the private keys.&lt;br /&gt;
&lt;br /&gt;
== Deterministic address ==&lt;br /&gt;
&lt;br /&gt;
Deterministic addresses are created by using the first 32 bytes of &amp;lt;code&amp;gt;SHA512(passphrase + var_int)&amp;lt;/code&amp;gt; as private key instead of randomly generating one.&lt;br /&gt;
The var_int for the signing key starts at 0, and for the encryption key at 1.&lt;br /&gt;
On every failed attempt to create an address, increment both integers by two and repeat the attempt. This means the integer for the signing key is always even,&lt;br /&gt;
and the one for the encryption key always odd and one bigger than the signing key.&lt;br /&gt;
&lt;br /&gt;
== Address validation ==&lt;br /&gt;
&lt;br /&gt;
Remove the &amp;quot;BM-&amp;quot; at the beginning and Base58 decode the rest.&lt;br /&gt;
Remove the last 4 bytes from the decoded data. Calculate SHA512 of the remaining address bytes and check if the first 4 bytes of the hash match the trimmed off 4 bytes.&lt;br /&gt;
&lt;br /&gt;
Optional additional test: The address should start with two var_int values.&lt;br /&gt;
Currently, only stream 1 is supported, and the address version should be 2-4.&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
&lt;br /&gt;
Bitmessage's base58 encoding uses the following sequence (the same as Bitcoin's): &amp;quot;123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz&amp;quot;.&lt;br /&gt;
Many existing libraries for base58 do not use this ordering.&lt;br /&gt;
&lt;br /&gt;
The BM- formatted address is never transmitted over the network. It's used to find the correct public key and decrypt it.&lt;br /&gt;
&lt;br /&gt;
As you may have noticed, the address version and stream number are not part of the keys, this means it's technically possible to move an address between streams and versions, although the Base58 encoding makes the address look completely different each time.&lt;br /&gt;
&lt;br /&gt;
The PyBitmessage client doesn't states how the passphrase is converted into bytes.&lt;br /&gt;
This means using &amp;quot;äöü&amp;quot; as a passphrase will deliver different results across different operating systems because of how strings in python are handled internally.&lt;br /&gt;
&lt;br /&gt;
The entire hashing and leading zero restrictions only apply to the public signing key, not the encryption key.&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=Public_key_to_bitmessage_address&amp;diff=48831</id>
		<title>Public key to bitmessage address</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=Public_key_to_bitmessage_address&amp;diff=48831"/>
		<updated>2022-08-03T22:46:53Z</updated>

		<summary type="html">&lt;p&gt;AyrA: Add much more details&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page briefly describes, how to generate a Bitmessage Address from a public key.&lt;br /&gt;
The variable after each step in the list is used to refer to the step later.&lt;br /&gt;
Numbers used below are encoded as [[Protocol specification#Variable length integer|var_int]]&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;+&amp;lt;/code&amp;gt; in this documentation means concatenation.&lt;br /&gt;
&lt;br /&gt;
# Create two key pairs using secp256k1, one for encryption and one for signing (privEnc, pubEnc, privSign, pubSign)&lt;br /&gt;
# Merge keys together using &amp;lt;code&amp;gt;pubSign + pubEnc&amp;lt;/code&amp;gt;. Be sure to use the uncompressed keys (64 bytes per key, X9.62 format). (A)&lt;br /&gt;
# &amp;lt;code&amp;gt;SHA512(A)&amp;lt;/code&amp;gt;. (B)&lt;br /&gt;
# &amp;lt;code&amp;gt;RIPEMD160(B)&amp;lt;/code&amp;gt;. (C)&lt;br /&gt;
# Repeat step 1-4 until you have a result that starts with at least one zero. More zeros are permitted and cause a shorter address hash later. (D)&lt;br /&gt;
# Remove all zeros at the beginning of D. (E)&lt;br /&gt;
# &amp;lt;code&amp;gt;Address Version + Stream number + E&amp;lt;/code&amp;gt;. (F)&lt;br /&gt;
# &amp;lt;code&amp;gt;SHA512(SHA512(F))&amp;lt;/code&amp;gt;. Keep the first four bytes. (G)&lt;br /&gt;
# &amp;lt;code&amp;gt;F + G&amp;lt;/code&amp;gt;. (H)&lt;br /&gt;
# &amp;lt;code&amp;gt;Base58_encode(H)&amp;lt;/code&amp;gt;. (I)&lt;br /&gt;
# &amp;lt;code&amp;gt;&amp;quot;BM-&amp;quot; + I&amp;lt;/code&amp;gt;. (J)&lt;br /&gt;
&lt;br /&gt;
J is your full address. You want to store this together with privSign and privEnc somewhere.&lt;br /&gt;
Note: The secp256k1 public keys don't need to be stored because they can be recreated again later from the private keys.&lt;br /&gt;
&lt;br /&gt;
== Deterministic address ==&lt;br /&gt;
&lt;br /&gt;
Deterministic addresses are created by using the '''last''' 32 bytes of &amp;lt;code&amp;gt;SHA512(passphrase + var_int)&amp;lt;/code&amp;gt; as private key instead of randomly generating one.&lt;br /&gt;
The var_int for the signing key starts at 0, and for the encryption key at 1.&lt;br /&gt;
On every failed attempt to create an address, increment both integers by two and repeat the attempt. This means the integer for the signing key is always even,&lt;br /&gt;
and the one for the encryption key always odd and one bigger than the signing key.&lt;br /&gt;
&lt;br /&gt;
== Address validation ==&lt;br /&gt;
&lt;br /&gt;
Remove the &amp;quot;BM-&amp;quot; at the beginning and Base58 decode the rest.&lt;br /&gt;
Remove the last 4 bytes from the decoded data. Calculate SHA512 of the remaining address bytes and check if the first 4 bytes of the hash match the trimmed off 4 bytes.&lt;br /&gt;
&lt;br /&gt;
Optional additional test: The address should start with two var_int values.&lt;br /&gt;
Currently, only stream 1 is supported, and the address version should be 2-4.&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
&lt;br /&gt;
Bitmessage's base58 encoding uses the following sequence (the same as Bitcoin's): &amp;quot;123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz&amp;quot;.&lt;br /&gt;
Many existing libraries for base58 do not use this ordering.&lt;br /&gt;
&lt;br /&gt;
The BM- formatted address is never transmitted over the network. It's used to find the correct public key and decrypt it.&lt;br /&gt;
&lt;br /&gt;
As you may have noticed, the address version and stream number are not part of the keys, this means it's technically possible to move an address between streams and versions, although the Base58 encoding makes the address look completely different each time.&lt;br /&gt;
&lt;br /&gt;
The PyBitmessage client doesn't states how the passphrase is converted into bytes.&lt;br /&gt;
This means using &amp;quot;äöü&amp;quot; as a passphrase will deliver different results across different operating systems because of how strings in python are handled internally.&lt;br /&gt;
&lt;br /&gt;
The entire hashing and leading zero restrictions only apply to the public signing key, not the encryption key.&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=Talk:FAQ&amp;diff=44574</id>
		<title>Talk:FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=Talk:FAQ&amp;diff=44574"/>
		<updated>2016-02-16T15:34:49Z</updated>

		<summary type="html">&lt;p&gt;AyrA: Reverted edits by Lade (talk) to last revision by ChosenOne&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In the comparison table &amp;quot;text only messages&amp;quot; is ambiguous, what does it mean? -ChosenOne&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=PyBitmessage_Help&amp;diff=31651</id>
		<title>PyBitmessage Help</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=PyBitmessage_Help&amp;diff=31651"/>
		<updated>2015-11-25T10:50:22Z</updated>

		<summary type="html">&lt;p&gt;AyrA: added image descriptions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the help page for PyBitmessage. &lt;br /&gt;
&lt;br /&gt;
[[File:Frontbitmessage.PNG|thumbnail|Main window in Windows 8 and newer]]&lt;br /&gt;
&lt;br /&gt;
== Clarification ==&lt;br /&gt;
PyBitmessage is the official client, used as protocol reference. It is usually abbreviated &amp;quot;Bitmessage&amp;quot;, causing confusion between the protocol and the client.&lt;br /&gt;
&lt;br /&gt;
== Initial setup ==&lt;br /&gt;
PyBitmessage can be downloaded from the [[Main Page]], either as Windows binary or as source from github. Other builds (for example for Mac OS X) can be found in the forum.&lt;br /&gt;
The client sets up itself completely automatic. It can be launched and the required files for its operation are created if they do not exist.&lt;br /&gt;
&lt;br /&gt;
== Daily usage ==&lt;br /&gt;
[[File:PyBitmessage-Sent.png|300px|thumb|right|Main window with sent tab open (Windows 7)]]&lt;br /&gt;
PyBitmessage will automatically connect to other clients on start up, the user does not needs to wait for this to complete and can instantly send messages. [[POW]] can be made if offline.&lt;br /&gt;
The Main interface contains the following tabs:&lt;br /&gt;
&lt;br /&gt;
=== Inbox ===&lt;br /&gt;
The inbox contains all your received messages (top part) and displays the currently selected message (bottom part). The bottom window allows copying and editing the message but it will not be saved. The context menu in the message list provides additional features, such as [[HTML view]], save as text file and a reply option. Using the HTML view renders some HTML tags from the message, for example images.&lt;br /&gt;
Messages that are no longer needed can be sent to the trash with the [DEL] key.&lt;br /&gt;
&lt;br /&gt;
=== Send ===&lt;br /&gt;
The &amp;quot;Send&amp;quot; tab is used to compose new private or [[Broadcast]] messages. A message can be dedicated to multiple people but the protocol supports only one receiving address per message. Example: Sending a message to 8 people will generate the exact same message 8 times in the &amp;quot;Sent&amp;quot; tab.&lt;br /&gt;
&lt;br /&gt;
=== Sent ===&lt;br /&gt;
The sent tab displays messages sent by the user, including messages that are in the process of [[POW|proof of work]]. The status column displays the current status of the message.&lt;br /&gt;
Table with the most common messages:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Status&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| Doing work necessary to send &amp;lt;type&amp;gt;...&lt;br /&gt;
| [[POW]] is being done&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;type&amp;gt; sent on &amp;lt;date/time&amp;gt;&lt;br /&gt;
| The message has been sent&lt;br /&gt;
|-&lt;br /&gt;
| Waiting on Acknowledgement&lt;br /&gt;
| The message has been sent but the receiver has not received it yet. Not applicable for broadcasts&lt;br /&gt;
|-&lt;br /&gt;
| Acknowledgement received on &amp;lt;date+time&amp;gt;&lt;br /&gt;
| The receiver got the message.  Not applicable for broadcasts&lt;br /&gt;
|}&lt;br /&gt;
Messages can be sent to the trash with the [DEL] key however, this will not stop POW from being made if it has already started.&lt;br /&gt;
&lt;br /&gt;
=== Your Identities ===&lt;br /&gt;
Contains a list of all addresses stored in [[keys.dat]] and allows to generate new ones. The context menu allows to enable/disable addresses. Addresses can be labeled, this label is then displayed instead of the address. Labels are not sent over the network and are only visible to the client. Addresses cannot be deleted directly in this tab, but removing the [[Address Block]] from keys.dat removes it. Editing the keys.dat file requires the user to shut down the client first.&lt;br /&gt;
&lt;br /&gt;
=== [[Subscriptions]] ===&lt;br /&gt;
Contains a list of all [[Broadcast|broadcasts]], that the client will receive. To receive broadcasts its address must be added first to the list. The context menu allows enabling, disabling and deletation of addresses.&lt;br /&gt;
&lt;br /&gt;
=== Address Book ===&lt;br /&gt;
Can be used to associate addresses with labels for easier recognition.&lt;br /&gt;
The context menu allows the user to add a subscription to the address.&lt;br /&gt;
&lt;br /&gt;
=== Blacklist/Whitelist ===&lt;br /&gt;
Addresses can be blacklisted or whitelisted. The Operation mode of the list (whitelist or blacklist) ban be set too. The context menu allows entries to be enabled, disabled or deleted.&lt;br /&gt;
&lt;br /&gt;
=== Network Status ===&lt;br /&gt;
Shows the [[Stream]] number and the number of connected nodes in a list. Displays when it was started and how much information has been processed yet.&lt;br /&gt;
Detailed information about the icon color and how to get a green icon can be found [[Network Status|here]]&lt;br /&gt;
&lt;br /&gt;
== [[DML]] Addresses ==&lt;br /&gt;
&lt;br /&gt;
[[File:Addchanbitmessage.PNG|thumbnail|Joining a DML by using passphrase and address]]&lt;br /&gt;
&lt;br /&gt;
A DML Address can be either created or joined in the '''File &amp;gt; Join / Create chan''' menu.&lt;br /&gt;
These addresses are written with orange color in the identities tab.&lt;br /&gt;
&lt;br /&gt;
To learn more about how to use a DML Address / chan, visit [[DML|this article]].&lt;br /&gt;
You need to either create the address or join it to send messages to it, else the client gets stuck when waiting for the public key. To resolve this issue, without joining or creating an address see, the DML article.&lt;br /&gt;
&lt;br /&gt;
=== Join ===&lt;br /&gt;
To Join a DML, the address and the passphrase is required. The passphrase is used to generate the private keys, that the client needs to send and receive messages. The address is used so the user does not needs to know the stream number and address version. If the address is not known, a DML can be created, even if it actually exists, in the hope, that the resulting address is correct.&lt;br /&gt;
&lt;br /&gt;
=== Create ===&lt;br /&gt;
Creating a DML/chan only requires a passphrase. It will create the address and mark it as such.&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
There is no technical difference between creation and joining. Joining requires the address to make sure, you actually get the correct private keys, because they depend on stream number and address version, which are both included in the address.&lt;br /&gt;
Creating an address however will always use the newest address version and stream number and thus may create a different address, which is not compatible with the one intended to join.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
Bitmessage can be configured by editing [[keys.dat]] or by using the menu '''Settings &amp;gt; Settings''' in the GUI.&lt;br /&gt;
&lt;br /&gt;
=== Settings Menu ===&lt;br /&gt;
The settings menu has the folowing tabs:&lt;br /&gt;
&lt;br /&gt;
==== User Interface ====&lt;br /&gt;
Allows customization how bitmessage is started and if it should run in portable mode or not.&lt;br /&gt;
&lt;br /&gt;
===== Willingly include... =====&lt;br /&gt;
'''Willingly include unencrypted destination address when sending to a mobile device'''&lt;br /&gt;
&lt;br /&gt;
This option must be enabled, when using [[DML]] addresses and is a work in progress feature for mobile app support and has nothing to do with the user interface.&lt;br /&gt;
&lt;br /&gt;
===== Interface language =====&lt;br /&gt;
This option is currently (at least in the compiled windows version) not fully working but allows to set the language of the client.&lt;br /&gt;
&lt;br /&gt;
==== Network Settings ====&lt;br /&gt;
Allows setting of the TCP port used for incomming connections. This can be left at default value for most users.&lt;br /&gt;
A proxy server can be defined if the user wishes to do so. Supports SOCKS4a and SOCKS5 with Authentication support.&lt;br /&gt;
The option to allow incoming connections can be enabled if the user wishes to help the network, even when using a proxy. Incoming connections '''are not''' routed over the socks proxy!&lt;br /&gt;
&lt;br /&gt;
==== Demanded Difficulty ====&lt;br /&gt;
The demanded difficulty allows to increase the amount of POW to be done for other clients to send messages to the user.&lt;br /&gt;
POW for users in the address book is always 1. Doubling the number doubles the amount of time required.&lt;br /&gt;
&lt;br /&gt;
The value for small difficulty defaults to 1.0, rthe value for large difficulty to 2.0 (since version 0.4.0)&lt;br /&gt;
&lt;br /&gt;
==== Max acceptable difficulty ====&lt;br /&gt;
Similar to the &amp;quot;demanded difficulty&amp;quot; tab, this tab has the exact same textboxes, however, they are used to limit the amount of POW the user is willing to do. If he sends a message and the destination address wants him to do more POW than he set as maximum, the message will not be processed. The user can click with the right mouse button on the message and force it to be sent or he can delete the message.&lt;br /&gt;
&lt;br /&gt;
== Database cleanup ==&lt;br /&gt;
The database ([[messages.dat]]) can be cleaned and shrinked manually with the menu '''File &amp;gt; Delete all trashed messages'''.&lt;br /&gt;
The database is compacted once every month automatically without deletion of trashed messages.&lt;br /&gt;
&lt;br /&gt;
== Statistics ==&lt;br /&gt;
=== Time ===&lt;br /&gt;
On an average computer, different processes take different amounts of time.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Action !! Time required&lt;br /&gt;
|-&lt;br /&gt;
| Generate an address || 1 second*&lt;br /&gt;
|-&lt;br /&gt;
| Generate an address (1 or 2 characters shorter) || 5 minutes*&lt;br /&gt;
|-&lt;br /&gt;
| Sender do work necessary to send broadcast|| 2 minutes&lt;br /&gt;
|-&lt;br /&gt;
| Sender do work necessary to send person-to-person message|| 4 minutes&lt;br /&gt;
|-&lt;br /&gt;
| message (or acknowledgement data) propagate through the network|| 10 seconds&lt;br /&gt;
|}&lt;br /&gt;
Note that on Linux and OSX systems, Bitmessage can often do work much faster as it is able to use all available cores and a faster hashing module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; After this step is done, the client will silently do work to send out the public key over the network which will take about 2 minutes.&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=File:Addchanbitmessage.PNG&amp;diff=31643</id>
		<title>File:Addchanbitmessage.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=File:Addchanbitmessage.PNG&amp;diff=31643"/>
		<updated>2015-11-23T07:44:35Z</updated>

		<summary type="html">&lt;p&gt;AyrA: AyrA uploaded a new version of File:Addchanbitmessage.PNG&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=File:Frontbitmessage.PNG&amp;diff=31642</id>
		<title>File:Frontbitmessage.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=File:Frontbitmessage.PNG&amp;diff=31642"/>
		<updated>2015-11-23T07:42:08Z</updated>

		<summary type="html">&lt;p&gt;AyrA: AyrA uploaded a new version of File:Frontbitmessage.PNG&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=Lite_Client_Message_Retrieval_Proposal&amp;diff=26262</id>
		<title>Lite Client Message Retrieval Proposal</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=Lite_Client_Message_Retrieval_Proposal&amp;diff=26262"/>
		<updated>2014-12-20T19:38:05Z</updated>

		<summary type="html">&lt;p&gt;AyrA: added proposal note&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Proposal}}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
This is a proposal to introduce a mechanism into the Bitmessage protocol that will allow 'lite' Bitmessage clients to retreive messages that have been sent to them without downloading all the messages in a stream.&lt;br /&gt;
&lt;br /&gt;
== Summary of the proposal ==&lt;br /&gt;
&lt;br /&gt;
* Lite clients can determine which messages they need to dowload using 'prefix filters'. &lt;br /&gt;
* Prefix filters allow the owner of each Bitmessage address to determine the balance between anonymity and efficiency that they will have when retrieving messages.&lt;br /&gt;
* Users who wish to retain the highest level of anonymity (by downloading all messages in a stream) are not affected by this change. Messages to them are 'tagged' with completely random data. &lt;br /&gt;
* Users who do not care about anonymity can specify a very precise prefix for each of their addresses, allowing them to download only messages destined for them.&lt;br /&gt;
* Other users can achieve a balance between anonymity and convenience. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reasoning behind the proposal ==&lt;br /&gt;
&lt;br /&gt;
Currently, Bitmessage clients such as PyBitmessage act as full nodes in the Bitmessage peer-to-peer network. This involves transmitting, receiving, and processing a large amount of data. This workload may be manageable for more powerful devices, such as laptops, desktops, and servers, but it is typically too great for less powerful devices such as mobile phones and tablets to reasonably handle. This is particularly true in cases where mobile internet connections mean that bandwidth is very expensive. Because of this, a high proportion of the computing devices in use today are not suitable to act as full nodes in the Bitmessage peer-to-peer network. Therefore, in order for the users of these devices to be able to use Bitmessage, there must be some way of doing so that does not involve their device acting as a full node in the network.&lt;br /&gt;
&lt;br /&gt;
One approach to solving this problem is the creation of 'lite' clients. These are Bitmessage clients which do not do all the processing and transmission work that full nodes do. Instead, the burden of this work is shifted to servers, which supply lite clients with the data they need and relay data sent by lite clients to the rest of the Bitmessage network. Thankfully the design of Bitmessage allows this to be implemented in such a way that very little security is lost. All message encryption and decryption can be done locally by the lite client, and it can retain sole control over its addresses and cryptographic keys. Data provided by servers can be cryptographically authenticated as being correct, and data sent to servers can be disseminated to several at once to ensure that it reaches the rest of the network. &lt;br /&gt;
&lt;br /&gt;
However, this arrangement does require one significant compromise. In order for 'lite' clients such as mobile phones to receive messages, there needs to be some way for them to identify messages that have been sent to their addresses. Full nodes in Bitmessage do not require this because they receive and automatically attempt to decrypt all messages in the streams (segments of the network) which they are a part of. As described above however, the work required for this approach is too great for many devices, and therefore there must be some way for lite clients to identify which messages are destined for them, so that they can request those messages from a server. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Proposed changes ==&lt;br /&gt;
&lt;br /&gt;
The pubkey of every hashed address contains two new fields: a 'prefix length' field and a 'prefix' field. The value of the prefix length field is defined by the owner of the pubkey. The prefix field is set randomly. The value of the prefix length field defines what balance of efficiency and anonymity the owner of that address wants. If the value of the prefix length field is zero, then the prefix field can be ignored entirely, giving maximum anonymity. On the other extreme, if the value of the prefix length field is 32 (the maximum), then the full 32 bits of the prefix should be used, giving maximum efficiency in retrieving data. Each additional bit used halves the proportion of the total data set that you will have to request in order to receive data destined for you. &lt;br /&gt;
&lt;br /&gt;
All msgs have a 'prefix nonce' as part of their unencrypted data. This prefix nonce is always of a fixed length (32 bits) to avoid leaking information. When sending a msg to an address, the sending client examines the destination address's pubkey and sets the first n bits of the prefix nonce to match the prefix found in the pubkey. The remainder of the prefix nonce is set randomly.  &lt;br /&gt;
&lt;br /&gt;
When a lite client wishes to retrieve msgs from the network, it makes a request to a server for all msgs which have a prefix nonce where the first n bits matches the prefix of the lite client's address(s). &lt;br /&gt;
&lt;br /&gt;
=== Pubkey object ===&lt;br /&gt;
Under this proposal, the encrypted part of a pubkey object would be composed as follows. This can be compared to the current specification found at https://bitmessage.org/wiki/Protocol_specification#pubkey.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field Size !! Description !! Data type !! Comments&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| 4||[[Protocol_specification#Pubkey_bitfield_features|behavior bitfield]]||uint32_t||A bitfield of optional behaviors and features that can be expected from the node receiving the message. &lt;br /&gt;
|-&lt;br /&gt;
| 1||prefix_length||uint8_t||The number of bits from the prefix value that should be used. Must be in the range 0-32.&lt;br /&gt;
|-&lt;br /&gt;
| 4||prefix||uint32_t||The prefix value. Contains 32 randomly set bits. &lt;br /&gt;
|-&lt;br /&gt;
| 64||public signing key||uchar[]||The ECC public key used for signing (uncompressed format; normally prepended with \x04 )&lt;br /&gt;
|-&lt;br /&gt;
| 64||public encryption key||uchar[]||The ECC public key used for encryption (uncompressed format; normally prepended with \x04 )&lt;br /&gt;
|-&lt;br /&gt;
| 1+||nonce_trials_per_byte||var_int||Used to calculate the difficulty target of messages accepted by this node. The higher this value, the more difficult the Proof of Work must be before this individual will accept the message. This number is the average number of nonce trials a node will have to perform to meet the Proof of Work requirement. 1000 is the network minimum so any lower values will be automatically raised to 1000. &lt;br /&gt;
|-&lt;br /&gt;
| 1+||extra_bytes||var_int||Used to calculate the difficulty target of messages accepted by this node. The higher this value, the more difficult the Proof of Work must be before this individual will accept the message. This number is added to the data length to make sending small messages more difficult. 1000 is the network minimum so any lower values will be automatically raised to 1000.&lt;br /&gt;
|-&lt;br /&gt;
| 1+||sig_length||var_int||Length of the signature&lt;br /&gt;
|-&lt;br /&gt;
| sig_length||signature||uchar[]||The ECDSA signature which covers everything from the object header starting with the time, then appended with the decrypted data down to the extra_bytes. &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;This was changed in protocol v3. &amp;lt;/span&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Msg object ===&lt;br /&gt;
Under this proposal, a msg object would be composed as follows. This can be compared to the current specification found at https://bitmessage.org/wiki/Protocol_specification#msg. &lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field Size !! Description !! Data type !! Comments&lt;br /&gt;
|-&lt;br /&gt;
| 4||prefixNonce||uint32_t||The prefix nonce. &lt;br /&gt;
|-&lt;br /&gt;
| ?||encrypted||uchar[]||Encrypted data. See [[Protocol_specification#Encrypted_payload|Encrypted payload]]. See also [[Protocol_specification#Unencrypted_Message_Data|Unencrypted Message Data Format]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
===Example 1=== &lt;br /&gt;
If Alice does not care about anonymity, she can have her address's pubkey specify that the full 32 bits of the prefix field should be used. This means that all msgs sent to her will effectively be uniquely tagged for her address (there are roughly 4 billion possible prefix values). This will allow Alice to only download msgs that are destined for her, giving her maximum usability and convenience at the expense of anonymity.&lt;br /&gt;
&lt;br /&gt;
===Example 2=== &lt;br /&gt;
If Bob wants to achieve a balance between anonymity and convenience, he can have his address's pubkey specify that 4 bits of the prefix field should be used, e.g 0110. This means that all msgs sent to his address will have a prefix nonce beginning with 0110. A random distribution of prefixes in a stream should mean that roughly 6.25% of msgs in a stream will have a prefix nonce beginning with 0110. Therefore Bob will be able to download roughly 6.25% of the msgs in a stream and still be guaranteed to receive all msgs destined for him. &lt;br /&gt;
&lt;br /&gt;
===Example 3=== &lt;br /&gt;
If Carol wants maximum anonymity then she can have her address's pubkey specify that zero bits of the prefix field should be used. This means that msgs sent to her will contain no identifying information, only a totally random prefix nonce. Carol will have to download and attempt to decrypt all msgs in a stream in order to be sure of receiving all msgs destined for her.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
===Other object types=== &lt;br /&gt;
Prefix filtering is not required for broadcasts, pubkeys, or getpubkeys. These object types are already tagged with an identifier. &lt;br /&gt;
&lt;br /&gt;
===Lite client pubkey retrieval=== &lt;br /&gt;
How can lite clients retrieve pubkeys without telling the servers who they are talking to?&amp;lt;br&amp;gt;&lt;br /&gt;
In the short to medium term (until streams are implemented), it will be perfectly viable for lite clients to simply download all pubkeys in stream 1. A pubkey is 392 bytes in size. If we assume an average of 5 addresses per user, we could support a 10x increase in the number of active users (from roughly 1,000 to 10,000), and lite clients would still only have to download 19MB worth of pubkey data. This is only a rough approximation, but it seems reasonably clear that the amount of data to download and store would be acceptable. &lt;br /&gt;
&lt;br /&gt;
===Lite client pubkey dissemination=== &lt;br /&gt;
How can lite clients respond to getpubkey requests?&amp;lt;br&amp;gt;&lt;br /&gt;
Lite clients can do this in two ways:&amp;lt;br&amp;gt;&lt;br /&gt;
1. They can make periodic requests to full node servers to check for any getpubkeys for any of their addresses and then respond to any getpubkeys they receive by re-disseminating the relevant pubkeys. &amp;lt;br&amp;gt;&lt;br /&gt;
2. They can periodically re-disseminate the pubkeys for each of their addresses, with the re-dissemiantion period determined by the time to live of the pubkeys they create. This will ensure that the pubkeys for all the lite client's addresses are always available in the stream(s) they are a part of.  &lt;br /&gt;
&lt;br /&gt;
===Non-hashed addresses=== &lt;br /&gt;
If non-hashed addresses are introduced in the future, this scheme will not apply to them, as they will not have pubkeys. Users of non-hashed addresses will still need to download and attempt to decrypt all msgs in each stream in which they have an address. This makes sense though, as the whole point of introducing non-hashed addresses is to give people the ability to choose greater anonymity at the expense of convenience.&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=Bitmessage_Wiki:About&amp;diff=25401</id>
		<title>Bitmessage Wiki:About</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=Bitmessage_Wiki:About&amp;diff=25401"/>
		<updated>2014-10-19T15:17:54Z</updated>

		<summary type="html">&lt;p&gt;AyrA: Protected &amp;quot;Bitmessage Wiki:About&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This wiki is for the documentation, discussion, and development of the Bitmessage software.&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=Template:External&amp;diff=25398</id>
		<title>Template:External</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=Template:External&amp;diff=25398"/>
		<updated>2014-10-19T11:12:18Z</updated>

		<summary type="html">&lt;p&gt;AyrA: added forum tag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;plainlinks&amp;quot; style=&amp;quot;border: 1px solid #fa0; width: 50%; background-color: #fec; padding: 10px; margin-bottom: 25px&amp;quot;&amp;gt;This page handles a 3rd party software that is not directly affilated with PyBitmessage. Please create your own wiki for your projects or use the forum.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;[[Category:Proposals]]&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=Bitseal&amp;diff=25397</id>
		<title>Bitseal</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=Bitseal&amp;diff=25397"/>
		<updated>2014-10-19T11:11:45Z</updated>

		<summary type="html">&lt;p&gt;AyrA: added external template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:External}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bitseal is a Bitmessage client for Android, currently in Beta. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bitseal Server ==&lt;br /&gt;
&lt;br /&gt;
The Bitseal server code can be found at: (https://github.com/JonathanCoe/bitseal-server)&lt;br /&gt;
&lt;br /&gt;
The Bitseal server application is a slightly modified version of PyBitmessage: (https://github.com/bitmessage/pybitmessage)&lt;br /&gt;
&lt;br /&gt;
See also Bitseal's main respository: (https://github.com/JonathanCoe/bitseal)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Instructions for setting up bitseal-server ===&lt;br /&gt;
&lt;br /&gt;
1) Download the zip file of the source code from Github&lt;br /&gt;
&lt;br /&gt;
2) Extract the source code files to the desired location on your server&lt;br /&gt;
&lt;br /&gt;
3) Run bitmessagemain.py&lt;br /&gt;
&lt;br /&gt;
4) After a few seconds, stop PyBitmessage. PyBitmessage will have created a keys.dat file, which you can now use to specify your API settings&lt;br /&gt;
&lt;br /&gt;
5) Open the keys.dat file. You can find its location using this reference: https://bitmessage.org/wiki/Keys.dat&lt;br /&gt;
&lt;br /&gt;
6) Add the following lines to the &amp;quot;bitmessagesettings&amp;quot; section of the keys.dat file, replacing the port number, username, and password values as appropriate:  &lt;br /&gt;
&lt;br /&gt;
daemon = true  &amp;lt;br&amp;gt;&lt;br /&gt;
apienabled = true  &amp;lt;br&amp;gt;&lt;br /&gt;
apiport = YOUR_API_PORT_NUMBER  &amp;lt;br&amp;gt;&lt;br /&gt;
apiinterface = 0.0.0.0  &amp;lt;br&amp;gt;&lt;br /&gt;
apiusername = YOUR_API_USERNAME  &amp;lt;br&amp;gt;&lt;br /&gt;
apipassword = YOUR_API_PASSWORD  &amp;lt;br&amp;gt;&lt;br /&gt;
                    &lt;br /&gt;
7) Save and close the keys.dat file&lt;br /&gt;
&lt;br /&gt;
8) Ensure that your server's firewall is set up allowing incoming + outgoing TCP connections on port 8444 (PyBitmessage default) and the API port you specified in the keys.dat file&lt;br /&gt;
&lt;br /&gt;
9) Run bitmessagemain.py&lt;br /&gt;
&lt;br /&gt;
10) Open Bitseal and add your server's URL, API username, and API password via the 'Server Settings' page&lt;br /&gt;
&lt;br /&gt;
11) Done!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bitseal Server API ===&lt;br /&gt;
Required arguments are denoted inside &amp;lt; and &amp;gt;  Optional arguments are inside [ and ]. &lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Command !! Parameters !! On Success Returns !! On Failure Returns !! Description&lt;br /&gt;
|-&lt;br /&gt;
| add || &amp;lt;integer&amp;gt; &amp;lt;integer&amp;gt; || An integer which is the sum of the two parameters || An API error || Returns the sum of the integers. Used as a simple test of the API.&lt;br /&gt;
|-&lt;br /&gt;
| disseminateMsg || &amp;lt;messageHex&amp;gt; || 'Message disseminated successfully' || 'Message dissemination failed', or an API error || Takes a hex-encoded msg object and disseminates it to the rest of the Bitmessage network. The POW for the msg must have already been done. &lt;br /&gt;
|-&lt;br /&gt;
| disseminatePubkey || &amp;lt;pubkeyHex&amp;gt; || 'Pubkey disseminated successfully' || 'Pubkey dissemination failed', or an API error  || Takes a hex-encoded pubkey object and disseminates it to the rest of the Bitmessage network. The POW for the pubkey must have already been done. &lt;br /&gt;
|-&lt;br /&gt;
| disseminateGetpubkey || &amp;lt;getpubkeyHex&amp;gt; || 'Getpubkey disseminated successfully' || 'Getpubkey dissemination failed', or an API error  || Takes a hex-encoded getpubkey object and disseminates it to the rest of the Bitmessage network. The POW for the getpubkey must have already been done. &lt;br /&gt;
|-&lt;br /&gt;
| requestPubkey || &amp;lt;identifierHex&amp;gt; &amp;lt;addressVersion&amp;gt; || The hex-encoded pubkey object, formatted as a single object in a JSON array || 'No pubkeys found', or an API error  || Takes an 'identifer' value and address version number and attempts to find a matching pubkey in the server's storage. The identifier value is ripe hash or the 'tag' of the pubkey which is being requested, depending on the address version of the pubkey. If a matching pubkey is found, it is returned to the client. &lt;br /&gt;
|-&lt;br /&gt;
| checkForNewMsgs || &amp;lt;streamNumber&amp;gt; &amp;lt;receivedSinceTime&amp;gt; &amp;lt;receivedBeforeTime&amp;gt; || A JSON array containing the hex-encoded msg objects || 'No msgs found', or an API error  || Takes a stream number, a 'received since' time value, and a 'received before' time value and returns any msg objects which were received in that stream number at a time between the two provided values. &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== API errors ====&lt;br /&gt;
&lt;br /&gt;
Here are the various error codes and messages you might see. Parts of the error messages in BLOCK_CAPITALS are variable fields that will change based on the data involved in the error.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Error Number!! Message&lt;br /&gt;
|- &lt;br /&gt;
| 000 || API Error 000: 'I need NUMBER_OF_PARAMETERS parameters!'&lt;br /&gt;
|-&lt;br /&gt;
| 001 || API Error 001: 'Decode error - DECODE_EXCEPTION_MESSAGE. Had trouble while decoding string: YOUR_STRING'&lt;br /&gt;
|-&lt;br /&gt;
| 002 || API Error 002: 'The address version cannot be less than ADDRESS_VERSION_NUMBER'&lt;br /&gt;
|-&lt;br /&gt;
| 003 || API Error 003: 'Address versions above ADDRESS_VERSION_NUMBER are currently not supported'&lt;br /&gt;
|-&lt;br /&gt;
| 004 || API Error 004: 'The length of hash should be 20 bytes (encoded in hex and thus 40 characters).'&lt;br /&gt;
|-&lt;br /&gt;
| 005 || API Error 005: 'The length of tag should be 32 bytes (encoded in hex and thus 64 characters).'&lt;br /&gt;
|-&lt;br /&gt;
| 006 || API Error 006: 'The requested object was found, but its payload is above the maximum size limit. The size of the object payload is PAYLOAD_SIZE_IN_BYTES'&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=Template:External&amp;diff=25396</id>
		<title>Template:External</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=Template:External&amp;diff=25396"/>
		<updated>2014-10-19T11:10:56Z</updated>

		<summary type="html">&lt;p&gt;AyrA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;plainlinks&amp;quot; style=&amp;quot;border: 1px solid #fa0; width: 50%; background-color: #fec; padding: 10px; margin-bottom: 25px&amp;quot;&amp;gt;This page handles a 3rd party software that is not directly affilated with PyBitmessage. Please create your own wiki for your projects.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;[[Category:Proposals]]&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=Template:External&amp;diff=25395</id>
		<title>Template:External</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=Template:External&amp;diff=25395"/>
		<updated>2014-10-19T11:09:59Z</updated>

		<summary type="html">&lt;p&gt;AyrA: Created page with &amp;quot;&amp;lt;div class=&amp;quot;plainlinks&amp;quot; style=&amp;quot;border: 1px solid #ee0; width: 50%; background-color: #ffc; padding: 10px; margin-bottom: 25px&amp;quot;&amp;gt;This page handles a 3rd party software that is n...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;plainlinks&amp;quot; style=&amp;quot;border: 1px solid #ee0; width: 50%; background-color: #ffc; padding: 10px; margin-bottom: 25px&amp;quot;&amp;gt;This page handles a 3rd party software that is not directly affilated with PyBitmessage. Please create your own wiki.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;[[Category:Proposals]]&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=Compiling_instructions&amp;diff=24489</id>
		<title>Compiling instructions</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=Compiling_instructions&amp;diff=24489"/>
		<updated>2014-07-15T13:36:50Z</updated>

		<summary type="html">&lt;p&gt;AyrA: Protected &amp;quot;Compiling instructions&amp;quot;: Excessive vandalism ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page should help novice users run Bitmessage from the source code files.&lt;br /&gt;
&lt;br /&gt;
= Linux =&lt;br /&gt;
&lt;br /&gt;
== Resolve dependencies ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;80%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Distribuion&lt;br /&gt;
! Instructions&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Debian-based&lt;br /&gt;
(Ubuntu, Raspbian, PiBang, others)&lt;br /&gt;
| &amp;lt;small&amp;gt;''Note for Debian Squeeze (6.0) users: Debian Squeeze does not offer packages (like Python, OpenSSL) in versions that are needed for Bitmessage. You can still try to [https://github.com/Bitmessage/PyBitmessage/issues/47#issuecomment-17774377 work around these problems]. Debian 7 &amp;quot;wheezy&amp;quot; works without problems.''&amp;lt;/small&amp;gt;&lt;br /&gt;
  sudo apt-get install python openssl git python-qt4&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Arch Linux&lt;br /&gt;
| &lt;br /&gt;
  sudo pacman -S python2 openssl git python2-pyqt4&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Fedora&lt;br /&gt;
| &amp;lt;small&amp;gt;''Fedora and RHEL6 do not support EC in OpenSSL. Therefore we need [http://linux.ringingliberty.com/bitcoin/ Ringing Liberty's bitcoin repository] to get a compatible library.''&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
  su -c 'yum install -y http://linux.ringingliberty.com/bitcoin/f18/x86_64/bitcoin-release-1-4.noarch.rpm'&lt;br /&gt;
  su -c 'yum install -y python python-qt4 git openssl-compat-bitcoin-libs'&lt;br /&gt;
&lt;br /&gt;
Tell your system where to look for the library:&lt;br /&gt;
  echo 'LD_LIBRARY_PATH=&amp;quot;/opt/openssl-compat-bitcoin/lib/&amp;quot;' &amp;gt;&amp;gt; ~/.bashrc &amp;amp;&amp;amp; source ~/.bashrc&lt;br /&gt;
Note for Fedora 20 users: Due to inconsistent behavior encountered by declaring the above variable globally, the following &amp;quot;wrapper script&amp;quot; will declare the LD_LIBRARY_PATH variable correctly and only when running bitmessage.  Name the script something like &amp;quot;bitmessage&amp;quot;, mark it as executable (probably something like 755) and put it in /usr/bin so it's accessible without the full path.&lt;br /&gt;
  export LD_LIBRARY_PATH=&amp;quot;/opt/openssl-compat-bitcoin/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}&amp;quot;&lt;br /&gt;
  /home/&amp;lt;yourusername&amp;gt;/PyBitmessage/src/bitmessagemain.py &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 &amp;amp;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Red Hat Enterprise Linux (RHEL)&lt;br /&gt;
| &amp;lt;small&amp;gt;''Fedora and RHEL6 do not support EC in OpenSSL. Therefore we need [http://linux.ringingliberty.com/bitcoin/ Ringing Liberty's bitcoin repository] to get a compatible library.''&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
  su -c 'yum install -y http://linux.ringingliberty.com/bitcoin/el6/x86_64/bitcoin-release-1-4.noarch.rpm'&lt;br /&gt;
  su -c 'yum install -y python python-qt4 git openssl-compat-bitcoin-libs'&lt;br /&gt;
Tell your system where to look for the library:&lt;br /&gt;
  echo 'LD_LIBRARY_PATH=&amp;quot;/opt/openssl-compat-bitcoin/lib/&amp;quot;' &amp;gt;&amp;gt; ~/.bashrc &amp;amp;&amp;amp; source ~/.bashrc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Download and run PyBitmessage ==&lt;br /&gt;
# Download the source code from github:&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;git clone &amp;lt;nowiki&amp;gt;https://github.com/Bitmessage/PyBitmessage $HOME/PyBitmessage&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Run PyBitmessage:&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;~/PyBitmessage/src/bitmessagemain.py&amp;lt;/code&amp;gt;&lt;br /&gt;
Check the wiki for more information on how to run Bitmessage [https://bitmessage.org/wiki/Daemon as a daemon].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;If you receive a warning that you need to use python 2.7.5 or greater, and have followed the above instructions to upgrade it, your system may be attemping to run PyBitmessage with python 3. In this case, run &amp;lt;code&amp;gt;python2 ~/PyBitmessage/src/bitmessagemain.py&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Upgrading ==&lt;br /&gt;
To upgrade Bitmessage run the following commands:&lt;br /&gt;
:&amp;lt;code&amp;gt;cd $HOME/PyBitmessage&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;git pull&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= OS X =&lt;br /&gt;
== With Homebrew package manager ==&lt;br /&gt;
; Setup&lt;br /&gt;
First, make sure you have not already installed Macports. Having both macports and homebrew on the same system is a recipe for disaster. &lt;br /&gt;
Install Homebrew: &lt;br /&gt;
 ruby -e &amp;quot;$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
; Update Python:&lt;br /&gt;
 brew install python&lt;br /&gt;
&lt;br /&gt;
; Install dependencies:&lt;br /&gt;
 brew install pyqt openssl&lt;br /&gt;
&lt;br /&gt;
; Download and run&lt;br /&gt;
 cd ~/Desktop&lt;br /&gt;
 git clone git://github.com/Bitmessage/PyBitmessage.git&lt;br /&gt;
 cd PyBitmessage&lt;br /&gt;
 python src/bitmessagemain.py&lt;br /&gt;
&lt;br /&gt;
== With macports package manager ==&lt;br /&gt;
First, make sure you have not already installed Homebrew. Having both macports and homebrew on the same system is a recipe for disaster. &lt;br /&gt;
Installing with macports or homebrew essentially has the same effect. Homebrew does some things better than ports, and ports does some things better than brew. If old-school floats your boat, these instructions are for you. &lt;br /&gt;
&lt;br /&gt;
; Select the macports installation that is right for your version of osx&lt;br /&gt;
Read the instructions or take this as a reminder: Apple's XCode and their Command Line Tools are a prerequiste for Macports, go: https://www.macports.org/install.php&lt;br /&gt;
&lt;br /&gt;
; Install dependencies and needed tools&lt;br /&gt;
 sudo port install python27 py27-pyqt4 openssl&lt;br /&gt;
 sudo port install git-core +svn +doc +bash_completion +gitweb&lt;br /&gt;
&lt;br /&gt;
; Download and run&lt;br /&gt;
 cd ~/Desktop&lt;br /&gt;
 git clone git://github.com/Bitmessage/PyBitmessage.git&lt;br /&gt;
 cd PyBitmessage&lt;br /&gt;
 python2.7 src/bitmessagemain.py&lt;br /&gt;
&lt;br /&gt;
= Windows =&lt;br /&gt;
# Download and install the latest revision of Python 2.7 (currently Python 2.7.5 from [http://www.python.org/download/releases/2.7.5/ here]). The ''Windows x86 MSI Installer'' is the right choice for most people. (64-bit users may want the 64-bit version).&lt;br /&gt;
## Test that it installed:&lt;br /&gt;
### Open a command prompt by going to Start &amp;gt; Run. Type 'cmd' then press enter.&lt;br /&gt;
### type 'python'. If python is installed, you should see the python version and the prompt: '&amp;gt;&amp;gt;&amp;gt;'&lt;br /&gt;
### If you see a message such as: &amp;quot;'Python is not recognized as an internal or external command...&amp;quot; then you must add the python path to your path environmental variable:&lt;br /&gt;
#### Find the location where Python was installed (in particular, the location where python.exe exists). It might simply be in c:\Python2.7 &lt;br /&gt;
#### Follow [http://www.computerhope.com/issues/ch000549.htm these directions] to add the Python path to your path variable.&lt;br /&gt;
#### Close the command prompt window and reopen it. &lt;br /&gt;
### Try running 'python' again.&lt;br /&gt;
###Press Ctrl-Z to exit Python.&lt;br /&gt;
# Download PyQt from [http://www.riverbankcomputing.com/software/pyqt/download here].   ''PyQt is one of Bitmessage's two dependencies.'' Look for the links to downloads under the heading labeled &amp;quot;Binary Package;&amp;quot; the binary package versions are already compiled for you. Select the version for Python 2.7 (look for &amp;quot;Py2.7&amp;quot; in the file name). Install PyQt.&lt;br /&gt;
# Download OpenSSL from [http://slproweb.com/products/Win32OpenSSL.html here]. ''OpenSSL is the second of Bitmessage's two dependencies.''  Install OpenSSL.  If an error message appears during installation of OpenSSL, download and install Visual C++ 2008.  A link is provided on the OpenSSL download page.&lt;br /&gt;
# Download the source code for PyBitmessage from GitHub. If it is in a zip file, you will need to extract it. There should be a few files and a few folders where one of the folders is 'src'.&lt;br /&gt;
# To run Bitmessage, navigate into the 'src' folder and then double click on the bitmessagemain.py file, or in a command prompt, change directories to the 'src' directory which holds bitmessagemain.py and type 'python bitmessagemain.py'. &lt;br /&gt;
&lt;br /&gt;
== If you change user interface files ==&lt;br /&gt;
You can use Qt's Designer application to modify the user interface. After you do this, you will need to 'compile' .ui files into .py files. &lt;br /&gt;
# In a command prompt, change directories to the directory of your .ui file.&lt;br /&gt;
# Run 'pyuic4 example.ui &amp;gt; example.py'  If you get a message similar to 'pyuic4 is not recognized as an internal or external command' then you must add the PyQt directory to your system's path variable. This directory should hold pyuic4.bat. It might be in C:\Python27\Lib\site-packages\PyQt4. Remember to close the command window and reopen it after you change your path variable.&lt;br /&gt;
&lt;br /&gt;
If you add icons to bitmessage_icons.qrc, then you must run this command:&lt;br /&gt;
pyrcc4 bitmessage_icons.qrc -o bitmessage_icons_rc.py&lt;br /&gt;
&lt;br /&gt;
== Optional: Compile into a stand-alone EXE ==&lt;br /&gt;
# Download [http://www.pyinstaller.org/ PyInstaller].&lt;br /&gt;
# Copy Bitmessage's 'src' directory to the PyInstaller directory (which contains pyinstaller.py). &lt;br /&gt;
# Run 'pyinstaller.py --onefile --noconsole --icon=&amp;quot;src\images\can-icon.ico&amp;quot; src\bitmessagemain.py'&lt;br /&gt;
This won't include the OpenSSL DLL file in the EXE; if you send it to someone who doesn't have OpenSSL installed, it will not run. To include the DLL file in the EXE, you must follow these steps:&lt;br /&gt;
# After following the steps above, you will see that pyinstaller created a folder called bitmessagemain. In that folder is a file: bitmessagemain.spec. Open it with a text editor.&lt;br /&gt;
# Below the line &amp;quot;a.datas,&amp;quot; add this line: &amp;lt;code&amp;gt;a.binaries + [('libeay32.dll', 'c:\\windows\\system32\\libeay32.dll', 'BINARY')],&amp;lt;/code&amp;gt;&lt;br /&gt;
# Optionally also include the translations by modifying this file further by adding the lines shown in [[Example_pyinstaller_spec_file|this]] example file. &lt;br /&gt;
# Save and close&lt;br /&gt;
# Run this command: pyinstaller.py bitmessagemain/bitmessagemain.spec&lt;br /&gt;
&lt;br /&gt;
If you do not have the libeay32.dll you can download it here. http://www.dll-files.com/dllindex/dll-files.shtml?libeay32&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=Compiling_instructions&amp;diff=24488</id>
		<title>Compiling instructions</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=Compiling_instructions&amp;diff=24488"/>
		<updated>2014-07-15T13:36:23Z</updated>

		<summary type="html">&lt;p&gt;AyrA: Undo revision 24487 by Rajeshdhnashire (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page should help novice users run Bitmessage from the source code files.&lt;br /&gt;
&lt;br /&gt;
= Linux =&lt;br /&gt;
&lt;br /&gt;
== Resolve dependencies ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;80%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Distribuion&lt;br /&gt;
! Instructions&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Debian-based&lt;br /&gt;
(Ubuntu, Raspbian, PiBang, others)&lt;br /&gt;
| &amp;lt;small&amp;gt;''Note for Debian Squeeze (6.0) users: Debian Squeeze does not offer packages (like Python, OpenSSL) in versions that are needed for Bitmessage. You can still try to [https://github.com/Bitmessage/PyBitmessage/issues/47#issuecomment-17774377 work around these problems]. Debian 7 &amp;quot;wheezy&amp;quot; works without problems.''&amp;lt;/small&amp;gt;&lt;br /&gt;
  sudo apt-get install python openssl git python-qt4&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Arch Linux&lt;br /&gt;
| &lt;br /&gt;
  sudo pacman -S python2 openssl git python2-pyqt4&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Fedora&lt;br /&gt;
| &amp;lt;small&amp;gt;''Fedora and RHEL6 do not support EC in OpenSSL. Therefore we need [http://linux.ringingliberty.com/bitcoin/ Ringing Liberty's bitcoin repository] to get a compatible library.''&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
  su -c 'yum install -y http://linux.ringingliberty.com/bitcoin/f18/x86_64/bitcoin-release-1-4.noarch.rpm'&lt;br /&gt;
  su -c 'yum install -y python python-qt4 git openssl-compat-bitcoin-libs'&lt;br /&gt;
&lt;br /&gt;
Tell your system where to look for the library:&lt;br /&gt;
  echo 'LD_LIBRARY_PATH=&amp;quot;/opt/openssl-compat-bitcoin/lib/&amp;quot;' &amp;gt;&amp;gt; ~/.bashrc &amp;amp;&amp;amp; source ~/.bashrc&lt;br /&gt;
Note for Fedora 20 users: Due to inconsistent behavior encountered by declaring the above variable globally, the following &amp;quot;wrapper script&amp;quot; will declare the LD_LIBRARY_PATH variable correctly and only when running bitmessage.  Name the script something like &amp;quot;bitmessage&amp;quot;, mark it as executable (probably something like 755) and put it in /usr/bin so it's accessible without the full path.&lt;br /&gt;
  export LD_LIBRARY_PATH=&amp;quot;/opt/openssl-compat-bitcoin/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}&amp;quot;&lt;br /&gt;
  /home/&amp;lt;yourusername&amp;gt;/PyBitmessage/src/bitmessagemain.py &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 &amp;amp;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Red Hat Enterprise Linux (RHEL)&lt;br /&gt;
| &amp;lt;small&amp;gt;''Fedora and RHEL6 do not support EC in OpenSSL. Therefore we need [http://linux.ringingliberty.com/bitcoin/ Ringing Liberty's bitcoin repository] to get a compatible library.''&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
  su -c 'yum install -y http://linux.ringingliberty.com/bitcoin/el6/x86_64/bitcoin-release-1-4.noarch.rpm'&lt;br /&gt;
  su -c 'yum install -y python python-qt4 git openssl-compat-bitcoin-libs'&lt;br /&gt;
Tell your system where to look for the library:&lt;br /&gt;
  echo 'LD_LIBRARY_PATH=&amp;quot;/opt/openssl-compat-bitcoin/lib/&amp;quot;' &amp;gt;&amp;gt; ~/.bashrc &amp;amp;&amp;amp; source ~/.bashrc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Download and run PyBitmessage ==&lt;br /&gt;
# Download the source code from github:&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;git clone &amp;lt;nowiki&amp;gt;https://github.com/Bitmessage/PyBitmessage $HOME/PyBitmessage&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Run PyBitmessage:&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;~/PyBitmessage/src/bitmessagemain.py&amp;lt;/code&amp;gt;&lt;br /&gt;
Check the wiki for more information on how to run Bitmessage [https://bitmessage.org/wiki/Daemon as a daemon].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;If you receive a warning that you need to use python 2.7.5 or greater, and have followed the above instructions to upgrade it, your system may be attemping to run PyBitmessage with python 3. In this case, run &amp;lt;code&amp;gt;python2 ~/PyBitmessage/src/bitmessagemain.py&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Upgrading ==&lt;br /&gt;
To upgrade Bitmessage run the following commands:&lt;br /&gt;
:&amp;lt;code&amp;gt;cd $HOME/PyBitmessage&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;git pull&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= OS X =&lt;br /&gt;
== With Homebrew package manager ==&lt;br /&gt;
; Setup&lt;br /&gt;
First, make sure you have not already installed Macports. Having both macports and homebrew on the same system is a recipe for disaster. &lt;br /&gt;
Install Homebrew: &lt;br /&gt;
 ruby -e &amp;quot;$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
; Update Python:&lt;br /&gt;
 brew install python&lt;br /&gt;
&lt;br /&gt;
; Install dependencies:&lt;br /&gt;
 brew install pyqt openssl&lt;br /&gt;
&lt;br /&gt;
; Download and run&lt;br /&gt;
 cd ~/Desktop&lt;br /&gt;
 git clone git://github.com/Bitmessage/PyBitmessage.git&lt;br /&gt;
 cd PyBitmessage&lt;br /&gt;
 python src/bitmessagemain.py&lt;br /&gt;
&lt;br /&gt;
== With macports package manager ==&lt;br /&gt;
First, make sure you have not already installed Homebrew. Having both macports and homebrew on the same system is a recipe for disaster. &lt;br /&gt;
Installing with macports or homebrew essentially has the same effect. Homebrew does some things better than ports, and ports does some things better than brew. If old-school floats your boat, these instructions are for you. &lt;br /&gt;
&lt;br /&gt;
; Select the macports installation that is right for your version of osx&lt;br /&gt;
Read the instructions or take this as a reminder: Apple's XCode and their Command Line Tools are a prerequiste for Macports, go: https://www.macports.org/install.php&lt;br /&gt;
&lt;br /&gt;
; Install dependencies and needed tools&lt;br /&gt;
 sudo port install python27 py27-pyqt4 openssl&lt;br /&gt;
 sudo port install git-core +svn +doc +bash_completion +gitweb&lt;br /&gt;
&lt;br /&gt;
; Download and run&lt;br /&gt;
 cd ~/Desktop&lt;br /&gt;
 git clone git://github.com/Bitmessage/PyBitmessage.git&lt;br /&gt;
 cd PyBitmessage&lt;br /&gt;
 python2.7 src/bitmessagemain.py&lt;br /&gt;
&lt;br /&gt;
= Windows =&lt;br /&gt;
# Download and install the latest revision of Python 2.7 (currently Python 2.7.5 from [http://www.python.org/download/releases/2.7.5/ here]). The ''Windows x86 MSI Installer'' is the right choice for most people. (64-bit users may want the 64-bit version).&lt;br /&gt;
## Test that it installed:&lt;br /&gt;
### Open a command prompt by going to Start &amp;gt; Run. Type 'cmd' then press enter.&lt;br /&gt;
### type 'python'. If python is installed, you should see the python version and the prompt: '&amp;gt;&amp;gt;&amp;gt;'&lt;br /&gt;
### If you see a message such as: &amp;quot;'Python is not recognized as an internal or external command...&amp;quot; then you must add the python path to your path environmental variable:&lt;br /&gt;
#### Find the location where Python was installed (in particular, the location where python.exe exists). It might simply be in c:\Python2.7 &lt;br /&gt;
#### Follow [http://www.computerhope.com/issues/ch000549.htm these directions] to add the Python path to your path variable.&lt;br /&gt;
#### Close the command prompt window and reopen it. &lt;br /&gt;
### Try running 'python' again.&lt;br /&gt;
###Press Ctrl-Z to exit Python.&lt;br /&gt;
# Download PyQt from [http://www.riverbankcomputing.com/software/pyqt/download here].   ''PyQt is one of Bitmessage's two dependencies.'' Look for the links to downloads under the heading labeled &amp;quot;Binary Package;&amp;quot; the binary package versions are already compiled for you. Select the version for Python 2.7 (look for &amp;quot;Py2.7&amp;quot; in the file name). Install PyQt.&lt;br /&gt;
# Download OpenSSL from [http://slproweb.com/products/Win32OpenSSL.html here]. ''OpenSSL is the second of Bitmessage's two dependencies.''  Install OpenSSL.  If an error message appears during installation of OpenSSL, download and install Visual C++ 2008.  A link is provided on the OpenSSL download page.&lt;br /&gt;
# Download the source code for PyBitmessage from GitHub. If it is in a zip file, you will need to extract it. There should be a few files and a few folders where one of the folders is 'src'.&lt;br /&gt;
# To run Bitmessage, navigate into the 'src' folder and then double click on the bitmessagemain.py file, or in a command prompt, change directories to the 'src' directory which holds bitmessagemain.py and type 'python bitmessagemain.py'. &lt;br /&gt;
&lt;br /&gt;
== If you change user interface files ==&lt;br /&gt;
You can use Qt's Designer application to modify the user interface. After you do this, you will need to 'compile' .ui files into .py files. &lt;br /&gt;
# In a command prompt, change directories to the directory of your .ui file.&lt;br /&gt;
# Run 'pyuic4 example.ui &amp;gt; example.py'  If you get a message similar to 'pyuic4 is not recognized as an internal or external command' then you must add the PyQt directory to your system's path variable. This directory should hold pyuic4.bat. It might be in C:\Python27\Lib\site-packages\PyQt4. Remember to close the command window and reopen it after you change your path variable.&lt;br /&gt;
&lt;br /&gt;
If you add icons to bitmessage_icons.qrc, then you must run this command:&lt;br /&gt;
pyrcc4 bitmessage_icons.qrc -o bitmessage_icons_rc.py&lt;br /&gt;
&lt;br /&gt;
== Optional: Compile into a stand-alone EXE ==&lt;br /&gt;
# Download [http://www.pyinstaller.org/ PyInstaller].&lt;br /&gt;
# Copy Bitmessage's 'src' directory to the PyInstaller directory (which contains pyinstaller.py). &lt;br /&gt;
# Run 'pyinstaller.py --onefile --noconsole --icon=&amp;quot;src\images\can-icon.ico&amp;quot; src\bitmessagemain.py'&lt;br /&gt;
This won't include the OpenSSL DLL file in the EXE; if you send it to someone who doesn't have OpenSSL installed, it will not run. To include the DLL file in the EXE, you must follow these steps:&lt;br /&gt;
# After following the steps above, you will see that pyinstaller created a folder called bitmessagemain. In that folder is a file: bitmessagemain.spec. Open it with a text editor.&lt;br /&gt;
# Below the line &amp;quot;a.datas,&amp;quot; add this line: &amp;lt;code&amp;gt;a.binaries + [('libeay32.dll', 'c:\\windows\\system32\\libeay32.dll', 'BINARY')],&amp;lt;/code&amp;gt;&lt;br /&gt;
# Optionally also include the translations by modifying this file further by adding the lines shown in [[Example_pyinstaller_spec_file|this]] example file. &lt;br /&gt;
# Save and close&lt;br /&gt;
# Run this command: pyinstaller.py bitmessagemain/bitmessagemain.spec&lt;br /&gt;
&lt;br /&gt;
If you do not have the libeay32.dll you can download it here. http://www.dll-files.com/dllindex/dll-files.shtml?libeay32&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=Keys.dat_options&amp;diff=23582</id>
		<title>Keys.dat options</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=Keys.dat_options&amp;diff=23582"/>
		<updated>2014-05-02T23:25:10Z</updated>

		<summary type="html">&lt;p&gt;AyrA: added table.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists the extra 'hidden' options of which you can make use by adding them to your [[keys.dat]] file in the bitmessagesettings section. These options are either not set by default or are not documented at all.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Copy these two lines for easy expansion of the table&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| VERSION || NAME || VALUE || WIKIPAGE || DESCRIPTION&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Possible options ==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Version !! Name !! Values !! Documentation !! Description&lt;br /&gt;
|-&lt;br /&gt;
| ? || trustedpeer || IP:Port || undocumented || Connect to the specified node and only the specified node. Useful if you trust a node on your local network and want to sync to it quickly. Disallows incoming connections. Disables the built-in timing attack mitigation mechanism.&lt;br /&gt;
|-&lt;br /&gt;
| 0.2.7 || apienabled || true/false || [[API|API Reference]] || Turns the [[API]] on or off&lt;br /&gt;
|-&lt;br /&gt;
| 0.2.7 || apiport || number || [[API|API Reference]] || Port number to listen on (0-65535)&lt;br /&gt;
|-&lt;br /&gt;
| 0.2.7 || apiinterface || IP || [[API|API Reference]] || IP address of a local interface. 127.0.0.1 for localhost only access and 0.0.0.0 for all interfaces.&lt;br /&gt;
|-&lt;br /&gt;
| 0.2.7 || apiusername || string || [[API|API Reference]] || Username to access the API&lt;br /&gt;
|-&lt;br /&gt;
| 0.2.7 || apipassword || string || [[API|API Reference]] || password to access the API&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== enabling options ==&lt;br /&gt;
To enable an option, the [[keys.dat]] must be edited.&lt;br /&gt;
Lines of the format&lt;br /&gt;
&amp;lt;pre&amp;gt;name = Value&amp;lt;/pre&amp;gt;&lt;br /&gt;
can be added. '''Please be aware of the spacing around the equal sign'''&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=Keys.dat&amp;diff=23581</id>
		<title>Keys.dat</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=Keys.dat&amp;diff=23581"/>
		<updated>2014-05-02T23:16:01Z</updated>

		<summary type="html">&lt;p&gt;AyrA: added more option documentation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;keys.dat is a mixture of Bitmessage configuration and [[Address Block|Address blocks]]. It should be protected since it contains sensitive data that can be abused to impersonate others.&lt;br /&gt;
&lt;br /&gt;
== Location ==&lt;br /&gt;
The file is located in the bitmessage directory (if run in portable mode).&lt;br /&gt;
On a Windows system in non-portable mode it is in the [http://en.wikipedia.org/wiki/Special_Folders#File_system_directories AppData] and can be reached by typing '''%APPDATA%\PyBitmessage''' in the windows explorers address bar. (Windows Explorer, not Internet Explorer)&lt;br /&gt;
&lt;br /&gt;
Under Linux it is found in the users home directory: ~/.config/PyBitmessage&lt;br /&gt;
&lt;br /&gt;
Under OSX it is found in the users home directory: ~/Library/Application Support/PyBitmessage&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
The keys.dat contains multiple sections:&lt;br /&gt;
&lt;br /&gt;
=== [DEFAULT] and [bitmessagesettings] ===&lt;br /&gt;
Example Configuration&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[DEFAULT]&lt;br /&gt;
label = unused address&lt;br /&gt;
&lt;br /&gt;
[bitmessagesettings]&lt;br /&gt;
settingsversion = 5&lt;br /&gt;
port = 8444&lt;br /&gt;
timeformat = %%a, %%d %%b %%Y  %%I:%%M %%p&lt;br /&gt;
blackwhitelist = black&lt;br /&gt;
startonlogon = False&lt;br /&gt;
minimizetotray = True&lt;br /&gt;
showtraynotifications = False&lt;br /&gt;
startintray = False&lt;br /&gt;
socksproxytype = none&lt;br /&gt;
sockshostname = localhost&lt;br /&gt;
socksport = 9050&lt;br /&gt;
socksauthentication = False&lt;br /&gt;
socksusername = USER&lt;br /&gt;
sockspassword = PASS&lt;br /&gt;
keysencrypted = false&lt;br /&gt;
messagesencrypted = false&lt;br /&gt;
apienabled = true&lt;br /&gt;
apiport = 8442&lt;br /&gt;
apiinterface = 127.0.0.1&lt;br /&gt;
apiusername = API-Username&lt;br /&gt;
apipassword = API-Password&lt;br /&gt;
defaultnoncetrialsperbyte = 320&lt;br /&gt;
defaultpayloadlengthextrabytes = 14000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The [[API_Reference|API settings]] are not present by default.&lt;br /&gt;
The section may additionally contain a [[Daemon]] entry.&lt;br /&gt;
&lt;br /&gt;
=== Address Sections ===&lt;br /&gt;
The keys.dat contains sections, called [[Address Block|address blocks]].&lt;br /&gt;
&lt;br /&gt;
== Hidden options ==&lt;br /&gt;
Some options are either not documented or are not set by default. These can be found on the [[keys.dat options]] page.&lt;br /&gt;
&lt;br /&gt;
== Editing ==&lt;br /&gt;
Editing requires shutdown of the client first or changes may be overwritten again by the client.&lt;br /&gt;
All fields (except the '''DEFAULT''' section) can be edited in the clients settings dialog. changes can prevent the client from loading or addresses from working and should be taken with care. The keys.dat can be edited in any text editor and has to be saved back as raw text file, rendering office applications rather complicated to use. On windows, [http://en.wikipedia.org/wiki/Notepad_(software) notepad.exe] can be used for this purpose. Notepad can be opened and then the file can be loaded either by using '''File &amp;gt; Open''' or dragging it into the editor.&lt;br /&gt;
&lt;br /&gt;
== Deleting ==&lt;br /&gt;
Deleting the keys.dat renders all addresses generated unusable and causes the client to revert to its default sections.&lt;br /&gt;
Messages that were received prior to deletation remain in the [[messages.dat]] file and are still readable.&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
Instead of deleting, removing of entries is recommended, using the following steps:&lt;br /&gt;
* Create a copy of keys.dat in case something rouls up.&lt;br /&gt;
* Delete the file and restart bitmessage.&lt;br /&gt;
* Close bitmessage, open the newly generated keys.dat and add a message block from the backup.&lt;br /&gt;
* Restart bitmessage, if it works, continue adding address blocks.&lt;br /&gt;
* If bitmessage no longer works, the invalid message block should be removed from keys.dat and be sent to atheros (on github or the forum) for further debugging.&lt;br /&gt;
&lt;br /&gt;
[[Category:DAT Files]]&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=Template:Proposal&amp;diff=23580</id>
		<title>Template:Proposal</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=Template:Proposal&amp;diff=23580"/>
		<updated>2014-05-02T23:01:52Z</updated>

		<summary type="html">&lt;p&gt;AyrA: changed text&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;plainlinks&amp;quot; style=&amp;quot;border: 1px solid #ee0; width: 50%; background-color: #ffc; padding: 10px; margin-bottom: 25px&amp;quot;&amp;gt;This page is a proposal or recommendation. Its content is most likely not representing an actual situation.&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=Mobile_Protocol_specification&amp;diff=23551</id>
		<title>Mobile Protocol specification</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=Mobile_Protocol_specification&amp;diff=23551"/>
		<updated>2014-04-27T22:02:08Z</updated>

		<summary type="html">&lt;p&gt;AyrA: added headers&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Template:Proposal}}&lt;br /&gt;
&lt;br /&gt;
This is a DRAFT for protocol extensions to enable mobile devices to participate in bitmessage communication.&lt;br /&gt;
&lt;br /&gt;
=== intension ===&lt;br /&gt;
&lt;br /&gt;
if you want to let mobile devices participate in bitmessage communication, you need a gateway device. Theoretically the device could participate like a standard node, but this will cause too much traffic. Even if you have a flat rate, it'll cost to much battery.&lt;br /&gt;
This page describes a way, the standard protocol could be enhanced, to let mobile devices participate, at least through a gateway.&lt;br /&gt;
&lt;br /&gt;
=== the gateway ===&lt;br /&gt;
&lt;br /&gt;
The gateway first of all is a standard bitmessage node. As a bitmessage node it connects to other nodes and collects and exchanges objects. The mobile gateway functionality is an extension, an additional protocol variant.&lt;br /&gt;
&lt;br /&gt;
When a mobile device connects to a gateway it will identify itself in the &amp;quot;services&amp;quot; field of the version message to be a mobile device. The gateway will answer in the same field, that it is a gateway.&lt;br /&gt;
&lt;br /&gt;
Therefore the service table has to be enhanced:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Value !! Name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 1 || NODE_NETWORK || This is a normal network node.&lt;br /&gt;
|-&lt;br /&gt;
| 2 || NODE_MOBILE  || This is a mobile device with limited bandwidth.&lt;br /&gt;
|-&lt;br /&gt;
| 4 || NODE_GATEWAY || This node can send reduced traffic and work as a gateway.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== The differences in protocol behavior ===&lt;br /&gt;
&lt;br /&gt;
==== sending messages ====&lt;br /&gt;
&lt;br /&gt;
When accessed by a NODE_MOBILE the NODE_GATEWAY will not send any &amp;quot;addr&amp;quot; message, because the NODE_MOBILE will connect to the bitmessage network only through well known gateways. It will neither send a &amp;quot;inv&amp;quot; message, because it wants to reduce the traffic to the NODE_MOBILE.&lt;br /&gt;
&lt;br /&gt;
When accessed to a NODE_GATEWAY the NODE_MOBILE will not send a &amp;quot;addr&amp;quot; message, too. But it might send an &amp;quot;inv&amp;quot; message, when it has objects to share. and it can share already all types of objects with the network.&lt;br /&gt;
&lt;br /&gt;
With this very small protocol changes the NODE_MOBILE is already able to send messages using the bitmessage protocol, but with very reduced traffic load.&lt;br /&gt;
&lt;br /&gt;
==== receiving messages ====&lt;br /&gt;
&lt;br /&gt;
For the receive direction we must bring the NODE_GATEWAY in the position to select the objects the NODE_MOBILE is interested in.&lt;br /&gt;
Whenever the NODE_GATEWAY notifies, that NODE_MOBILE might be interested in objects, it sends a &amp;quot;inv&amp;quot; message to offer them (must only the objects, NODE_MOBILE is interested in!).&lt;br /&gt;
&lt;br /&gt;
How does NODE_GATEWAY know, which objects are of interest. There are different possibilities to notify this. First of all: every &amp;quot;getpubkey&amp;quot; object is translated into a request. When the object arrives at NODE_GATEWAY or if its already there, it is offered in an &amp;quot;inv&amp;quot; message.&lt;br /&gt;
&lt;br /&gt;
For &amp;quot;msg&amp;quot; and &amp;quot;broadcast&amp;quot; objects it's a little more complicate, because the NODE_GATEWAY has to make the decision. We must add an encrypted method, how the NODE_GATEWAY can get the secret keys of NODE_MOBILE.&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=Template:Proposal&amp;diff=23550</id>
		<title>Template:Proposal</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=Template:Proposal&amp;diff=23550"/>
		<updated>2014-04-27T22:01:19Z</updated>

		<summary type="html">&lt;p&gt;AyrA: Created page with &amp;quot;&amp;lt;div class=&amp;quot;plainlinks&amp;quot; style=&amp;quot;border: 1px solid #ee0; width: 50%; background-color: #ffc; padding: 10px; margin-bottom: 25px&amp;quot;&amp;gt;This page is a proposal or recommendation. Its c...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;plainlinks&amp;quot; style=&amp;quot;border: 1px solid #ee0; width: 50%; background-color: #ffc; padding: 10px; margin-bottom: 25px&amp;quot;&amp;gt;This page is a proposal or recommendation. Its content may or may not reflect an actual situation.&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=Main_Page&amp;diff=23388</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=Main_Page&amp;diff=23388"/>
		<updated>2014-03-20T23:03:26Z</updated>

		<summary type="html">&lt;p&gt;AyrA: I tried to find out, why the wiki was blank and reverted some changes.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{Infobox&lt;br /&gt;
|name=Bitmessage&lt;br /&gt;
|downloadsite=https://bitmessage.org/download/windows/Bitmessage.exe&lt;br /&gt;
|release caption=Current version (Beta)&lt;br /&gt;
|latest release date=January 25, 2014&lt;br /&gt;
}}&lt;br /&gt;
Bitmessage is a P2P communications [[Protocol specification|protocol]] used to send encrypted messages to another person or to many subscribers. It is decentralized and trustless, meaning that you need-not inherently trust any entities like root certificate authorities. It uses strong authentication which means that the sender of a message cannot be spoofed, and it aims to hide &amp;quot;non-content&amp;quot; data, like the sender and receiver of messages, from passive eavesdroppers like those running warrantless wiretapping programs. If Bitmessage is completely new to you, you may wish to start by reading the [https://bitmessage.org/bitmessage.pdf whitepaper].&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
An open source client is available for free under the very liberal [http://opensource.org/licenses/mit-license.php MIT license]. For screenshots and a description of the client, see this CryptoJunky article: [http://cryptojunky.com/blog/2013/03/09/setting-up-and-using-bitmessage-an-encrypted-communications-platform-based-on-bitcoin/ &amp;quot;Setting Up And Using Bitmessage&amp;quot;].&lt;br /&gt;
&lt;br /&gt;
[[File:windows_icon.png|link=https://bitmessage.org/download/windows/Bitmessage.exe]] [https://bitmessage.org/download/windows/Bitmessage.exe Download for Windows]&lt;br /&gt;
&lt;br /&gt;
[[File:apple_icon.png|link=https://bitmessage.org/download/osx/Bitmessage.dmg]] [https://bitmessage.org/download/osx/Bitmessage.dmg Download for OS X]&lt;br /&gt;
&lt;br /&gt;
[[File:tux.png|link=Compiling_instructions]] [[Compiling instructions|Run the source code]]&lt;br /&gt;
&lt;br /&gt;
Here is a simple echo server which will send your message back to you after being received: BM-orkCbppXWSqPpAxnz6jnfTZ2djb5pJKDb&lt;br /&gt;
&lt;br /&gt;
=== Source code ===&lt;br /&gt;
You may view the Python [https://github.com/Bitmessage/PyBitmessage source code on Github]. Bitmessage requires PyQt and OpenSSL. Step-by-step instructions on how to run the source code on Linux, Windows, or OSX is [[Compiling instructions|available here]].&lt;br /&gt;
&lt;br /&gt;
=== Security audit needed ===&lt;br /&gt;
Bitmessage is in need of an independent audit to verify its security. If you are a researcher capable of reviewing the source code, please [https://bitmessage.org/misc/emailaddress.png email] the lead developer. You will be helping to create a great privacy option for people everywhere!&lt;br /&gt;
&lt;br /&gt;
=== Forum ===&lt;br /&gt;
* Visit or subscribe to the [https://pay.reddit.com/r/bitmessage Bitmessage subreddit].&lt;br /&gt;
* A community-based forum for questions, feedback, and discussion is also available at [https://bitmessage.org/forum Bitmessage.org/forum].&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=Main_Page&amp;diff=23387</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=Main_Page&amp;diff=23387"/>
		<updated>2014-03-20T23:01:13Z</updated>

		<summary type="html">&lt;p&gt;AyrA: Reverted edits by Atheros (talk) to last revision by AyrA&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{Infobox&lt;br /&gt;
|name=Bitmessage&lt;br /&gt;
|downloadsite=https://bitmessage.org/download/windows/Bitmessage.exe&lt;br /&gt;
|release caption=Current version (Beta)&lt;br /&gt;
|latest release date=October 10, 2013&lt;br /&gt;
}}&lt;br /&gt;
Bitmessage is a P2P communications [[Protocol specification|protocol]] used to send encrypted messages to another person or to many subscribers. It is decentralized and trustless, meaning that you need-not inherently trust any entities like root certificate authorities. It uses strong authentication which means that the sender of a message cannot be spoofed, and it aims to hide &amp;quot;non-content&amp;quot; data, like the sender and receiver of messages, from passive eavesdroppers like those running warrantless wiretapping programs. If Bitmessage is completely new to you, you may wish to start by reading the [https://bitmessage.org/bitmessage.pdf whitepaper].&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
An open source client is available for free under the very liberal [http://opensource.org/licenses/mit-license.php MIT license]. For screenshots and a description of the client, see this CryptoJunky article: [http://cryptojunky.com/blog/2013/03/09/setting-up-and-using-bitmessage-an-encrypted-communications-platform-based-on-bitcoin/ &amp;quot;Setting Up And Using Bitmessage&amp;quot;].&lt;br /&gt;
&lt;br /&gt;
[[File:windows_icon.png|link=https://bitmessage.org/download/windows/Bitmessage.exe]] [https://bitmessage.org/download/windows/Bitmessage.exe Download for Windows]&lt;br /&gt;
&lt;br /&gt;
[[File:apple_icon.png|link=https://bitmessage.org/download/osx/Bitmessage.dmg]] [https://bitmessage.org/download/osx/Bitmessage.dmg Download for OS X]&lt;br /&gt;
&lt;br /&gt;
[[File:tux.png|link=Compiling_instructions]] [[Compiling instructions|Run the source code]]&lt;br /&gt;
&lt;br /&gt;
Here is a simple echo server which will send your message back to you after being received: BM-orkCbppXWSqPpAxnz6jnfTZ2djb5pJKDb&lt;br /&gt;
&lt;br /&gt;
=== Source code ===&lt;br /&gt;
You may view the Python [https://github.com/Bitmessage/PyBitmessage source code on Github]. Bitmessage requires PyQt and OpenSSL. Step-by-step instructions on how to run the source code on Linux, Windows, or OSX is [[Compiling instructions|available here]].&lt;br /&gt;
&lt;br /&gt;
=== Security audit needed ===&lt;br /&gt;
Bitmessage is in need of an independent audit to verify its security. If you are a researcher capable of reviewing the source code, please [https://bitmessage.org/misc/emailaddress.png email] the lead developer. You will be helping to create a great privacy option for people everywhere!&lt;br /&gt;
&lt;br /&gt;
=== Forum ===&lt;br /&gt;
* Visit or subscribe to the [https://pay.reddit.com/r/bitmessage Bitmessage subreddit].&lt;br /&gt;
* A community-based forum for questions, feedback, and discussion is also available at [https://bitmessage.org/forum Bitmessage.org/forum].&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=Decentralized_Mailing_List&amp;diff=22747</id>
		<title>Decentralized Mailing List</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=Decentralized_Mailing_List&amp;diff=22747"/>
		<updated>2014-01-08T13:42:55Z</updated>

		<summary type="html">&lt;p&gt;AyrA: /* Usage */ expanded DML usage&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A [[Mailing List]] without the requirement of a central &amp;quot;authority&amp;quot;. Sometimes called Chan (short for channel) because they usually focus on a subject which also is the password for the deterministic address too.&lt;br /&gt;
&lt;br /&gt;
== Issues with regular Mailing Lists ==&lt;br /&gt;
Despite the fact that Bitmessage is a decentralized [[p2p]] network, pseudo-mailing lists require the client who operates the list to be online, creating a [http://en.wikipedia.org/wiki/Single_point_of_failure Single Point of Failure]. Decentralized lists circumvent this issue by having a group of users share private keys. Users may optionally send messages from the decentralized mailing list identity address itself. Decentralized lists cannot be clogged up with large messages because the [[POW]] is only done by the sending client.&lt;br /&gt;
&lt;br /&gt;
== Creation ==&lt;br /&gt;
A DML can be created in the File menu with the Option &amp;quot;Join / Create chan&amp;quot;. A Passphrase must be entered and the address is generated.&lt;br /&gt;
&lt;br /&gt;
== Joining ==&lt;br /&gt;
A DML can be joined in the File menu with the Option &amp;quot;Join / Create chan&amp;quot;. A Passphrase and the address must be entered.&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
There is no technical difference between creation and joining a DML. Joining requires the address to make sure that you typed the DML name correctly and to make sure that you are using the correct stream number and address version which are included in the address and serves as an error check for the client. If the address is not available, the user can create the DML instead of joining it with the same effect.&lt;br /&gt;
&lt;br /&gt;
== Incompatibilities ==&lt;br /&gt;
* You cannot use the n-th address or generate short addresses with the create/join dialog. You can do so when generating a deterministic address but it will not be recognized as DML.&lt;br /&gt;
* You cannot send messages to a DML if you are not member. This is caused by the fact, that a DML address does not publishes its public key.&lt;br /&gt;
&lt;br /&gt;
== Circumvent stuck client ==&lt;br /&gt;
To circumvent non-members of getting stuck, a user can create a deterministic address with the same configuration as the DML Address (provided he hasn't the DML already in his identities), this address will answer key requests and non-members world wide can use the DML.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
To properly use a DML, a user can&lt;br /&gt;
* Write from the DML, to the DML: This is completely anonymous and is the default behavior. Some users however tend to block the DML address itself using the blacklist to reduce spam.&lt;br /&gt;
* Write from a personal address to the DML: can be used to &amp;quot;sign&amp;quot; messages with the private address so nobody can claim it was he, who sent it. Also useful if people block the DML address itself (see point above)&lt;br /&gt;
* Write from a DML to a personal address: This can be used, if the user thinks the response might be useful for members of the given DML.&lt;br /&gt;
&lt;br /&gt;
== Issues with Decentralized Mailing Lists ==&lt;br /&gt;
* Since all users share the same address it cannot be easily verified, who sent a message.&lt;br /&gt;
* Spam cannot be blocked on address base, since everyone shares the same sender address.&lt;br /&gt;
* Non-Members cannot write to a DML&lt;br /&gt;
* Users are easier deanonymized when using DML addresses using simple network monitoring.&lt;br /&gt;
&lt;br /&gt;
== Updating ==&lt;br /&gt;
If a user was a member of a DML before 0.3.5 came out, he might want to update the address to a DML.&lt;br /&gt;
To do so, first of all the subscription needs to be removed in the GUI, after that, the [[keys.dat]] needs to be edited and the line &amp;quot;chan = true&amp;quot; needs to be inserted into the address block that should be a DML.&lt;br /&gt;
&lt;br /&gt;
== Example Address ==&lt;br /&gt;
Passphrase: '''general''', Address: '''BM-2DAV89w336ovy6BUJnfVRD5B9qipFbRgmr'''.&lt;br /&gt;
The [[Address Block]] of a DML should look like this (it may have additional entries):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[BM-2DAV89w336ovy6BUJnfVRD5B9qipFbRgmr]&lt;br /&gt;
label = general&lt;br /&gt;
enabled = true&lt;br /&gt;
decoy = false&lt;br /&gt;
chan = true&lt;br /&gt;
privsigningkey = 5Jnbdwc4u4DG9ipJxYLznXSvemkRFueQJNHujAQamtDDoX3N1eQ&lt;br /&gt;
privencryptionkey = 5JrDcFtQDv5ydcHRW6dfGUEvThoxCCLNEUaxQfy8LXXgTJzVAcq&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Address List ==&lt;br /&gt;
A list of addresses can be found at [https://bitmessage.org/forum/index.php/topic,1420.0.html the forum].&lt;br /&gt;
&lt;br /&gt;
[[Category:Address terms]]&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=Decentralized_Mailing_List&amp;diff=22746</id>
		<title>Decentralized Mailing List</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=Decentralized_Mailing_List&amp;diff=22746"/>
		<updated>2014-01-08T13:39:11Z</updated>

		<summary type="html">&lt;p&gt;AyrA: /* Notes */ better description&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A [[Mailing List]] without the requirement of a central &amp;quot;authority&amp;quot;. Sometimes called Chan (short for channel) because they usually focus on a subject which also is the password for the deterministic address too.&lt;br /&gt;
&lt;br /&gt;
== Issues with regular Mailing Lists ==&lt;br /&gt;
Despite the fact that Bitmessage is a decentralized [[p2p]] network, pseudo-mailing lists require the client who operates the list to be online, creating a [http://en.wikipedia.org/wiki/Single_point_of_failure Single Point of Failure]. Decentralized lists circumvent this issue by having a group of users share private keys. Users may optionally send messages from the decentralized mailing list identity address itself. Decentralized lists cannot be clogged up with large messages because the [[POW]] is only done by the sending client.&lt;br /&gt;
&lt;br /&gt;
== Creation ==&lt;br /&gt;
A DML can be created in the File menu with the Option &amp;quot;Join / Create chan&amp;quot;. A Passphrase must be entered and the address is generated.&lt;br /&gt;
&lt;br /&gt;
== Joining ==&lt;br /&gt;
A DML can be joined in the File menu with the Option &amp;quot;Join / Create chan&amp;quot;. A Passphrase and the address must be entered.&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
There is no technical difference between creation and joining a DML. Joining requires the address to make sure that you typed the DML name correctly and to make sure that you are using the correct stream number and address version which are included in the address and serves as an error check for the client. If the address is not available, the user can create the DML instead of joining it with the same effect.&lt;br /&gt;
&lt;br /&gt;
== Incompatibilities ==&lt;br /&gt;
* You cannot use the n-th address or generate short addresses with the create/join dialog. You can do so when generating a deterministic address but it will not be recognized as DML.&lt;br /&gt;
* You cannot send messages to a DML if you are not member. This is caused by the fact, that a DML address does not publishes its public key.&lt;br /&gt;
&lt;br /&gt;
== Circumvent stuck client ==&lt;br /&gt;
To circumvent non-members of getting stuck, a user can create a deterministic address with the same configuration as the DML Address (provided he hasn't the DML already in his identities), this address will answer key requests and non-members world wide can use the DML.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
To properly use a DML, a user can&lt;br /&gt;
* Write from the DML, to the DML: This is completely anonymous and is the default behaviour that should be taken.&lt;br /&gt;
* Write from a personal address to the DML: This can be used so answers given to the message will only be sent to the private address and not to the DML, or it can be used to &amp;quot;sign&amp;quot; messages with the private adress so nobody can claim it was he, who sent it.&lt;br /&gt;
&lt;br /&gt;
== Issues with Decentralized Mailing Lists ==&lt;br /&gt;
* Since all users share the same address it cannot be easily verified, who sent a message.&lt;br /&gt;
* Spam cannot be blocked on address base, since everyone shares the same sender address.&lt;br /&gt;
* Non-Members cannot write to a DML&lt;br /&gt;
* Users are easier deanonymized when using DML addresses using simple network monitoring.&lt;br /&gt;
&lt;br /&gt;
== Updating ==&lt;br /&gt;
If a user was a member of a DML before 0.3.5 came out, he might want to update the address to a DML.&lt;br /&gt;
To do so, first of all the subscription needs to be removed in the GUI, after that, the [[keys.dat]] needs to be edited and the line &amp;quot;chan = true&amp;quot; needs to be inserted into the address block that should be a DML.&lt;br /&gt;
&lt;br /&gt;
== Example Address ==&lt;br /&gt;
Passphrase: '''general''', Address: '''BM-2DAV89w336ovy6BUJnfVRD5B9qipFbRgmr'''.&lt;br /&gt;
The [[Address Block]] of a DML should look like this (it may have additional entries):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[BM-2DAV89w336ovy6BUJnfVRD5B9qipFbRgmr]&lt;br /&gt;
label = general&lt;br /&gt;
enabled = true&lt;br /&gt;
decoy = false&lt;br /&gt;
chan = true&lt;br /&gt;
privsigningkey = 5Jnbdwc4u4DG9ipJxYLznXSvemkRFueQJNHujAQamtDDoX3N1eQ&lt;br /&gt;
privencryptionkey = 5JrDcFtQDv5ydcHRW6dfGUEvThoxCCLNEUaxQfy8LXXgTJzVAcq&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Address List ==&lt;br /&gt;
A list of addresses can be found at [https://bitmessage.org/forum/index.php/topic,1420.0.html the forum].&lt;br /&gt;
&lt;br /&gt;
[[Category:Address terms]]&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=Decentralized_Mailing_List&amp;diff=22745</id>
		<title>Decentralized Mailing List</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=Decentralized_Mailing_List&amp;diff=22745"/>
		<updated>2014-01-08T13:28:08Z</updated>

		<summary type="html">&lt;p&gt;AyrA: /* Issues with Decentralized Mailing Lists */ deanonymization hint added.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A [[Mailing List]] without the requirement of a central &amp;quot;authority&amp;quot;. Sometimes called Chan (short for channel) because they usually focus on a subject which also is the password for the deterministic address too.&lt;br /&gt;
&lt;br /&gt;
== Issues with regular Mailing Lists ==&lt;br /&gt;
Despite the fact that Bitmessage is a decentralized [[p2p]] network, pseudo-mailing lists require the client who operates the list to be online, creating a [http://en.wikipedia.org/wiki/Single_point_of_failure Single Point of Failure]. Decentralized lists circumvent this issue by having a group of users share private keys. Users may optionally send messages from the decentralized mailing list identity address itself. Decentralized lists cannot be clogged up with large messages because the [[POW]] is only done by the sending client.&lt;br /&gt;
&lt;br /&gt;
== Creation ==&lt;br /&gt;
A DML can be created in the File menu with the Option &amp;quot;Join / Create chan&amp;quot;. A Passphrase must be entered and the address is generated.&lt;br /&gt;
&lt;br /&gt;
== Joining ==&lt;br /&gt;
A DML can be joined in the File menu with the Option &amp;quot;Join / Create chan&amp;quot;. A Passphrase and the address must be entered.&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
There is no technical difference between creation and joining a DML. Joining requires the address to make sure that you typed the DML name correctly and to make sure that you are using the correct stream number and address version which are included in the address.&lt;br /&gt;
&lt;br /&gt;
== Incompatibilities ==&lt;br /&gt;
* You cannot use the n-th address or generate short addresses with the create/join dialog. You can do so when generating a deterministic address but it will not be recognized as DML.&lt;br /&gt;
* You cannot send messages to a DML if you are not member. This is caused by the fact, that a DML address does not publishes its public key.&lt;br /&gt;
&lt;br /&gt;
== Circumvent stuck client ==&lt;br /&gt;
To circumvent non-members of getting stuck, a user can create a deterministic address with the same configuration as the DML Address (provided he hasn't the DML already in his identities), this address will answer key requests and non-members world wide can use the DML.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
To properly use a DML, a user can&lt;br /&gt;
* Write from the DML, to the DML: This is completely anonymous and is the default behaviour that should be taken.&lt;br /&gt;
* Write from a personal address to the DML: This can be used so answers given to the message will only be sent to the private address and not to the DML, or it can be used to &amp;quot;sign&amp;quot; messages with the private adress so nobody can claim it was he, who sent it.&lt;br /&gt;
&lt;br /&gt;
== Issues with Decentralized Mailing Lists ==&lt;br /&gt;
* Since all users share the same address it cannot be easily verified, who sent a message.&lt;br /&gt;
* Spam cannot be blocked on address base, since everyone shares the same sender address.&lt;br /&gt;
* Non-Members cannot write to a DML&lt;br /&gt;
* Users are easier deanonymized when using DML addresses using simple network monitoring.&lt;br /&gt;
&lt;br /&gt;
== Updating ==&lt;br /&gt;
If a user was a member of a DML before 0.3.5 came out, he might want to update the address to a DML.&lt;br /&gt;
To do so, first of all the subscription needs to be removed in the GUI, after that, the [[keys.dat]] needs to be edited and the line &amp;quot;chan = true&amp;quot; needs to be inserted into the address block that should be a DML.&lt;br /&gt;
&lt;br /&gt;
== Example Address ==&lt;br /&gt;
Passphrase: '''general''', Address: '''BM-2DAV89w336ovy6BUJnfVRD5B9qipFbRgmr'''.&lt;br /&gt;
The [[Address Block]] of a DML should look like this (it may have additional entries):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[BM-2DAV89w336ovy6BUJnfVRD5B9qipFbRgmr]&lt;br /&gt;
label = general&lt;br /&gt;
enabled = true&lt;br /&gt;
decoy = false&lt;br /&gt;
chan = true&lt;br /&gt;
privsigningkey = 5Jnbdwc4u4DG9ipJxYLznXSvemkRFueQJNHujAQamtDDoX3N1eQ&lt;br /&gt;
privencryptionkey = 5JrDcFtQDv5ydcHRW6dfGUEvThoxCCLNEUaxQfy8LXXgTJzVAcq&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Address List ==&lt;br /&gt;
A list of addresses can be found at [https://bitmessage.org/forum/index.php/topic,1420.0.html the forum].&lt;br /&gt;
&lt;br /&gt;
[[Category:Address terms]]&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=Template:Missing&amp;diff=22392</id>
		<title>Template:Missing</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=Template:Missing&amp;diff=22392"/>
		<updated>2013-12-20T13:39:19Z</updated>

		<summary type="html">&lt;p&gt;AyrA: changing -&amp;gt; creating&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;plainlinks&amp;quot; style=&amp;quot;border: 1px solid #ee0; width: 50%; background-color: #ffc; padding: 10px; margin-bottom: 25px&amp;quot;&amp;gt;This part is '''missing''', you can help by [{{fullurl:{{FULLPAGENAME}}|action=edit}} creating it].&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;[[Category:Stubs]]&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=Template:Missing&amp;diff=22391</id>
		<title>Template:Missing</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=Template:Missing&amp;diff=22391"/>
		<updated>2013-12-20T13:38:39Z</updated>

		<summary type="html">&lt;p&gt;AyrA: made it shorter&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;plainlinks&amp;quot; style=&amp;quot;border: 1px solid #ee0; width: 50%; background-color: #ffc; padding: 10px; margin-bottom: 25px&amp;quot;&amp;gt;This part is '''missing''', you can help by [{{fullurl:{{FULLPAGENAME}}|action=edit}} expanding it].&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;[[Category:Stubs]]&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=TOR&amp;diff=22390</id>
		<title>TOR</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=TOR&amp;diff=22390"/>
		<updated>2013-12-20T13:37:09Z</updated>

		<summary type="html">&lt;p&gt;AyrA: changed &amp;quot;N/A&amp;quot; to &amp;quot;missing&amp;quot; template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
TOR (''The Onion Routing'') is a network which allows users to browse the internet anonymously and securely.&lt;br /&gt;
This Page gives instructions on how to set up a TOR router for bitmessage.&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
These instructions are for AdvOR, which is one of the most advanced TOR clients.&lt;br /&gt;
&lt;br /&gt;
=== Obtaining a tor client ===&lt;br /&gt;
The client can be downloaded from sourceforge: [http://sourceforge.net/projects/advtor/ Download].&lt;br /&gt;
&lt;br /&gt;
Download and extract the zip file to any location and launch the exe inside it.&lt;br /&gt;
The TOR client is fully portable and can be put on a USB flash drive with bitmessage.&lt;br /&gt;
&lt;br /&gt;
=== Configuring the client ===&lt;br /&gt;
This is optional. On the top left corner of the client, click on &amp;quot;Proxy&amp;quot;.&lt;br /&gt;
You can obtain and change the listening Port and address for your router if you wish.&lt;br /&gt;
In this guide the Port 9050 on address 127.0.0.1 is used.&lt;br /&gt;
&lt;br /&gt;
On the left side menu, click on &amp;quot;System&amp;quot; and enable &amp;quot;Connect Automatically&amp;quot; and &amp;quot;Minimize at startup&amp;quot;.&lt;br /&gt;
This way the client cannot easily be spotted by others and works silently.&lt;br /&gt;
&lt;br /&gt;
=== Configuring Bitmessage ===&lt;br /&gt;
Refer to the [[FAQ#How do I setup Bitmessage to work with Tor|FAQ]].&lt;br /&gt;
Use the IP and port from your client, if they differ from the manual.&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
{{Missing}}&lt;br /&gt;
=== Obtaining a tor client ===&lt;br /&gt;
{{Missing}}&lt;br /&gt;
=== Configuring the client ===&lt;br /&gt;
{{Missing}}&lt;br /&gt;
=== Configuring Bitmessage ===&lt;br /&gt;
Refer to the [[FAQ#How do I setup Bitmessage to work with Tor|FAQ]].&lt;br /&gt;
Use the IP and port from your client, if they differ from the manual.&lt;br /&gt;
&lt;br /&gt;
== OSX ==&lt;br /&gt;
{{Missing}}&lt;br /&gt;
=== Obtaining a tor client ===&lt;br /&gt;
{{Missing}}&lt;br /&gt;
=== Configuring the client ===&lt;br /&gt;
{{Missing}}&lt;br /&gt;
=== Configuring Bitmessage ===&lt;br /&gt;
Refer to the [[FAQ#How do I setup Bitmessage to work with Tor|FAQ]].&lt;br /&gt;
Use the IP and port from your client, if they differ from the manual.&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=Template:Missing&amp;diff=22389</id>
		<title>Template:Missing</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=Template:Missing&amp;diff=22389"/>
		<updated>2013-12-20T13:36:20Z</updated>

		<summary type="html">&lt;p&gt;AyrA: Created 'missing' template for parts&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;plainlinks&amp;quot; style=&amp;quot;border: 1px solid red; width: 100%; background-color: #ffc; padding: 10px; margin-bottom: 25px;&amp;quot;&amp;gt;This part is '''missing''', you can help by [{{fullurl:{{FULLPAGENAME}}|action=edit}} expanding it].&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;[[Category:Stubs]]&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=FAQ&amp;diff=22388</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=FAQ&amp;diff=22388"/>
		<updated>2013-12-20T13:34:17Z</updated>

		<summary type="html">&lt;p&gt;AyrA: /* How do I setup Bitmessage to work with Tor */ changed quick instructions for TOR&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Installation and configuration==&lt;br /&gt;
===How do I install Bitmessage===&lt;br /&gt;
Bitmessage does not needs to be &amp;quot;installed&amp;quot;. it is simply downloaded and executed. You can find instructions to download and run bitmessage from the [[Main Page]].&lt;br /&gt;
A great write up for setting up and using Bitmessage on Windows can be found [http://cryptojunky.com/blog/2013/03/09/setting-up-and-using-bitmessage-an-encrypted-communications-platform-based-on-bitcoin/ Here.]&lt;br /&gt;
&lt;br /&gt;
Bitmessage should run on any OS though it is only lightly tested on OSX. The start-on-boot and minimize-to-tray features are only implemented for Windows thus far. Several examples of how to install Bitmessage on *nix and OSX platforms can be found [https://bitmessage.org/forum/index.php in the forums.]&lt;br /&gt;
&lt;br /&gt;
===How do I become a node to help the network===&lt;br /&gt;
If your connection indicator is green then you are already accepting incoming connections and helping the Bitmessage network.&lt;br /&gt;
&lt;br /&gt;
If your connection indicator is yellow, check your firewall settings and port forwarding to make sure incoming connections are allowed to your machine on the correct TCP port (Default: 8444), the port can be found in the Bitmessage settings.&lt;br /&gt;
&lt;br /&gt;
You can click on the indicator for more information about each color.&lt;br /&gt;
&lt;br /&gt;
===Why is my Connection Indicator Yellow===&lt;br /&gt;
Bitmessage will work normally with a yellow indicator. If your indicator is yellow, you can have up to 8 connections. To make your indicator green, please forward the required TCP port (usually 8444). You can find the Port in the Bitmessage settings.&lt;br /&gt;
&lt;br /&gt;
===How do I setup Bitmessage to work with Tor===&lt;br /&gt;
If you need a TOR client, more complete instructions can be found on the [[TOR]] page.&lt;br /&gt;
If you already have a client, follow the instructions below.&lt;br /&gt;
&lt;br /&gt;
'''Tor'''&lt;br /&gt;
&lt;br /&gt;
If you are using the Tor Browser Bundle skip to the next section. In order for Bitmessage to use Tor as a proxy follow these steps.&lt;br /&gt;
*Navigate to Settings &amp;gt; Network Settings and select SOCKS5 from the Type: drop down under the Proxy server / Tor section.&lt;br /&gt;
*Next to 'Server hostname:' enter 'localhost' and next to 'Port:' enter '9050'.&lt;br /&gt;
*Select ok.&lt;br /&gt;
*Restart Bitmessage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Tor Browser Bundle'''&lt;br /&gt;
*Navigate to Settings &amp;gt; Network Settings and select SOCKS5 from the Type: drop down under the Proxy server / Tor section.&lt;br /&gt;
*Next to 'Server hostname:' enter 'localhost' and next to 'Port:' enter '9150'.&lt;br /&gt;
*Select ok.&lt;br /&gt;
*Restart Bitmessage.&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
===How can I run Bitmessage in daemon mode===&lt;br /&gt;
Refer to the [[Daemon|Daemon Mode Page]].&lt;br /&gt;
&lt;br /&gt;
===How many connections should I have===&lt;br /&gt;
As long as you have at least one connection, you can communicate with the network. If your connection indicator is yellow, you can have a maximum of 8 connections.&lt;br /&gt;
&lt;br /&gt;
===Can I send a message to someone that is offline===&lt;br /&gt;
Yes. However, if you go offline then they must come back online within 2 days of the message being sent. Nodes delete data, and do not accept data, older than 2 days. &lt;br /&gt;
&lt;br /&gt;
===How do I format my messages===&lt;br /&gt;
Here is [https://qt-project.org/doc/qt-4.8/richtext-html-subset.html the list of supported HTML tags].&lt;br /&gt;
&lt;br /&gt;
===What are subscriptions?===&lt;br /&gt;
&lt;br /&gt;
A [[Subscriptions|subscription]] allows you to receive messages, that were broadcasted by the address you subscribe too.&lt;br /&gt;
Since [[broadcast]] messages are encrypted with a key, that can be created by everyone who knows the address, you must be subscribed to an address to actually read the messages.&lt;br /&gt;
&lt;br /&gt;
Subscriptions are also required to use a [[Mailing List]].&lt;br /&gt;
&lt;br /&gt;
===What are &amp;quot;chans&amp;quot;?===&lt;br /&gt;
Chan is another word for DML. Please refer to [[DML|this article]] for a complete documentation of this rather complex feature.&lt;br /&gt;
&lt;br /&gt;
==How does Bitmessage work==&lt;br /&gt;
'''Startup'''&lt;br /&gt;
&lt;br /&gt;
When you first start Bitmessage, your client connects itself to the network and starts downloading a list of known nodes. Each new node that you connect to shares its list of known nodes. In addition to the known nodes, you will also start receiving person-to-person messages, broadcasts, and public keys. If any of these messages are bound for you, they will be shown in your inbox. All of this data is exchanged between all of your connections to make sure that everyone has a copy. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Sending a Message'''&lt;br /&gt;
&lt;br /&gt;
When you send a message, your client must first compute a Proof of Work (POW). This POW helps mitigate spam on the network. Nodes and other clients will not process your message if it does not show sufficient POW. After the POW is complete, your message is shared to all of your connections which in turn share it with all of their connections. &lt;br /&gt;
&lt;br /&gt;
===Where can I find more documentation about Bitmessage===&lt;br /&gt;
* [https://bitmessage.org/bitmessage.pdf Overview White Paper (PDF)]&lt;br /&gt;
* [[Protocol specification]]&lt;br /&gt;
* Detail about the [[Proof of work]]&lt;br /&gt;
&lt;br /&gt;
==How does Bitmessage compare to other messaging methods==&lt;br /&gt;
Here is a table comparing Bitmessage to other common messaging services.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Comparison of Messaging Services&lt;br /&gt;
! &amp;amp;nbsp;&lt;br /&gt;
! Trustless&lt;br /&gt;
! P2P&lt;br /&gt;
! Open Source&lt;br /&gt;
! Requires Proof of Work&lt;br /&gt;
! Hide Sender?&lt;br /&gt;
! Hide Receiver?&lt;br /&gt;
! Mobile Version&lt;br /&gt;
! Application or Web Based&lt;br /&gt;
! Text Only Messages&lt;br /&gt;
! Attachments&lt;br /&gt;
! Acknowledge delivery&lt;br /&gt;
! Asynchronous&lt;br /&gt;
! OTR&lt;br /&gt;
|-&lt;br /&gt;
! Bitmessage&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| [http://opensource.org/licenses/mit-license.php MIT]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes|180 MB}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
! Standard Email&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Partial|Depends}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Both&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Partial}}&lt;br /&gt;
|-&lt;br /&gt;
! Email + GPG&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Partial|Depends}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Both&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Partial}}&lt;br /&gt;
|-&lt;br /&gt;
! [http://xmpp.org/ XMPP] + [https://en.wikipedia.org/wiki/Off-the-Record_Messaging OTR]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes|GPL V2.1}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://en.wikipedia.org/wiki/TorChat TorChat]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes|GPL}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [http://www.skype.com/en/ Skype]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [http://www.scayl.com/ Scayl]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes|Alpha}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://en.wikipedia.org/wiki/I2P#E-mail I2P Bote]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes|GPL V3}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
! [https://crypto.cat/ CryptoCat]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes|GPL}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Both&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://en.wikipedia.org/wiki/Internet_Relay_Chat IRC]&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Both&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! SMS&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
|-&lt;br /&gt;
! [http://retroshare.sourceforge.net/ RetroShare]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://en.wikipedia.org/wiki/Freenet#Tools_and_applications Freenet + Frost]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes|GPL}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://mirror4.freenetproject.org/tools.html Freenet + FMS]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://mirror4.freenetproject.org/tools.html Freenet + Freemail] 0.2&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes|GPL}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
|-&lt;br /&gt;
! [https://wiki.freenetproject.org/FLIP Freenet + FLIP]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===My Connection Indicator is Red===&lt;br /&gt;
Check your connection settings.&lt;br /&gt;
Check if you can access the internet. In case you have a firewall with outgoing restrictions (not Windoes firewall) allow unrestricted access for Bitmessage through your firewall.&lt;br /&gt;
Sometimes Bitmessage takes time to connect to the network, especially if [[knownnodes.dat]] is large. Please allow at least 30 minutes for it to connect before posting to the forum.&lt;br /&gt;
You can also try deleting [[knownnodes.dat]].&lt;br /&gt;
&lt;br /&gt;
If none of that works, [https://bitmessage.org/forum/index.php please visit the forum here.]&lt;br /&gt;
&lt;br /&gt;
===I have not received a reply from the Echo Server===&lt;br /&gt;
*Your connection indicator should be yellow or green.&lt;br /&gt;
*Make sure that your POW is complete and the message has been sent. You should see an acknowledgement under &amp;quot;Status&amp;quot; on the &amp;quot;Sent&amp;quot; tab. &lt;br /&gt;
*On average it should take 8 minutes from the time you click the send button to the time you receive a response. &lt;br /&gt;
*Be sure to allow extra time in the event that the server is under heavy traffic (Example: An article about Bitmessage was posted on a popular website).&lt;br /&gt;
*You can always send a message to another echo server. Here are two echo addresses:&lt;br /&gt;
** BM-orkCbppXWSqPpAxnz6jnfTZ2djb5pJKDb&lt;br /&gt;
** BM-omXeTjutKWmYgQJjmoZjAG3u3NmaLEdZK&lt;br /&gt;
*You may subscribe to the [[Timeservice Broadcast]] to receive network heartbeats.&lt;br /&gt;
*You can send messages to a [[Mailing List]] in case it still does not works&lt;br /&gt;
If you still do not receive a response, [https://bitmessage.org/forum/index.php visit the forum] to see if there is a current technical issue or to submit a new request for assistance.&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
Here is a list of average times for different parts of Bitmessage. [[PyBitmessage Help]]&lt;br /&gt;
&lt;br /&gt;
Please [https://bitmessage.org/forum/index.php visit the forum] for all other issues.&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=TOR&amp;diff=22387</id>
		<title>TOR</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=TOR&amp;diff=22387"/>
		<updated>2013-12-20T13:32:27Z</updated>

		<summary type="html">&lt;p&gt;AyrA: completed windows instructions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
TOR (''The Onion Routing'') is a network which allows users to browse the internet anonymously and securely.&lt;br /&gt;
This Page gives instructions on how to set up a TOR router for bitmessage.&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
These instructions are for AdvOR, which is one of the most advanced TOR clients.&lt;br /&gt;
&lt;br /&gt;
=== Obtaining a tor client ===&lt;br /&gt;
The client can be downloaded from sourceforge: [http://sourceforge.net/projects/advtor/ Download].&lt;br /&gt;
&lt;br /&gt;
Download and extract the zip file to any location and launch the exe inside it.&lt;br /&gt;
The TOR client is fully portable and can be put on a USB flash drive with bitmessage.&lt;br /&gt;
&lt;br /&gt;
=== Configuring the client ===&lt;br /&gt;
This is optional. On the top left corner of the client, click on &amp;quot;Proxy&amp;quot;.&lt;br /&gt;
You can obtain and change the listening Port and address for your router if you wish.&lt;br /&gt;
In this guide the Port 9050 on address 127.0.0.1 is used.&lt;br /&gt;
&lt;br /&gt;
On the left side menu, click on &amp;quot;System&amp;quot; and enable &amp;quot;Connect Automatically&amp;quot; and &amp;quot;Minimize at startup&amp;quot;.&lt;br /&gt;
This way the client cannot easily be spotted by others and works silently.&lt;br /&gt;
&lt;br /&gt;
=== Configuring Bitmessage ===&lt;br /&gt;
Refer to the [[FAQ#How do I setup Bitmessage to work with Tor|FAQ]].&lt;br /&gt;
Use the IP and port from your client, if they differ from the manual.&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
N/A&lt;br /&gt;
=== Obtaining a tor client ===&lt;br /&gt;
N/A&lt;br /&gt;
=== Configuring the client ===&lt;br /&gt;
N/A&lt;br /&gt;
=== Configuring Bitmessage ===&lt;br /&gt;
Refer to the [[FAQ#How do I setup Bitmessage to work with Tor|FAQ]].&lt;br /&gt;
Use the IP and port from your client, if they differ from the manual.&lt;br /&gt;
&lt;br /&gt;
== OSX ==&lt;br /&gt;
N/A&lt;br /&gt;
=== Obtaining a tor client ===&lt;br /&gt;
N/A&lt;br /&gt;
=== Configuring the client ===&lt;br /&gt;
N/A&lt;br /&gt;
=== Configuring Bitmessage ===&lt;br /&gt;
Refer to the [[FAQ#How do I setup Bitmessage to work with Tor|FAQ]].&lt;br /&gt;
Use the IP and port from your client, if they differ from the manual.&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=TOR&amp;diff=22386</id>
		<title>TOR</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=TOR&amp;diff=22386"/>
		<updated>2013-12-20T11:03:32Z</updated>

		<summary type="html">&lt;p&gt;AyrA: created page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
TOR (''The Onion Routing'') is a network which allows users to browse the internet anonymously and securely.&lt;br /&gt;
This Page gives instructions on how to set up a TOR router for bitmessage.&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
These instructions are for AdvOR, which is one of the most advanced TOR clients.&lt;br /&gt;
&lt;br /&gt;
=== Obtaining a tor client ===&lt;br /&gt;
The client can be downloaded from sourceforge: [http://sourceforge.net/projects/advtor/ Download].&lt;br /&gt;
&lt;br /&gt;
Download and extract the zip file to any location and launch the exe inside it.&lt;br /&gt;
The TOR client is fully portable and can be put on a USB flash drive with bitmessage.&lt;br /&gt;
&lt;br /&gt;
=== Configuring the client ===&lt;br /&gt;
This is optional. On the top left corner of the client, click on &amp;quot;Proxy&amp;quot;.&lt;br /&gt;
You can obtain and change the listening Port and address for your router if you wish.&lt;br /&gt;
In this guide the Port 9050 on address 127.0.0.1 is used.&lt;br /&gt;
&lt;br /&gt;
On the left side menu, click on &amp;quot;System&amp;quot; and enable &amp;quot;Connect Automatically&amp;quot; and &amp;quot;Minimize at startup&amp;quot;.&lt;br /&gt;
This way the client cannot easily be spotted by others and works silently.&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
{{Stub}}&lt;br /&gt;
&lt;br /&gt;
== OSX ==&lt;br /&gt;
{{Stub}}&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=Main_Page&amp;diff=21953</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=Main_Page&amp;diff=21953"/>
		<updated>2013-12-09T06:58:20Z</updated>

		<summary type="html">&lt;p&gt;AyrA: maked download links clickable&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{Infobox&lt;br /&gt;
|name=Bitmessage&lt;br /&gt;
|downloadsite=https://bitmessage.org/download/windows/Bitmessage.exe&lt;br /&gt;
|release caption=Current version (Beta)&lt;br /&gt;
|latest release date=October 10, 2013&lt;br /&gt;
}}&lt;br /&gt;
Bitmessage is a P2P communications [[Protocol specification|protocol]] used to send encrypted messages to another person or to many subscribers. It is decentralized and trustless, meaning that you need-not inherently trust any entities like root certificate authorities. It uses strong authentication which means that the sender of a message cannot be spoofed, and it aims to hide &amp;quot;non-content&amp;quot; data, like the sender and receiver of messages, from passive eavesdroppers like those running warrantless wiretapping programs. If Bitmessage is completely new to you, you may wish to start by reading the [https://bitmessage.org/bitmessage.pdf whitepaper].&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
An open source client is available for free under the very liberal [http://opensource.org/licenses/mit-license.php MIT license]. For screenshots and a description of the client, see this CryptoJunky article: [http://cryptojunky.com/blog/2013/03/09/setting-up-and-using-bitmessage-an-encrypted-communications-platform-based-on-bitcoin/ &amp;quot;Setting Up And Using Bitmessage&amp;quot;].&lt;br /&gt;
&lt;br /&gt;
[[File:windows_icon.png|link=https://bitmessage.org/download/windows/Bitmessage.exe]] [https://bitmessage.org/download/windows/Bitmessage.exe Download for Windows]&lt;br /&gt;
&lt;br /&gt;
[[File:apple_icon.png|link=https://bitmessage.org/download/osx/Bitmessage.dmg]] [https://bitmessage.org/download/osx/Bitmessage.dmg Download for OS X]&lt;br /&gt;
&lt;br /&gt;
[[File:tux.png|link=Compiling_instructions]] [[Compiling instructions|Run the source code]]&lt;br /&gt;
&lt;br /&gt;
Here is a simple echo server which will send your message back to you after being received: BM-orkCbppXWSqPpAxnz6jnfTZ2djb5pJKDb&lt;br /&gt;
&lt;br /&gt;
=== Source code ===&lt;br /&gt;
You may view the Python [https://github.com/Bitmessage/PyBitmessage source code on Github]. Bitmessage requires PyQt and OpenSSL. Step-by-step instructions on how to run the source code on Linux, Windows, or OSX is [[Compiling instructions|available here]].&lt;br /&gt;
&lt;br /&gt;
=== Security audit needed ===&lt;br /&gt;
Bitmessage is in need of an independent audit to verify its security. If you are a researcher capable of reviewing the source code, please [https://bitmessage.org/misc/emailaddress.png email] the lead developer. You will be helping to create a great privacy option for people everywhere!&lt;br /&gt;
&lt;br /&gt;
=== Forum ===&lt;br /&gt;
* Visit or subscribe to the [https://pay.reddit.com/r/bitmessage Bitmessage subreddit].&lt;br /&gt;
* A community-based forum for questions, feedback, and discussion is also available at [https://bitmessage.org/forum Bitmessage.org/forum].&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=API_Reference&amp;diff=21948</id>
		<title>API Reference</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=API_Reference&amp;diff=21948"/>
		<updated>2013-12-08T01:56:29Z</updated>

		<summary type="html">&lt;p&gt;AyrA: /* List of Operations */ added auto-updating version number&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Introduction ===&lt;br /&gt;
&lt;br /&gt;
The PyBitmessage API uses [https://en.wikipedia.org/wiki/JSON-RPC JSON-RPC]. &lt;br /&gt;
&lt;br /&gt;
=== Enable the API ===&lt;br /&gt;
To enable the API, copy and paste these lines into the bitmessagesettings section of the [[keys.dat]] file (the values &amp;quot;username&amp;quot; and &amp;quot;password&amp;quot; are merely examples):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apienabled = true&lt;br /&gt;
apiport = 8442&lt;br /&gt;
apiinterface = 127.0.0.1&lt;br /&gt;
apiusername = chelsea &lt;br /&gt;
apipassword = YourSuperPassw6rd-ChangeThIs-022w3eksssoQAWfasddswwWIU&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Additionally, you may optionally include an additional entry which will specify a program which Bitmessage will run when certain events occur.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apinotifypath = c:\\example\\example.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
One of these arguments will be passed to your program: startingUp, newMessage, newBroadcast. Be sure your program doesn't crash when given newer arguments introduced in the future as this list will likely expand.&lt;br /&gt;
&lt;br /&gt;
=== Remote Access ===&lt;br /&gt;
To access the Bitmessage API from a remote location, change the apiinterface value from '''127.0.0.1''' to '''0.0.0.0'''. &lt;br /&gt;
&lt;br /&gt;
The following Python code offers a demonstration of how to create a client that can connect to the PyBitmessage API. &lt;br /&gt;
&lt;br /&gt;
In this example, the username is &amp;quot;username&amp;quot;, the password is &amp;quot;password&amp;quot;, the IP address of the server running PyBitmessage is 105.168.1.0 (a random example), and the port number which PyBitmessage has been configured to listen on is 8442. In order to connect with the remote copy of PyBitmessage, these settings must match those in PyBitmessage's &amp;quot;keys.dat&amp;quot; file. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import xmlrpclib&lt;br /&gt;
import json&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
api = xmlrpclib.ServerProxy(&amp;quot;http://username:password@105.168.1.0:8442/&amp;quot;)&lt;br /&gt;
print api.add(2,3)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A more complete example can be found in the [https://github.com/Bitmessage/PyBitmessage/blob/master/src/api_client.py api_client.py] file in the PyBitmessage source code. &lt;br /&gt;
&lt;br /&gt;
=== List of Operations ===&lt;br /&gt;
Required arguments are denoted inside &amp;lt; and &amp;gt;  Optional arguments are inside [ and ]. &lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Command !! Parameters !! Minimum Version !! Description&lt;br /&gt;
|-&lt;br /&gt;
| helloWorld || &amp;lt;firstWord&amp;gt; &amp;lt;secondWord&amp;gt; || 0.2.7 || returns 'firstWord-secondWord'. Used as a simple test of the API.&lt;br /&gt;
|-&lt;br /&gt;
| add || &amp;lt;integer&amp;gt; &amp;lt;integer&amp;gt; || 0.2.7 || returns the sum of the integers. Used as a simple test of the API.&lt;br /&gt;
|-&lt;br /&gt;
| statusBar || &amp;lt;message&amp;gt; || 0.2.7 || Displays the message in the status bar on the GUI&lt;br /&gt;
|-&lt;br /&gt;
| listAddresses2|| || 0.4.0 || Lists all addresses shown on the Your Identities tab. Returns a list of objects with these properties:&lt;br /&gt;
* label (base64, decodes into utf-8) &lt;br /&gt;
* address (ascii/utf-8)&lt;br /&gt;
* stream (integer)&lt;br /&gt;
* enabled (bool)&lt;br /&gt;
* chan (bool)&lt;br /&gt;
&lt;br /&gt;
This is called listAddresses'''2''' because 'listAddresses' is obsolete.&lt;br /&gt;
|-&lt;br /&gt;
| createRandomAddress || &amp;lt;label&amp;gt; [eighteenByteRipe] [totalDifficulty] [smallMessageDifficulty] || 0.2.7 || Creates one address using the random number generator. label should be base64 encoded. eighteenByteRipe is a boolean telling Bitmessage whether to generate an address with an 18 byte RIPE hash(as opposed to a 19 byte hash). This is the same setting as the &amp;quot;Do extra work to make the address 1 or 2 characters shorter&amp;quot; in the user interface. Using False is recommended if you are running some sort of website and will be generating a lot of addresses. Note that even if you don't ask for it, there is still a 1 in 256 chance that you will get an address with an 18 byte RIPE hash so if you actually ''need'' an address with a 19 byte RIPE hash for some reason, you will need to check for it. eighteenByteRipe defaults to False. totalDifficulty and smallMessageDifficulty default to 1.&lt;br /&gt;
&lt;br /&gt;
Returns the address.&lt;br /&gt;
&lt;br /&gt;
Warning: At present, Bitmessage gets confused if you use both the API and the UI to make an address at the same time.&lt;br /&gt;
|-&lt;br /&gt;
|createDeterministicAddresses ||&amp;lt;passphrase&amp;gt; [numberOfAddresses] [addressVersionNumber] [streamNumber] [eighteenByteRipe] [totalDifficulty] [smallMessageDifficulty] || 0.3.4 || Similar to createRandomAddress except that you may generate many addresses in one go. passphrase should be base64 encoded. numberOfAddresses defaults to 1. addressVersionNumber and streamNumber may be set to 0 which will tell Bitmessage to use the most up-to-date addressVersionNumber and the most available streamNumber. Using zero for each of these fields is recommended. eighteenByteRipe defaults to False. totalDifficulty and smallMessageDifficulty default to 1.&lt;br /&gt;
&lt;br /&gt;
Returns a list of new addresses.  This list will be empty if the addresses already existed.&lt;br /&gt;
&lt;br /&gt;
Warning: At present, Bitmessage gets confused if you use both the API and the UI to make addresses at the same time.&lt;br /&gt;
|-&lt;br /&gt;
|getDeterministicAddress ||&amp;lt;passphrase&amp;gt; &amp;lt;addressVersionNumber&amp;gt; &amp;lt;streamNumber&amp;gt;  || 0.3.1 || Similar to createDeterministicAddresses except that the one address that is returned will not be added to the Bitmessage user interface or the keys.dat file. passphrase should be base64 encoded. addressVersionNumber should be set to 3 or 4 as these are the only ones currently supported. streamNumber must be set to 1 as this is the only one currently supported. &lt;br /&gt;
&lt;br /&gt;
Returns a single address. &lt;br /&gt;
&lt;br /&gt;
Warning: At present, Bitmessage gets confused if you use both this API command and the UI to make addresses at the same time.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;getAllInboxMessages&amp;lt;/code&amp;gt;|| || 0.2.7 || Does not include trashed messages. Returns a list of objects with these properties:&lt;br /&gt;
* msgid (hex)&lt;br /&gt;
* toAddress (ascii/utf-8)&lt;br /&gt;
* fromAddress (ascii/utf-8)&lt;br /&gt;
* subject (base64, decodes into utf-8)&lt;br /&gt;
* message (base64, decodes into utf-8)&lt;br /&gt;
* [[Protocol_specification#Message_Encodings|encodingType]] (integer)&lt;br /&gt;
* receivedTime (integer, Unix time)&lt;br /&gt;
* read (integer representing binary state (0 or 1))&lt;br /&gt;
&lt;br /&gt;
The msgid is the same as the hash of the message (analogous to the TXID in Bitcoin) thus it is shown in hex as that is the de facto standard. The base64 encoding Bitmessage uses includes line breaks including one on the end of the string.&lt;br /&gt;
|-&lt;br /&gt;
| getInboxMessageByID || &amp;lt;msgid&amp;gt; [read] || 0.4.0 || Returns an object with these properties:&lt;br /&gt;
* msgid (hex)&lt;br /&gt;
* toAddress (ascii/utf-8)&lt;br /&gt;
* fromAddress (ascii/utf-8)&lt;br /&gt;
* subject (base64, decodes into utf-8)&lt;br /&gt;
* message (base64, decodes into utf-8)&lt;br /&gt;
* [[Protocol_specification#Message_Encodings|encodingType]] (integer)&lt;br /&gt;
* receivedTime (integer, Unix time)&lt;br /&gt;
* read (integer representing binary state (0 or 1))&lt;br /&gt;
&lt;br /&gt;
Optionally sets the specific message to have a read status of 'read' (bool).&lt;br /&gt;
&lt;br /&gt;
The msgid is the same as the hash of the message (analogous to the TXID in Bitcoin) thus it should be given in hex as that is the de facto standard. The base64 encoding Bitmessage uses includes line breaks including one on the end of the string.&lt;br /&gt;
|-&lt;br /&gt;
| getSentMessageByAckData || &amp;lt;ackData&amp;gt; || 0.3.4 || Returns an object with these properties:&lt;br /&gt;
* msgid (hex)&lt;br /&gt;
* toAddress (ascii/utf-8)&lt;br /&gt;
* fromAddress (ascii/utf-8)&lt;br /&gt;
* subject (base64, decodes into utf-8)&lt;br /&gt;
* message (base64, decodes into utf-8)&lt;br /&gt;
* [[Protocol_specification#Message_Encodings|encodingType]] (integer)&lt;br /&gt;
* lastActionTime (integer, Unix time)&lt;br /&gt;
* status (ascii/utf-8)&lt;br /&gt;
* ackData (hex)&lt;br /&gt;
|-&lt;br /&gt;
| getAllSentMessages || || 0.3.4 || Returns an object with these properties:&lt;br /&gt;
* msgid (hex)&lt;br /&gt;
* toAddress (ascii/utf-8)&lt;br /&gt;
* fromAddress (ascii/utf-8)&lt;br /&gt;
* subject (base64, decodes into utf-8)&lt;br /&gt;
* message (base64, decodes into utf-8)&lt;br /&gt;
* [[Protocol_specification#Message_Encodings|encodingType]] (integer)&lt;br /&gt;
* lastActionTime (integer, Unix time)&lt;br /&gt;
* status (ascii/utf-8)&lt;br /&gt;
* ackData (hex)&lt;br /&gt;
|-&lt;br /&gt;
| getSentMessageByID || &amp;lt;msgid&amp;gt; || 0.3.4 || Returns an object with these properties:&lt;br /&gt;
* msgid (hex)&lt;br /&gt;
* toAddress (ascii/utf-8)&lt;br /&gt;
* fromAddress (ascii/utf-8)&lt;br /&gt;
* subject (base64, decodes into utf-8)&lt;br /&gt;
* message (base64, decodes into utf-8)&lt;br /&gt;
* [[Protocol_specification#Message_Encodings|encodingType]] (integer)&lt;br /&gt;
* lastActionTime (integer, Unix time)&lt;br /&gt;
* status (ascii/utf-8)&lt;br /&gt;
* ackData (hex)&lt;br /&gt;
|-&lt;br /&gt;
| getSentMessagesBySender|| &amp;lt;fromAddress&amp;gt; || 0.3.4 || Returns a list of objects with these properties:&lt;br /&gt;
* msgid (hex)&lt;br /&gt;
* toAddress (ascii/utf-8)&lt;br /&gt;
* fromAddress (ascii/utf-8)&lt;br /&gt;
* subject (base64, decodes into utf-8)&lt;br /&gt;
* message (base64, decodes into utf-8)&lt;br /&gt;
* [[Protocol_specification#Message_Encodings|encodingType]] (integer)&lt;br /&gt;
* lastActionTime (integer, Unix time)&lt;br /&gt;
* status (ascii/utf-8)&lt;br /&gt;
* ackData (hex)&lt;br /&gt;
|-&lt;br /&gt;
| trashMessage || &amp;lt;msgid&amp;gt; || 0.2.7 || returns a simple message saying that the message was trashed assuming it ever even existed. Prior existence is not checked. msgid is encoded in hex just like in the getAllInboxMessages function.&lt;br /&gt;
|-&lt;br /&gt;
| sendMessage || &amp;lt;toAddress&amp;gt; &amp;lt;fromAddress&amp;gt; &amp;lt;subject&amp;gt; &amp;lt;message&amp;gt; [encodingType] || 0.2.7 || returns ackdata encoded in hex. subject and message must be encoded in base64 which may optionally include line breaks. If used, the encodingType must be set to 2; this is included for forwards compatibility. &lt;br /&gt;
|-&lt;br /&gt;
| sendBroadcast || &amp;lt;fromAddress&amp;gt; &amp;lt;subject&amp;gt; &amp;lt;message&amp;gt; [encodingType] || 0.2.7 || returns ackData encoded in hex. subject and message must be encoded in base64. If used, the encodingType must be set to 2; this is included for forwards compatibility. &lt;br /&gt;
|-&lt;br /&gt;
| getStatus || &amp;lt;ackData&amp;gt; || 0.3.0 || returns one of these strings: &amp;lt;strike&amp;gt;notFound, findingPubkey, doingPOW, sentMessage, or ackReceived&amp;lt;/strike&amp;gt; notfound, msgqueued, broadcastqueued, broadcastsent, doingpubkeypow, awaitingpubkey, doingmsgpow, forcepow, msgsent, msgsentnoackexpected, or ackreceived. &lt;br /&gt;
|-&lt;br /&gt;
| listSubscriptions||  || 0.4.0 || Returns a list of objects with these properties:&lt;br /&gt;
* label (base64, decodes into utf-8)&lt;br /&gt;
* address (ascii/utf-8)&lt;br /&gt;
* enabled (bool)&lt;br /&gt;
|-&lt;br /&gt;
| addSubscription|| &amp;lt;address&amp;gt; [label] || 0.3.1 || Subscribe to an address. label must be base64-encoded.&lt;br /&gt;
|-&lt;br /&gt;
| deleteSubscription|| &amp;lt;address&amp;gt; || 0.3.1 || Unsubscribe from an address. The program does not check to see whether you were subscribed in the first place.&lt;br /&gt;
|-&lt;br /&gt;
| listAddressBookEntries|| || 0.4.0 ||Returns a list of objects with these properties: &lt;br /&gt;
* address (ascii/utf-8)&lt;br /&gt;
* label (base64, decodes into utf-8)&lt;br /&gt;
|-&lt;br /&gt;
| addAddressBookEntry|| &amp;lt;address&amp;gt; &amp;lt;label&amp;gt; || 0.4.0 || Add an entry to your address book. label must be base64-encoded.&lt;br /&gt;
|-&lt;br /&gt;
| deleteAddressBookEntry|| &amp;lt;address&amp;gt; || 0.4.0 || Delete an entry from your address book. The program does not check to see whether it was there in the first place.&lt;br /&gt;
|-&lt;br /&gt;
| trashSentMessageByAckData|| &amp;lt;ackData&amp;gt; || 0.4.0 || Trashes a sent message based on its ackdata. ackData should be encoded in hex. Returns a simple message saying that the message was trashed assuming it ever even existed. Prior existence is not checked.&lt;br /&gt;
|-&lt;br /&gt;
| createChan|| &amp;lt;passphrase&amp;gt; || 0.4.2 || Creates a new chan. passphrase must be base64 encoded. Outputs the corresponding Bitmessage address. &lt;br /&gt;
|-&lt;br /&gt;
| joinChan|| &amp;lt;passphrase&amp;gt; &amp;lt;address&amp;gt; || 0.4.2 || Join a chan. passphrase must be base64 encoded. Outputs &amp;quot;success&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| leaveChan|| &amp;lt;address&amp;gt; || 0.4.2 || Leave a chan. Outputs &amp;quot;success&amp;quot;. Note that at this time, the address is still shown in the UI until a restart. &lt;br /&gt;
|-&lt;br /&gt;
| deleteAddress|| &amp;lt;address&amp;gt; || 0.4.2 || Permanently delete an address from Your Identities and your keys.dat file. Outputs &amp;quot;success&amp;quot;. Note that at this time, the address is still shown in the UI until a restart.&lt;br /&gt;
|-&lt;br /&gt;
| decodeAddress|| &amp;lt;address&amp;gt; || 0.4.2 || Returns an object with these properties: &lt;br /&gt;
* status (ascii/utf-8)&lt;br /&gt;
* addressVersion (ascii integer)&lt;br /&gt;
* streamNumber (ascii integer)&lt;br /&gt;
* ripe (base64, decodes into binary data)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Note:''' If the minimum required version is higher than {{Bitmessage Current Version Number}} then the code is available in source but not yet available in a compiled binary.&lt;br /&gt;
&lt;br /&gt;
==== Possible error values ====&lt;br /&gt;
&lt;br /&gt;
Here are the various error numbers and descriptions you might see.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Error Number!! Message&lt;br /&gt;
|- &lt;br /&gt;
|0000 || API Error 0000: I need parameters!&lt;br /&gt;
|-&lt;br /&gt;
| 0001 || API Error 0001: The specified passphrase is blank.&lt;br /&gt;
|-&lt;br /&gt;
| 0002 || API Error 0002: The address version number currently must be 3 or 4 (or 0 which means auto-select).&lt;br /&gt;
|- &lt;br /&gt;
| 0003 || API Error 0003: The stream number must be 1 (or 0 which means auto-select). Others aren't supported.&lt;br /&gt;
|-&lt;br /&gt;
| 0004 || API Error 0004: Why would you ask me to generate 0 addresses for you?&lt;br /&gt;
|-&lt;br /&gt;
| 0005 || API Error 0005: You have (accidentally?) specified too many addresses to make. Maximum 999. This check only exists to prevent mischief; if you really want to create more addresses than this, contact the Bitmessage developers and we can modify the check or you can do it yourself by searching the source code for this message.&lt;br /&gt;
|- &lt;br /&gt;
| 0006 || API Error 0006: The encoding type must be 2 because that is the only one this program currently supports.&lt;br /&gt;
|- &lt;br /&gt;
| 0007 || API Error 0007: Could not decode address&lt;br /&gt;
|- &lt;br /&gt;
| 0008 || API Error 0008: Checksum failed for address&lt;br /&gt;
|- &lt;br /&gt;
| 0009 || API Error 0009: Invalid characters in address&lt;br /&gt;
|-&lt;br /&gt;
| 0010 || API Error 0010: Address version number too high (or zero) in address&lt;br /&gt;
|-&lt;br /&gt;
| 0011 || API Error 0011: The address version number currently must be 2, 3, or 4. Others aren't supported.&lt;br /&gt;
|-&lt;br /&gt;
| 0012 || API Error 0012: The stream number must be 1. Others aren't supported.&lt;br /&gt;
|-&lt;br /&gt;
| 0013 || API Error 0013: Could not find your fromAddress in the keys.dat file.&lt;br /&gt;
|- &lt;br /&gt;
| 0014 || API Error 0014: Your fromAddress is disabled. Cannot send.&lt;br /&gt;
|-&lt;br /&gt;
| 0015 || API Error 0015: The length of ackData should be 32 bytes (encoded in hex thus 64 characters).&lt;br /&gt;
|-&lt;br /&gt;
| 0016 || API Error 0016: You are already subscribed to that address.&lt;br /&gt;
|-&lt;br /&gt;
| 0017 || API Error 0017: Label is not valid UTF-8 data.&lt;br /&gt;
|-&lt;br /&gt;
| 0018 || API Error 0018: Chan name does not match address.&lt;br /&gt;
|-&lt;br /&gt;
| 0019 || API Error 0019: The length of hash should be 20 bytes (encoded in hex thus 40 characters).&lt;br /&gt;
|-&lt;br /&gt;
| 0020 || API Error 0020: Invalid method: &amp;lt;method_name_you_tried_to_execute&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 0021 || API Error 0021: Unexpected API Failure&lt;br /&gt;
|-&lt;br /&gt;
| 0022 || API Error 0022: Decode Error&lt;br /&gt;
|-&lt;br /&gt;
| 0023 || API Error 0023: Bool expected&lt;br /&gt;
|-&lt;br /&gt;
| 0024 || API Error 0024: Chan address is already present.&lt;br /&gt;
|-&lt;br /&gt;
| 0025 || API Error 0025: Specified address is not a chan address. Use deleteAddress API call instead.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=Decentralized_Mailing_List&amp;diff=21837</id>
		<title>Decentralized Mailing List</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=Decentralized_Mailing_List&amp;diff=21837"/>
		<updated>2013-11-29T10:37:00Z</updated>

		<summary type="html">&lt;p&gt;AyrA: /* Notes */ additions for multiple address versions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A [[Mailing List]] without the requirement of a central &amp;quot;authority&amp;quot;. Sometimes called Chan (short for channel) because they usually focus on a subject which also is the password for the deterministic address too.&lt;br /&gt;
&lt;br /&gt;
== Issues with regular Mailing Lists ==&lt;br /&gt;
Despite the fact that Bitmessage is a decentralized [[p2p]] network, pseudo-mailing lists require the client who operates the list to be online, creating a [http://en.wikipedia.org/wiki/Single_point_of_failure Single Point of Failure]. Decentralized lists circumvent this issue by having a group of users share private keys. Users may optionally send messages from the decentralized mailing list identity address itself. Decentralized lists cannot be clogged up with large messages because the [[POW]] is only done by the sending client.&lt;br /&gt;
&lt;br /&gt;
== Creation ==&lt;br /&gt;
A DML can be created in the File menu with the Option &amp;quot;Join / Create chan&amp;quot;. A Passphrase must be entered and the address is generated.&lt;br /&gt;
&lt;br /&gt;
== Joining ==&lt;br /&gt;
A DML can be joined in the File menu with the Option &amp;quot;Join / Create chan&amp;quot;. A Passphrase and the address must be entered.&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
There is no technical difference between creation and joining a DML. Joining requires the address to make sure that you typed the DML name correctly and to make sure that you are using the correct stream number and address version which are included in the address.&lt;br /&gt;
&lt;br /&gt;
== Incompatibilities ==&lt;br /&gt;
* You cannot use the n-th address or generate short addresses with the create/join dialog. You can do so when generating a deterministic address but it will not be recognized as DML.&lt;br /&gt;
* You cannot send messages to a DML if you are not member. This is caused by the fact, that a DML address does not publishes its public key.&lt;br /&gt;
&lt;br /&gt;
== Circumvent stuck client ==&lt;br /&gt;
To circumvent non-members of getting stuck, a user can create a deterministic address with the same configuration as the DML Address (provided he hasn't the DML already in his identities), this address will answer key requests and non-members world wide can use the DML.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
To properly use a DML, a user can&lt;br /&gt;
* Write from the DML, to the DML: This is completely anonymous and is the default behaviour that should be taken.&lt;br /&gt;
* Write from a personal address to the DML: This can be used so answers given to the message will only be sent to the private address and not to the DML, or it can be used to &amp;quot;sign&amp;quot; messages with the private adress so nobody can claim it was he, who sent it.&lt;br /&gt;
&lt;br /&gt;
== Issues with Decentralized Mailing Lists ==&lt;br /&gt;
* Since all users share the same address it cannot be easily verified, who sent a message.&lt;br /&gt;
* Spam cannot be blocked on address base, since everyone shares the same sender address.&lt;br /&gt;
* Non-Members cannot write to a DML&lt;br /&gt;
&lt;br /&gt;
== Updating ==&lt;br /&gt;
If a user was a member of a DML before 0.3.5 came out, he might want to update the address to a DML.&lt;br /&gt;
To do so, first of all the subscription needs to be removed in the GUI, after that, the [[keys.dat]] needs to be edited and the line &amp;quot;chan = true&amp;quot; needs to be inserted into the address block that should be a DML.&lt;br /&gt;
&lt;br /&gt;
== Example Address ==&lt;br /&gt;
Passphrase: '''general''', Address: '''BM-2DAV89w336ovy6BUJnfVRD5B9qipFbRgmr'''.&lt;br /&gt;
The [[Address Block]] of a DML should look like this (it may have additional entries):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[BM-2DAV89w336ovy6BUJnfVRD5B9qipFbRgmr]&lt;br /&gt;
label = general&lt;br /&gt;
enabled = true&lt;br /&gt;
decoy = false&lt;br /&gt;
chan = true&lt;br /&gt;
privsigningkey = 5Jnbdwc4u4DG9ipJxYLznXSvemkRFueQJNHujAQamtDDoX3N1eQ&lt;br /&gt;
privencryptionkey = 5JrDcFtQDv5ydcHRW6dfGUEvThoxCCLNEUaxQfy8LXXgTJzVAcq&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Address List ==&lt;br /&gt;
A list of addresses can be found at [https://bitmessage.org/forum/index.php/topic,1420.0.html the forum].&lt;br /&gt;
&lt;br /&gt;
[[Category:Address terms]]&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=FAQ&amp;diff=20907</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=FAQ&amp;diff=20907"/>
		<updated>2013-10-28T06:36:32Z</updated>

		<summary type="html">&lt;p&gt;AyrA: /* How does Bitmessage compare to other messaging methods */ GPG Mail has attachments too&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Installation and configuration==&lt;br /&gt;
===How do I install Bitmessage===&lt;br /&gt;
Bitmessage does not needs to be &amp;quot;installed&amp;quot;. it is simply downloaded and executed. You can find instructions to download and run bitmessage from the [[Main Page]].&lt;br /&gt;
A great write up for setting up and using Bitmessage on Windows can be found [http://cryptojunky.com/blog/2013/03/09/setting-up-and-using-bitmessage-an-encrypted-communications-platform-based-on-bitcoin/ Here.]&lt;br /&gt;
&lt;br /&gt;
Bitmessage should run on any OS though it is only lightly tested on OSX. The start-on-boot and minimize-to-tray features are only implemented for Windows thus far. Several examples of how to install Bitmessage on *nix and OSX platforms can be found [https://bitmessage.org/forum/index.php in the forums.]&lt;br /&gt;
&lt;br /&gt;
===How do I become a node to help the network===&lt;br /&gt;
If your connection indicator is green then you are already accepting incoming connections and helping the Bitmessage network.&lt;br /&gt;
&lt;br /&gt;
If your connection indicator is yellow, check your firewall settings and port forwarding to make sure incoming connections are allowed to your machine on the correct TCP port (Default: 8444), the port can be found in the Bitmessage settings.&lt;br /&gt;
&lt;br /&gt;
You can click on the indicator for more information about each color.&lt;br /&gt;
&lt;br /&gt;
===Why is my Connection Indicator Yellow===&lt;br /&gt;
Bitmessage will work normally with a yellow indicator. If your indicator is yellow, you can have up to 8 connections. To make your indicator green, please forward the required TCP port (usually 8444). You can find the Port in the Bitmessage settings.&lt;br /&gt;
&lt;br /&gt;
===How do I setup Bitmessage to work with Tor===&lt;br /&gt;
&lt;br /&gt;
'''Tor'''&lt;br /&gt;
&lt;br /&gt;
If you are using the Tor Browser Bundle skip to the next section. In order for Bitmessage to use Tor as a proxy follow these steps.&lt;br /&gt;
*Navigate to Settings &amp;gt; Network Settings and select SOCKS5 from the Type: drop down under the Proxy server / Tor section.&lt;br /&gt;
*Next to 'Server hostname:' enter 'localhost' and next to 'Port:' enter '9050'.&lt;br /&gt;
*Select ok.&lt;br /&gt;
*Restart Bitmessage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Tor Browser Bundle'''&lt;br /&gt;
*Navigate to Settings &amp;gt; Network Settings and select SOCKS5 from the Type: drop down under the Proxy server / Tor section.&lt;br /&gt;
*Next to 'Server hostname:' enter 'localhost' and next to 'Port:' enter '9150'.&lt;br /&gt;
*Select ok.&lt;br /&gt;
*Restart Bitmessage.&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
===How can I run Bitmessage in daemon mode===&lt;br /&gt;
Refer to the [[Daemon|Daemon Mode Page]].&lt;br /&gt;
&lt;br /&gt;
===How many connections should I have===&lt;br /&gt;
As long as you have at least one connection, you can communicate with the network. If your connection indicator is yellow, you can have a maximum of 8 connections.&lt;br /&gt;
&lt;br /&gt;
===Can I send a message to someone that is offline===&lt;br /&gt;
Yes. However, if you go offline then they must come back online within 2 days of the message being sent. Nodes delete data, and do not accept data, older than 2 days. &lt;br /&gt;
&lt;br /&gt;
===How do I format my messages===&lt;br /&gt;
Here is [https://qt-project.org/doc/qt-4.8/richtext-html-subset.html the list of supported HTML tags].&lt;br /&gt;
&lt;br /&gt;
===What are subscriptions?===&lt;br /&gt;
&lt;br /&gt;
A [[Subscriptions|subscription]] allows you to receive messages, that were broadcasted by the address you subscribe too.&lt;br /&gt;
Since [[broadcast]] messages are encrypted with a key, that can be created by everyone who knows the address, you must be subscribed to an address to actually read the messages.&lt;br /&gt;
&lt;br /&gt;
Subscriptions are also required to use a [[Mailing List]].&lt;br /&gt;
&lt;br /&gt;
===What are &amp;quot;chans&amp;quot;?===&lt;br /&gt;
Chan is another word for DML. Please refer to [[DML|this article]] for a complete documentation of this rather complex feature.&lt;br /&gt;
&lt;br /&gt;
==How does Bitmessage work==&lt;br /&gt;
'''Startup'''&lt;br /&gt;
&lt;br /&gt;
When you first start Bitmessage, your client connects itself to the network and starts downloading a list of known nodes. Each new node that you connect to shares its list of known nodes. In addition to the known nodes, you will also start receiving person-to-person messages, broadcasts, and public keys. If any of these messages are bound for you, they will be shown in your inbox. All of this data is exchanged between all of your connections to make sure that everyone has a copy. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Sending a Message'''&lt;br /&gt;
&lt;br /&gt;
When you send a message, your client must first compute a Proof of Work (POW). This POW helps mitigate spam on the network. Nodes and other clients will not process your message if it does not show sufficient POW. After the POW is complete, your message is shared to all of your connections which in turn share it with all of their connections. &lt;br /&gt;
&lt;br /&gt;
===Where can I find more documentation about Bitmessage===&lt;br /&gt;
* [https://bitmessage.org/bitmessage.pdf Overview White Paper (PDF)]&lt;br /&gt;
* [[Protocol specification]]&lt;br /&gt;
* Detail about the [[Proof of work]]&lt;br /&gt;
&lt;br /&gt;
==How does Bitmessage compare to other messaging methods==&lt;br /&gt;
Here is a table comparing Bitmessage to other common messaging services.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Comparison of Messaging Services&lt;br /&gt;
! &amp;amp;nbsp;&lt;br /&gt;
! Trustless&lt;br /&gt;
! P2P&lt;br /&gt;
! Open Source&lt;br /&gt;
! Requires Proof of Work&lt;br /&gt;
! Hide Sender?&lt;br /&gt;
! Hide Receiver?&lt;br /&gt;
! Mobile Version&lt;br /&gt;
! Application or Web Based&lt;br /&gt;
! Text Only Messages&lt;br /&gt;
! Attachments&lt;br /&gt;
! Acknowledge delivery&lt;br /&gt;
|-&lt;br /&gt;
! Bitmessage&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| [http://opensource.org/licenses/mit-license.php MIT]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes|180 MB}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
! Standard Email&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Partial|Depends}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Both&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Partial}}&lt;br /&gt;
|-&lt;br /&gt;
! Email + GPG&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Partial|Depends}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Both&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Partial}}&lt;br /&gt;
|-&lt;br /&gt;
! [http://xmpp.org/ XMPP] + [https://en.wikipedia.org/wiki/Off-the-Record_Messaging OTR]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes|GPL V2.1}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://en.wikipedia.org/wiki/TorChat TorChat]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes|GPL}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [http://www.skype.com/en/ Skype]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [http://www.scayl.com/ Scayl]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes|Alpha}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://en.wikipedia.org/wiki/I2P#E-mail I2P Bote]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes|GPL V3}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
! [https://crypto.cat/ CryptoCat]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes|GPL}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Both&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://en.wikipedia.org/wiki/Internet_Relay_Chat IRC]&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Both&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! SMS&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
|-&lt;br /&gt;
! [http://retroshare.sourceforge.net/ RetroShare]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://en.wikipedia.org/wiki/Freenet#Tools_and_applications Freenet + Frost]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes|GPL}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://mirror4.freenetproject.org/tools.html Freenet + FMS]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://mirror4.freenetproject.org/tools.html Freenet + Freemail] 0.2&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes|GPL}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
|-&lt;br /&gt;
! [https://wiki.freenetproject.org/FLIP Freenet + FLIP]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://en.wikipedia.org/wiki/TorChat TorChat]&lt;br /&gt;
| &lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Partial|Via Tor}}&lt;br /&gt;
| {{Partial|Via Tor}}&lt;br /&gt;
| &lt;br /&gt;
| Application&lt;br /&gt;
| &lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===My Connection Indicator is Red===&lt;br /&gt;
Check your connection settings.&lt;br /&gt;
Check if you can access the internet. In case you have a firewall with outgoing restrictions (not Windoes firewall) allow unrestricted access for Bitmessage through your firewall.&lt;br /&gt;
Sometimes Bitmessage takes time to connect to the network, especially if [[knownnodes.dat]] is large. Please allow at least 30 minutes for it to connect before posting to the forum.&lt;br /&gt;
You can also try deleting [[knownnodes.dat]].&lt;br /&gt;
&lt;br /&gt;
If none of that works, [https://bitmessage.org/forum/index.php please visit the forum here.]&lt;br /&gt;
&lt;br /&gt;
===I have not received a reply from the Echo Server===&lt;br /&gt;
*Your connection indicator should be yellow or green.&lt;br /&gt;
*Make sure that your POW is complete and the message has been sent. You should see an acknowledgement under &amp;quot;Status&amp;quot; on the &amp;quot;Sent&amp;quot; tab. &lt;br /&gt;
*On average it should take 8 minutes from the time you click the send button to the time you receive a response. &lt;br /&gt;
*Be sure to allow extra time in the event that the server is under heavy traffic (Example: An article about Bitmessage was posted on a popular website).&lt;br /&gt;
*You can always send a message to another echo server. Here are two echo addresses:&lt;br /&gt;
** BM-orkCbppXWSqPpAxnz6jnfTZ2djb5pJKDb&lt;br /&gt;
** BM-omXeTjutKWmYgQJjmoZjAG3u3NmaLEdZK&lt;br /&gt;
*You may subscribe to the [[Timeservice Broadcast]] to receive network heartbeats.&lt;br /&gt;
*You can send messages to a [[Mailing List]] in case it still does not works&lt;br /&gt;
If you still do not receive a response, [https://bitmessage.org/forum/index.php visit the forum] to see if there is a current technical issue or to submit a new request for assistance.&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
Here is a list of average times for different parts of Bitmessage. [[PyBitmessage Help]]&lt;br /&gt;
&lt;br /&gt;
Please [https://bitmessage.org/forum/index.php visit the forum] for all other issues.&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=User:AyrA&amp;diff=20843</id>
		<title>User:AyrA</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=User:AyrA&amp;diff=20843"/>
		<updated>2013-10-24T21:02:08Z</updated>

		<summary type="html">&lt;p&gt;AyrA: added bitmsg ref&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About me ==&lt;br /&gt;
I am a bitmessage user since early april 2013 and I am providing multiple free services to bitmessage users worldwide, including bitmessage.ch E-Mail gateway and the timeservice broadcast, the probably oldest broadcasting service still active.&lt;br /&gt;
&lt;br /&gt;
I administer this wiki and keep it clean from spam.&lt;br /&gt;
&lt;br /&gt;
== Services/Tools ==&lt;br /&gt;
&lt;br /&gt;
You can find an updated list of all services and tools I provide on [http://bitm.sg bitm.sg]&lt;br /&gt;
&lt;br /&gt;
=== [[Timeservice Broadcast|TIMESERVICE]] ===&lt;br /&gt;
Address: '''BM-BcbRqcFFSQUUmXFKsPJgVQPSiFA3Xash'''&lt;br /&gt;
&lt;br /&gt;
You may subscribe to this address and receive time messages. The service broadcasts the current UTC time every 10 minutes, causing to be a network hartbeat.&lt;br /&gt;
&lt;br /&gt;
=== 24x7 List ===&lt;br /&gt;
Address: '''BM-GuRLKDhQA5hAhE6PDQpkcvbtt1AuXAdQ'''&lt;br /&gt;
&lt;br /&gt;
A Mailing list that is up 24x7. Has no specific subject.&lt;br /&gt;
&lt;br /&gt;
=== bitmessage.ch ===&lt;br /&gt;
Location: [https://bitmessage.ch bitmessage.ch]&lt;br /&gt;
&lt;br /&gt;
Allows users to use bitmessage without a bitmessage client. It converts bitmessages to E-Mail and vice versa. It can be accessed via the webmail or any E-Mail client. Has TOR and HTTPS support&lt;br /&gt;
&lt;br /&gt;
=== BitText ===&lt;br /&gt;
Location: [http://bittext.ch BitText.ch] or [https://bitmessage.org/forum/index.php/topic,3237.0.html Official Forum]&lt;br /&gt;
&lt;br /&gt;
Address: '''BM-GtkZoid3xpTUnwxezDfpWtYAfY6vgyHd'''&lt;br /&gt;
&lt;br /&gt;
A Pastebin alternative via Bitmessage.&lt;br /&gt;
&lt;br /&gt;
=== Bitmessage2Mail ===&lt;br /&gt;
Location: [https://bitmessage.org/forum/index.php/topic,1587.0.html Official Forum]&lt;br /&gt;
&lt;br /&gt;
The same as bitmessage.ch but all packed in a local Windows application, not requiring to use a third party service. Contains advanced options to make messages readable for bitmessage users.&lt;br /&gt;
The forum page contains all required informations to set it up.&lt;br /&gt;
&lt;br /&gt;
=== BitCrypter ===&lt;br /&gt;
Location: [https://bitmessage.org/forum/index.php/topic,1589.0.html Official Forum]&lt;br /&gt;
&lt;br /&gt;
Allows encryption of the [[keys.dat]] file, preventing it from being stolen.&lt;br /&gt;
&lt;br /&gt;
=== BitSign ===&lt;br /&gt;
Location: [https://bitmessage.org/forum/index.php/topic,2827.0.html Official Forum] [http://home.ayra.ch/bitsign BitSign download page]&lt;br /&gt;
&lt;br /&gt;
Allows users to download signed versions of bitmessage to prevent it from being modified in mid-transmission. The signed version is updated once per hour. Additionally, serves as mirror for the client&lt;br /&gt;
&lt;br /&gt;
=== BitDNS ===&lt;br /&gt;
Location: [https://bitmessage.org/forum/index.php/topic,3281.0.html Official Forum]&lt;br /&gt;
&lt;br /&gt;
Provides DNS inclusion for bitmessage addresses&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=Example_pyinstaller_spec_file&amp;diff=20835</id>
		<title>Example pyinstaller spec file</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=Example_pyinstaller_spec_file&amp;diff=20835"/>
		<updated>2013-10-24T06:02:24Z</updated>

		<summary type="html">&lt;p&gt;AyrA: this is a stub&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# -*- mode: python -*-&lt;br /&gt;
a = Analysis(['src\\bitmessagemain.py'],&lt;br /&gt;
             pathex=['C:\\example\\pyinstaller'],&lt;br /&gt;
             hiddenimports=[],&lt;br /&gt;
             hookspath=None)&lt;br /&gt;
			 &lt;br /&gt;
def addTranslations():&lt;br /&gt;
    import os&lt;br /&gt;
    extraDatas = []&lt;br /&gt;
    for file in os.listdir('src\\translations'):&lt;br /&gt;
        extraDatas.append(('translations\\'+file, 'src\\translations\\' + file, 'DATA'))&lt;br /&gt;
    return extraDatas&lt;br /&gt;
&lt;br /&gt;
# append the translations directory&lt;br /&gt;
a.datas += addTranslations()&lt;br /&gt;
			 &lt;br /&gt;
pyz = PYZ(a.pure)&lt;br /&gt;
exe = EXE(pyz,&lt;br /&gt;
          a.scripts,&lt;br /&gt;
          a.binaries,&lt;br /&gt;
          a.zipfiles,&lt;br /&gt;
          a.datas,&lt;br /&gt;
		  a.binaries + [('libeay32.dll', 'c:\\windows\\system32\\libeay32.dll', 'BINARY')],&lt;br /&gt;
          name=os.path.join('dist', 'bitmessagemain.exe'),&lt;br /&gt;
          debug=False,&lt;br /&gt;
          strip=None,&lt;br /&gt;
          upx=True,&lt;br /&gt;
          console=False , icon='src\\images\\can-icon.ico')&lt;br /&gt;
app = BUNDLE(exe,&lt;br /&gt;
             name=os.path.join('dist', 'bitmessagemain.exe.app'))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=User:AyrA&amp;diff=20810</id>
		<title>User:AyrA</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=User:AyrA&amp;diff=20810"/>
		<updated>2013-10-22T09:51:43Z</updated>

		<summary type="html">&lt;p&gt;AyrA: /* Services/Tools */ BitDNS&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About me ==&lt;br /&gt;
I am a bitmessage user since early april 2013 and I am providing multiple free services to bitmessage users worldwide, including bitmessage.ch E-Mail gateway and the timeservice broadcast, the probably oldest broadcasting service still active.&lt;br /&gt;
&lt;br /&gt;
I administer this wiki and keep it clean from spam.&lt;br /&gt;
&lt;br /&gt;
== Services/Tools ==&lt;br /&gt;
&lt;br /&gt;
=== [[Timeservice Broadcast|TIMESERVICE]] ===&lt;br /&gt;
Address: '''BM-BcbRqcFFSQUUmXFKsPJgVQPSiFA3Xash'''&lt;br /&gt;
&lt;br /&gt;
You may subscribe to this address and receive time messages. The service broadcasts the current UTC time every 10 minutes, causing to be a network hartbeat.&lt;br /&gt;
&lt;br /&gt;
=== 24x7 List ===&lt;br /&gt;
Address: '''BM-GuRLKDhQA5hAhE6PDQpkcvbtt1AuXAdQ'''&lt;br /&gt;
&lt;br /&gt;
A Mailing list that is up 24x7. Has no specific subject.&lt;br /&gt;
&lt;br /&gt;
=== bitmessage.ch ===&lt;br /&gt;
Location: [https://bitmessage.ch bitmessage.ch]&lt;br /&gt;
&lt;br /&gt;
Allows users to use bitmessage without a bitmessage client. It converts bitmessages to E-Mail and vice versa. It can be accessed via the webmail or any E-Mail client. Has TOR and HTTPS support&lt;br /&gt;
&lt;br /&gt;
=== BitText ===&lt;br /&gt;
Location: [http://bittext.ch BitText.ch] or [https://bitmessage.org/forum/index.php/topic,3237.0.html Official Forum]&lt;br /&gt;
&lt;br /&gt;
Address: '''BM-GtkZoid3xpTUnwxezDfpWtYAfY6vgyHd'''&lt;br /&gt;
&lt;br /&gt;
A Pastebin alternative via Bitmessage.&lt;br /&gt;
&lt;br /&gt;
=== Bitmessage2Mail ===&lt;br /&gt;
Location: [https://bitmessage.org/forum/index.php/topic,1587.0.html Official Forum]&lt;br /&gt;
&lt;br /&gt;
The same as bitmessage.ch but all packed in a local Windows application, not requiring to use a third party service. Contains advanced options to make messages readable for bitmessage users.&lt;br /&gt;
The forum page contains all required informations to set it up.&lt;br /&gt;
&lt;br /&gt;
=== BitCrypter ===&lt;br /&gt;
Location: [https://bitmessage.org/forum/index.php/topic,1589.0.html Official Forum]&lt;br /&gt;
&lt;br /&gt;
Allows encryption of the [[keys.dat]] file, preventing it from being stolen.&lt;br /&gt;
&lt;br /&gt;
=== BitSign ===&lt;br /&gt;
Location: [https://bitmessage.org/forum/index.php/topic,2827.0.html Official Forum] [http://home.ayra.ch/bitsign BitSign download page]&lt;br /&gt;
&lt;br /&gt;
Allows users to download signed versions of bitmessage to prevent it from being modified in mid-transmission. The signed version is updated once per hour. Additionally, serves as mirror for the client&lt;br /&gt;
&lt;br /&gt;
=== BitDNS ===&lt;br /&gt;
Location: [https://bitmessage.org/forum/index.php/topic,3281.0.html Official Forum]&lt;br /&gt;
&lt;br /&gt;
Provides DNS inclusion for bitmessage addresses&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=API_Reference&amp;diff=20749</id>
		<title>API Reference</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=API_Reference&amp;diff=20749"/>
		<updated>2013-10-14T19:27:11Z</updated>

		<summary type="html">&lt;p&gt;AyrA: /* Possible error values */ replaced asdfasdf&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Introduction ===&lt;br /&gt;
&lt;br /&gt;
The PyBitmessage API uses [https://en.wikipedia.org/wiki/JSON-RPC JSON-RPC]. &lt;br /&gt;
&lt;br /&gt;
=== Enable the API ===&lt;br /&gt;
To enable the API, copy and paste these lines into the bitmessagesettings section of the [[keys.dat]] file (the values &amp;quot;username&amp;quot; and &amp;quot;password&amp;quot; are merely examples):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apienabled = true&lt;br /&gt;
apiport = 8442&lt;br /&gt;
apiinterface = 127.0.0.1&lt;br /&gt;
apiusername = chelsea &lt;br /&gt;
apipassword = YourSuperPassw6rd-ChangeThIs-022w3eksssoQAWfasddswwWIU&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Additionally, you may optionally include an additional entry which will specify a program which Bitmessage will run when certain events occur.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apinotifypath = c:\\example\\example.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
One of these arguments will be passed to your program: startingUp, newMessage, newBroadcast. Be sure your program doesn't crash when given newer arguments introduced in the future as this list will likely expand.&lt;br /&gt;
&lt;br /&gt;
=== Remote Access ===&lt;br /&gt;
To access the Bitmessage API from a remote location, change the apiinterface value from '''127.0.0.1''' to '''0.0.0.0'''. &lt;br /&gt;
&lt;br /&gt;
The following Python code offers a demonstration of how to create a client that can connect to the PyBitmessage API. &lt;br /&gt;
&lt;br /&gt;
In this example, the username is &amp;quot;username&amp;quot;, the password is &amp;quot;password&amp;quot;, the IP address of the server running PyBitmessage is 105.168.1.0 (a random example), and the port number which PyBitmessage has been configured to listen on is 8442. In order to connect with the remote copy of PyBitmessage, these settings must match those in PyBitmessage's &amp;quot;keys.dat&amp;quot; file. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import xmlrpclib&lt;br /&gt;
import json&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
api = xmlrpclib.ServerProxy(&amp;quot;http://username:password@105.168.1.0:8442/&amp;quot;)&lt;br /&gt;
print api.add(2,3)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A more complete example can be found in the [https://github.com/Bitmessage/PyBitmessage/blob/master/src/api_client.py api_client.py] file in the PyBitmessage source code. &lt;br /&gt;
&lt;br /&gt;
=== List of Operations ===&lt;br /&gt;
Required arguments are denoted inside &amp;lt; and &amp;gt;  Optional arguments are inside [ and ]. &lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Command !! Parameters !! Minimum Version !! Description&lt;br /&gt;
|-&lt;br /&gt;
| helloWorld || &amp;lt;firstWord&amp;gt; &amp;lt;secondWord&amp;gt; || 0.2.7 || returns 'firstWord-secondWord'. Used as a simple test of the API.&lt;br /&gt;
|-&lt;br /&gt;
| add || &amp;lt;integer&amp;gt; &amp;lt;integer&amp;gt; || 0.2.7 || returns the sum of the integers. Used as a simple test of the API.&lt;br /&gt;
|-&lt;br /&gt;
| statusBar || &amp;lt;message&amp;gt; || 0.2.7 || Displays the message in the status bar on the GUI&lt;br /&gt;
|-&lt;br /&gt;
| listAddresses2|| || 0.4.0 || Lists all addresses shown on the Your Identities tab. Returns a list of objects with these properties:&lt;br /&gt;
* label (base64, decodes into utf-8) &lt;br /&gt;
* address (ascii/utf-8)&lt;br /&gt;
* stream (integer)&lt;br /&gt;
* enabled (bool)&lt;br /&gt;
&lt;br /&gt;
This is called listAddresses'''2''' because 'listAddresses' is obsolete.&lt;br /&gt;
|-&lt;br /&gt;
| createRandomAddress || &amp;lt;label&amp;gt; [eighteenByteRipe] [totalDifficulty] [smallMessageDifficulty] || 0.2.7 || Creates one address using the random number generator. label should be base64 encoded. eighteenByteRipe is a boolean telling Bitmessage whether to generate an address with an 18 byte RIPE hash(as opposed to a 19 byte hash). This is the same setting as the &amp;quot;Do extra work to make the address 1 or 2 characters shorter&amp;quot; in the user interface. Using False is recommended if you are running some sort of website and will be generating a lot of addresses. Note that even if you don't ask for it, there is still a 1 in 256 chance that you will get an address with an 18 byte RIPE hash so if you actually ''need'' an address with a 19 byte RIPE hash for some reason, you will need to check for it. eighteenByteRipe defaults to False. totalDifficulty and smallMessageDifficulty default to 1.&lt;br /&gt;
&lt;br /&gt;
Returns the address.&lt;br /&gt;
&lt;br /&gt;
Warning: At present, Bitmessage gets confused if you use both the API and the UI to make an address at the same time.&lt;br /&gt;
|-&lt;br /&gt;
|createDeterministicAddresses ||&amp;lt;passphrase&amp;gt; [numberOfAddresses] [addressVersionNumber] [streamNumber] [eighteenByteRipe] [totalDifficulty] [smallMessageDifficulty] || 0.3.4 || Similar to createRandomAddress except that you may generate many addresses in one go. passphrase should be base64 encoded. numberOfAddresses defaults to 1. addressVersionNumber and streamNumber may be set to 0 which will tell Bitmessage to use the most up-to-date addressVersionNumber and the most available streamNumber. Using zero for each of these fields is recommended. eighteenByteRipe defaults to False. totalDifficulty and smallMessageDifficulty default to 1.&lt;br /&gt;
&lt;br /&gt;
Returns a list of new addresses.  This list will be empty if the addresses already existed.&lt;br /&gt;
&lt;br /&gt;
Warning: At present, Bitmessage gets confused if you use both the API and the UI to make addresses at the same time.&lt;br /&gt;
|-&lt;br /&gt;
|getDeterministicAddress ||&amp;lt;passphrase&amp;gt; &amp;lt;addressVersionNumber&amp;gt; &amp;lt;streamNumber&amp;gt;  || 0.3.1 || Similar to createDeterministicAddresses except that the one address that is returned will not be added to the Bitmessage user interface or the keys.dat file. passphrase should be base64 encoded. addressVersionNumber should be set to 3 or 4 as these are the only ones currently supported. streamNumber must be set to 1 as this is the only one currently supported. &lt;br /&gt;
&lt;br /&gt;
Returns a single address. &lt;br /&gt;
&lt;br /&gt;
Warning: At present, Bitmessage gets confused if you use both this API command and the UI to make addresses at the same time.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;getAllInboxMessages&amp;lt;/code&amp;gt;|| || 0.2.7 || Does not include trashed messages. Returns a list of objects with these properties:&lt;br /&gt;
* msgid (hex)&lt;br /&gt;
* toAddress (ascii/utf-8)&lt;br /&gt;
* fromAddress (ascii/utf-8)&lt;br /&gt;
* subject (base64, decodes into utf-8)&lt;br /&gt;
* message (base64, decodes into utf-8)&lt;br /&gt;
* [[Protocol_specification#Message_Encodings|encodingType]] (integer)&lt;br /&gt;
* receivedTime (integer, Unix time)&lt;br /&gt;
* read (integer representing binary state (0 or 1))&lt;br /&gt;
&lt;br /&gt;
The msgid is the same as the hash of the message (analogous to the TXID in Bitcoin) thus it is shown in hex as that is the de facto standard. The base64 encoding Bitmessage uses includes line breaks including one on the end of the string.&lt;br /&gt;
|-&lt;br /&gt;
| getInboxMessageByID || &amp;lt;msgid&amp;gt; [read] || 0.4.0 || Returns an object with these properties:&lt;br /&gt;
* msgid (hex)&lt;br /&gt;
* toAddress (ascii/utf-8)&lt;br /&gt;
* fromAddress (ascii/utf-8)&lt;br /&gt;
* subject (base64, decodes into utf-8)&lt;br /&gt;
* message (base64, decodes into utf-8)&lt;br /&gt;
* [[Protocol_specification#Message_Encodings|encodingType]] (integer)&lt;br /&gt;
* receivedTime (integer, Unix time)&lt;br /&gt;
* read (integer representing binary state (0 or 1))&lt;br /&gt;
&lt;br /&gt;
Optionally sets the specific message to have a read status of 'read' (bool).&lt;br /&gt;
&lt;br /&gt;
The msgid is the same as the hash of the message (analogous to the TXID in Bitcoin) thus it should be given in hex as that is the de facto standard. The base64 encoding Bitmessage uses includes line breaks including one on the end of the string.&lt;br /&gt;
|-&lt;br /&gt;
| getSentMessageByAckData || &amp;lt;ackData&amp;gt; || 0.3.4 || Returns an object with these properties:&lt;br /&gt;
* msgid (hex)&lt;br /&gt;
* toAddress (ascii/utf-8)&lt;br /&gt;
* fromAddress (ascii/utf-8)&lt;br /&gt;
* subject (base64, decodes into utf-8)&lt;br /&gt;
* message (base64, decodes into utf-8)&lt;br /&gt;
* [[Protocol_specification#Message_Encodings|encodingType]] (integer)&lt;br /&gt;
* lastActionTime (integer, Unix time)&lt;br /&gt;
* status (ascii/utf-8)&lt;br /&gt;
* ackData (hex)&lt;br /&gt;
|-&lt;br /&gt;
| getAllSentMessages || || 0.3.4 || Returns an object with these properties:&lt;br /&gt;
* msgid (hex)&lt;br /&gt;
* toAddress (ascii/utf-8)&lt;br /&gt;
* fromAddress (ascii/utf-8)&lt;br /&gt;
* subject (base64, decodes into utf-8)&lt;br /&gt;
* message (base64, decodes into utf-8)&lt;br /&gt;
* [[Protocol_specification#Message_Encodings|encodingType]] (integer)&lt;br /&gt;
* lastActionTime (integer, Unix time)&lt;br /&gt;
* status (ascii/utf-8)&lt;br /&gt;
* ackData (hex)&lt;br /&gt;
|-&lt;br /&gt;
| getSentMessageByID || &amp;lt;msgid&amp;gt; || 0.3.4 || Returns an object with these properties:&lt;br /&gt;
* msgid (hex)&lt;br /&gt;
* toAddress (ascii/utf-8)&lt;br /&gt;
* fromAddress (ascii/utf-8)&lt;br /&gt;
* subject (base64, decodes into utf-8)&lt;br /&gt;
* message (base64, decodes into utf-8)&lt;br /&gt;
* [[Protocol_specification#Message_Encodings|encodingType]] (integer)&lt;br /&gt;
* lastActionTime (integer, Unix time)&lt;br /&gt;
* status (ascii/utf-8)&lt;br /&gt;
* ackData (hex)&lt;br /&gt;
|-&lt;br /&gt;
| getSentMessagesBySender|| &amp;lt;fromAddress&amp;gt; || 0.3.4 || Returns a list of objects with these properties:&lt;br /&gt;
* msgid (hex)&lt;br /&gt;
* toAddress (ascii/utf-8)&lt;br /&gt;
* fromAddress (ascii/utf-8)&lt;br /&gt;
* subject (base64, decodes into utf-8)&lt;br /&gt;
* message (base64, decodes into utf-8)&lt;br /&gt;
* [[Protocol_specification#Message_Encodings|encodingType]] (integer)&lt;br /&gt;
* lastActionTime (integer, Unix time)&lt;br /&gt;
* status (ascii/utf-8)&lt;br /&gt;
* ackData (hex)&lt;br /&gt;
|-&lt;br /&gt;
| trashMessage || &amp;lt;msgid&amp;gt; || 0.2.7 || returns a simple message saying that the message was trashed assuming it ever even existed. Prior existence is not checked. msgid is encoded in hex just like in the getAllInboxMessages function.&lt;br /&gt;
|-&lt;br /&gt;
| sendMessage || &amp;lt;toAddress&amp;gt; &amp;lt;fromAddress&amp;gt; &amp;lt;subject&amp;gt; &amp;lt;message&amp;gt; [encodingType] || 0.2.7 || returns ackdata encoded in hex. subject and message must be encoded in base64 which may optionally include line breaks. If used, the encodingType must be set to 2; this is included for forwards compatibility. &lt;br /&gt;
|-&lt;br /&gt;
| sendBroadcast || &amp;lt;fromAddress&amp;gt; &amp;lt;subject&amp;gt; &amp;lt;message&amp;gt; [encodingType] || 0.2.7 || returns ackData encoded in hex. subject and message must be encoded in base64. If used, the encodingType must be set to 2; this is included for forwards compatibility. &lt;br /&gt;
|-&lt;br /&gt;
| getStatus || &amp;lt;ackData&amp;gt; || 0.3.0 || returns one of these strings: &amp;lt;strike&amp;gt;notFound, findingPubkey, doingPOW, sentMessage, or ackReceived&amp;lt;/strike&amp;gt; notfound, msgqueued, broadcastqueued, broadcastsent, doingpubkeypow, awaitingpubkey, doingmsgpow, forcepow, msgsent, msgsentnoackexpected, or ackreceived. &lt;br /&gt;
|-&lt;br /&gt;
| listSubscriptions||  || 0.4.0 || Returns a list of objects with these properties:&lt;br /&gt;
* label (base64, decodes into utf-8)&lt;br /&gt;
* address (ascii/utf-8)&lt;br /&gt;
* enabled (bool)&lt;br /&gt;
|-&lt;br /&gt;
| addSubscription|| &amp;lt;address&amp;gt; [label] || 0.3.1 || Subscribe to an address. label must be base64-encoded.&lt;br /&gt;
|-&lt;br /&gt;
| deleteSubscription|| &amp;lt;address&amp;gt; || 0.3.1 || Unsubscribe from an address. The program does not check to see whether you were subscribed in the first place.&lt;br /&gt;
|-&lt;br /&gt;
| listAddressBookEntries|| || 0.4.0 ||Returns a list of objects with these properties: &lt;br /&gt;
* address (ascii/utf-8)&lt;br /&gt;
* label (base64, decodes into utf-8)&lt;br /&gt;
|-&lt;br /&gt;
| addAddressBookEntry|| &amp;lt;address&amp;gt; &amp;lt;label&amp;gt; || 0.4.0 || Add an entry to your address book. label must be base64-encoded.&lt;br /&gt;
|-&lt;br /&gt;
| deleteAddressBookEntry|| &amp;lt;address&amp;gt; || 0.4.0 || Delete an entry from your address book. The program does not check to see whether it was there in the first place.&lt;br /&gt;
|-&lt;br /&gt;
| trashSentMessageByAckData|| &amp;lt;ackData&amp;gt; || 0.4.0 || Trashes a sent message based on its ackdata. ackData should be encoded in hex. Returns a simple message saying that the message was trashed assuming it ever even existed. Prior existence is not checked.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Version &amp;quot;source&amp;quot; indicates, that the function is only available in the source version of PyBitmessage and has not yet been included in a precompiled binary.&lt;br /&gt;
&lt;br /&gt;
==== Possible error values ====&lt;br /&gt;
&lt;br /&gt;
Here are the various error numbers and descriptions you might see.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Error Number!! Message&lt;br /&gt;
|- &lt;br /&gt;
|0000 || API Error 0000: I need parameters!&lt;br /&gt;
|-&lt;br /&gt;
| 0001 || API Error 0001: The specified passphrase is blank.&lt;br /&gt;
|-&lt;br /&gt;
| 0002 || API Error 0002: The address version number currently must be 3 or 4 (or 0 which means auto-select).&lt;br /&gt;
|- &lt;br /&gt;
| 0003 || API Error 0003: The stream number must be 1 (or 0 which means auto-select). Others aren't supported.&lt;br /&gt;
|-&lt;br /&gt;
| 0004 || API Error 0004: Why would you ask me to generate 0 addresses for you?&lt;br /&gt;
|-&lt;br /&gt;
| 0005 || API Error 0005: You have (accidentally?) specified too many addresses to make. Maximum 999. This check only exists to prevent mischief; if you really want to create more addresses than this, contact the Bitmessage developers and we can modify the check or you can do it yourself by searching the source code for this message.&lt;br /&gt;
|- &lt;br /&gt;
| 0006 || API Error 0006: The encoding type must be 2 because that is the only one this program currently supports.&lt;br /&gt;
|- &lt;br /&gt;
| 0007 || API Error 0007: Could not decode address&lt;br /&gt;
|- &lt;br /&gt;
| 0008 || API Error 0008: Checksum failed for address&lt;br /&gt;
|- &lt;br /&gt;
| 0009 || API Error 0009: Invalid characters in address&lt;br /&gt;
|-&lt;br /&gt;
| 0010 || API Error 0010: Address version number too high (or zero) in address&lt;br /&gt;
|-&lt;br /&gt;
| 0011 || API Error 0011: The address version number currently must be 2, 3, or 4. Others aren't supported.&lt;br /&gt;
|-&lt;br /&gt;
| 0012 || API Error 0012: The stream number must be 1. Others aren't supported.&lt;br /&gt;
|-&lt;br /&gt;
| 0013 || API Error 0013: Could not find your fromAddress in the keys.dat file.&lt;br /&gt;
|- &lt;br /&gt;
| 0014 || API Error 0014: Your fromAddress is disabled. Cannot send.&lt;br /&gt;
|-&lt;br /&gt;
| 0015 || API Error 0015: The length of ackData should be 32 bytes (encoded in hex thus 64 characters).&lt;br /&gt;
|-&lt;br /&gt;
| 0016 || API Error 0016: You are already subscribed to that address.&lt;br /&gt;
|-&lt;br /&gt;
| 0017 || API Error 0017: Label is not valid UTF-8 data.&lt;br /&gt;
|-&lt;br /&gt;
| 0018 || API Error 0018: Chan name does not match address.&lt;br /&gt;
|-&lt;br /&gt;
| 0019 || API Error 0019: The length of hash should be 20 bytes (encoded in hex thus 40 characters).&lt;br /&gt;
|-&lt;br /&gt;
| 0020 || API Error 0020: Invalid method: &amp;lt;method_name_you_tried_to_execute&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 0021 || API Error 0021: Unexpected API Failure&lt;br /&gt;
|-&lt;br /&gt;
| 0022 || API Error 0022: Decode Error&lt;br /&gt;
|-&lt;br /&gt;
| 0023 || API Error 0023: Bool expected&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=FAQ&amp;diff=20719</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=FAQ&amp;diff=20719"/>
		<updated>2013-10-12T12:11:44Z</updated>

		<summary type="html">&lt;p&gt;AyrA: /* How does Bitmessage compare to other messaging methods */ attachemnts...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Installation and configuration==&lt;br /&gt;
===How do I install Bitmessage===&lt;br /&gt;
Bitmessage does not needs to be &amp;quot;installed&amp;quot;. it is simply downloaded and executed. You can find instructions to download and run bitmessage from the [[Main Page]].&lt;br /&gt;
A great write up for setting up and using Bitmessage on Windows can be found [http://cryptojunky.com/blog/2013/03/09/setting-up-and-using-bitmessage-an-encrypted-communications-platform-based-on-bitcoin/ Here.]&lt;br /&gt;
&lt;br /&gt;
Bitmessage should run on any OS though it is only lightly tested on OSX. The start-on-boot and minimize-to-tray features are only implemented for Windows thus far. Several examples of how to install Bitmessage on *nix and OSX platforms can be found [https://bitmessage.org/forum/index.php in the forums.]&lt;br /&gt;
&lt;br /&gt;
===How do I become a node to help the network===&lt;br /&gt;
If your connection indicator is green then you are already accepting incoming connections and helping the Bitmessage network.&lt;br /&gt;
&lt;br /&gt;
If your connection indicator is yellow, check your firewall settings and port forwarding to make sure incoming connections are allowed to your machine on the correct TCP port (Default: 8444), the port can be found in the Bitmessage settings.&lt;br /&gt;
&lt;br /&gt;
You can click on the indicator for more information about each color.&lt;br /&gt;
&lt;br /&gt;
===Why is my Connection Indicator Yellow===&lt;br /&gt;
Bitmessage will work normally with a yellow indicator. If your indicator is yellow, you can have up to 8 connections. To make your indicator green, please forward the required TCP port (usually 8444). You can find the Port in the Bitmessage settings.&lt;br /&gt;
&lt;br /&gt;
===How do I setup Bitmessage to work with Tor===&lt;br /&gt;
&lt;br /&gt;
'''Tor'''&lt;br /&gt;
&lt;br /&gt;
If you are using the Tor Browser Bundle skip to the next section. In order for Bitmessage to use Tor as a proxy follow these steps.&lt;br /&gt;
*Navigate to Settings &amp;gt; Network Settings and select SOCKS5 from the Type: drop down under the Proxy server / Tor section.&lt;br /&gt;
*Next to 'Server hostname:' enter 'localhost' and next to 'Port:' enter '9050'.&lt;br /&gt;
*Select ok.&lt;br /&gt;
*Restart Bitmessage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Tor Browser Bundle'''&lt;br /&gt;
*Navigate to Settings &amp;gt; Network Settings and select SOCKS5 from the Type: drop down under the Proxy server / Tor section.&lt;br /&gt;
*Next to 'Server hostname:' enter 'localhost' and next to 'Port:' enter '9150'.&lt;br /&gt;
*Select ok.&lt;br /&gt;
*Restart Bitmessage.&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
===How can I run Bitmessage in daemon mode===&lt;br /&gt;
Refer to the [[Daemon|Daemon Mode Page]].&lt;br /&gt;
&lt;br /&gt;
===How many connections should I have===&lt;br /&gt;
As long as you have at least one connection, you can communicate with the network. If your connection indicator is yellow, you can have a maximum of 8 connections.&lt;br /&gt;
&lt;br /&gt;
===Can I send a message to someone that is offline===&lt;br /&gt;
Yes. However, if you go offline then they must come back online within 2 days of the message being sent. Nodes delete data, and do not accept data, older than 2 days. &lt;br /&gt;
&lt;br /&gt;
===How do I format my messages===&lt;br /&gt;
Here is [https://qt-project.org/doc/qt-4.8/richtext-html-subset.html the list of supported HTML tags].&lt;br /&gt;
&lt;br /&gt;
===What are subscriptions?===&lt;br /&gt;
&lt;br /&gt;
A [[Subscriptions|subscription]] allows you to receive messages, that were broadcasted by the address you subscribe too.&lt;br /&gt;
Since [[broadcast]] messages are encrypted with a key, that can be created by everyone who knows the address, you must be subscribed to an address to actually read the messages.&lt;br /&gt;
&lt;br /&gt;
Subscriptions are also required to use a [[Mailing List]].&lt;br /&gt;
&lt;br /&gt;
===What are &amp;quot;chans&amp;quot;?===&lt;br /&gt;
Chan is another word for DML. Please refer to [[DML|this article]] for a complete documentation of this rather complex feature.&lt;br /&gt;
&lt;br /&gt;
==How does Bitmessage work==&lt;br /&gt;
'''Startup'''&lt;br /&gt;
&lt;br /&gt;
When you first start Bitmessage, your client connects itself to the network and starts downloading a list of known nodes. Each new node that you connect to shares its list of known nodes. In addition to the known nodes, you will also start receiving person-to-person messages, broadcasts, and public keys. If any of these messages are bound for you, they will be shown in your inbox. All of this data is exchanged between all of your connections to make sure that everyone has a copy. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Sending a Message'''&lt;br /&gt;
&lt;br /&gt;
When you send a message, your client must first compute a Proof of Work (POW). This POW helps mitigate spam on the network. Nodes and other clients will not process your message if it does not show sufficient POW. After the POW is complete, your message is shared to all of your connections which in turn share it with all of their connections. &lt;br /&gt;
&lt;br /&gt;
===Where can I find more documentation about Bitmessage===&lt;br /&gt;
* [https://bitmessage.org/bitmessage.pdf Overview White Paper (PDF)]&lt;br /&gt;
* [[Protocol specification]]&lt;br /&gt;
* Detail about the [[Proof of work]]&lt;br /&gt;
&lt;br /&gt;
==How does Bitmessage compare to other messaging methods==&lt;br /&gt;
Here is a table comparing Bitmessage to other common messaging services.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Comparison of Messaging Services&lt;br /&gt;
! &amp;amp;nbsp;&lt;br /&gt;
! Trustless&lt;br /&gt;
! P2P&lt;br /&gt;
! Open Source&lt;br /&gt;
! Requires Proof of Work&lt;br /&gt;
! Hide Sender?&lt;br /&gt;
! Hide Receiver?&lt;br /&gt;
! Mobile Version&lt;br /&gt;
! Application or Web Based&lt;br /&gt;
! Text Only Messages&lt;br /&gt;
! Attachments&lt;br /&gt;
! Acknowledge delivery&lt;br /&gt;
|-&lt;br /&gt;
! Bitmessage&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| [http://opensource.org/licenses/mit-license.php MIT]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes|180 MB}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
! Standard Email&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Partial|Depends}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Both&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Partial}}&lt;br /&gt;
|-&lt;br /&gt;
! Email + GPG&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Partial|Depends}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Partial}}&lt;br /&gt;
|-&lt;br /&gt;
! [http://xmpp.org/ XMPP] + [https://en.wikipedia.org/wiki/Off-the-Record_Messaging OTR]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes|GPL V2.1}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://en.wikipedia.org/wiki/TorChat TorChat]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes|GPL}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [http://www.skype.com/en/ Skype]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [http://www.scayl.com/ Scayl]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes|Alpha}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://en.wikipedia.org/wiki/I2P#E-mail I2P Bote]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes|GPL V3}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
! [https://crypto.cat/ CryptoCat]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes|GPL}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Both&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://en.wikipedia.org/wiki/Internet_Relay_Chat IRC]&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Both&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! SMS&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
|-&lt;br /&gt;
! [http://retroshare.sourceforge.net/ RetroShare]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://en.wikipedia.org/wiki/Freenet#Tools_and_applications Freenet + Frost]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes|GPL}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://mirror4.freenetproject.org/tools.html Freenet + FMS]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://mirror4.freenetproject.org/tools.html Freenet + Freemail] 0.2&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes|GPL}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
|-&lt;br /&gt;
! [https://wiki.freenetproject.org/FLIP Freenet + FLIP]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://en.wikipedia.org/wiki/TorChat TorChat]&lt;br /&gt;
| &lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Partial|Via Tor}}&lt;br /&gt;
| {{Partial|Via Tor}}&lt;br /&gt;
| &lt;br /&gt;
| Application&lt;br /&gt;
| &lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===My Connection Indicator is Red===&lt;br /&gt;
Check your connection settings.&lt;br /&gt;
Check if you can access the internet. In case you have a firewall with outgoing restrictions (not Windoes firewall) allow unrestricted access for Bitmessage through your firewall.&lt;br /&gt;
Sometimes Bitmessage takes time to connect to the network, especially if [[knownnodes.dat]] is large. Please allow at least 30 minutes for it to connect before posting to the forum.&lt;br /&gt;
You can also try deleting [[knownnodes.dat]].&lt;br /&gt;
&lt;br /&gt;
If none of that works, [https://bitmessage.org/forum/index.php please visit the forum here.]&lt;br /&gt;
&lt;br /&gt;
===I have not received a reply from the Echo Server===&lt;br /&gt;
*Your connection indicator should be yellow or green.&lt;br /&gt;
*Make sure that your POW is complete and the message has been sent. You should see an acknowledgement under &amp;quot;Status&amp;quot; on the &amp;quot;Sent&amp;quot; tab. &lt;br /&gt;
*On average it should take 8 minutes from the time you click the send button to the time you receive a response. &lt;br /&gt;
*Be sure to allow extra time in the event that the server is under heavy traffic (Example: An article about Bitmessage was posted on a popular website).&lt;br /&gt;
*You can always send a message to another echo server. Here are two echo addresses:&lt;br /&gt;
** BM-orkCbppXWSqPpAxnz6jnfTZ2djb5pJKDb&lt;br /&gt;
** BM-omXeTjutKWmYgQJjmoZjAG3u3NmaLEdZK&lt;br /&gt;
*You may subscribe to the [[Timeservice Broadcast]] to receive network heartbeats.&lt;br /&gt;
*You can send messages to a [[Mailing List]] in case it still does not works&lt;br /&gt;
If you still do not receive a response, [https://bitmessage.org/forum/index.php visit the forum] to see if there is a current technical issue or to submit a new request for assistance.&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
Here is a list of average times for different parts of Bitmessage. [[PyBitmessage Help]]&lt;br /&gt;
&lt;br /&gt;
Please [https://bitmessage.org/forum/index.php visit the forum] for all other issues.&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=FAQ&amp;diff=20718</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=FAQ&amp;diff=20718"/>
		<updated>2013-10-12T12:07:17Z</updated>

		<summary type="html">&lt;p&gt;AyrA: /* How does Bitmessage compare to other messaging methods */ more colors&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Installation and configuration==&lt;br /&gt;
===How do I install Bitmessage===&lt;br /&gt;
Bitmessage does not needs to be &amp;quot;installed&amp;quot;. it is simply downloaded and executed. You can find instructions to download and run bitmessage from the [[Main Page]].&lt;br /&gt;
A great write up for setting up and using Bitmessage on Windows can be found [http://cryptojunky.com/blog/2013/03/09/setting-up-and-using-bitmessage-an-encrypted-communications-platform-based-on-bitcoin/ Here.]&lt;br /&gt;
&lt;br /&gt;
Bitmessage should run on any OS though it is only lightly tested on OSX. The start-on-boot and minimize-to-tray features are only implemented for Windows thus far. Several examples of how to install Bitmessage on *nix and OSX platforms can be found [https://bitmessage.org/forum/index.php in the forums.]&lt;br /&gt;
&lt;br /&gt;
===How do I become a node to help the network===&lt;br /&gt;
If your connection indicator is green then you are already accepting incoming connections and helping the Bitmessage network.&lt;br /&gt;
&lt;br /&gt;
If your connection indicator is yellow, check your firewall settings and port forwarding to make sure incoming connections are allowed to your machine on the correct TCP port (Default: 8444), the port can be found in the Bitmessage settings.&lt;br /&gt;
&lt;br /&gt;
You can click on the indicator for more information about each color.&lt;br /&gt;
&lt;br /&gt;
===Why is my Connection Indicator Yellow===&lt;br /&gt;
Bitmessage will work normally with a yellow indicator. If your indicator is yellow, you can have up to 8 connections. To make your indicator green, please forward the required TCP port (usually 8444). You can find the Port in the Bitmessage settings.&lt;br /&gt;
&lt;br /&gt;
===How do I setup Bitmessage to work with Tor===&lt;br /&gt;
&lt;br /&gt;
'''Tor'''&lt;br /&gt;
&lt;br /&gt;
If you are using the Tor Browser Bundle skip to the next section. In order for Bitmessage to use Tor as a proxy follow these steps.&lt;br /&gt;
*Navigate to Settings &amp;gt; Network Settings and select SOCKS5 from the Type: drop down under the Proxy server / Tor section.&lt;br /&gt;
*Next to 'Server hostname:' enter 'localhost' and next to 'Port:' enter '9050'.&lt;br /&gt;
*Select ok.&lt;br /&gt;
*Restart Bitmessage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Tor Browser Bundle'''&lt;br /&gt;
*Navigate to Settings &amp;gt; Network Settings and select SOCKS5 from the Type: drop down under the Proxy server / Tor section.&lt;br /&gt;
*Next to 'Server hostname:' enter 'localhost' and next to 'Port:' enter '9150'.&lt;br /&gt;
*Select ok.&lt;br /&gt;
*Restart Bitmessage.&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
===How can I run Bitmessage in daemon mode===&lt;br /&gt;
Refer to the [[Daemon|Daemon Mode Page]].&lt;br /&gt;
&lt;br /&gt;
===How many connections should I have===&lt;br /&gt;
As long as you have at least one connection, you can communicate with the network. If your connection indicator is yellow, you can have a maximum of 8 connections.&lt;br /&gt;
&lt;br /&gt;
===Can I send a message to someone that is offline===&lt;br /&gt;
Yes. However, if you go offline then they must come back online within 2 days of the message being sent. Nodes delete data, and do not accept data, older than 2 days. &lt;br /&gt;
&lt;br /&gt;
===How do I format my messages===&lt;br /&gt;
Here is [https://qt-project.org/doc/qt-4.8/richtext-html-subset.html the list of supported HTML tags].&lt;br /&gt;
&lt;br /&gt;
===What are subscriptions?===&lt;br /&gt;
&lt;br /&gt;
A [[Subscriptions|subscription]] allows you to receive messages, that were broadcasted by the address you subscribe too.&lt;br /&gt;
Since [[broadcast]] messages are encrypted with a key, that can be created by everyone who knows the address, you must be subscribed to an address to actually read the messages.&lt;br /&gt;
&lt;br /&gt;
Subscriptions are also required to use a [[Mailing List]].&lt;br /&gt;
&lt;br /&gt;
===What are &amp;quot;chans&amp;quot;?===&lt;br /&gt;
Chan is another word for DML. Please refer to [[DML|this article]] for a complete documentation of this rather complex feature.&lt;br /&gt;
&lt;br /&gt;
==How does Bitmessage work==&lt;br /&gt;
'''Startup'''&lt;br /&gt;
&lt;br /&gt;
When you first start Bitmessage, your client connects itself to the network and starts downloading a list of known nodes. Each new node that you connect to shares its list of known nodes. In addition to the known nodes, you will also start receiving person-to-person messages, broadcasts, and public keys. If any of these messages are bound for you, they will be shown in your inbox. All of this data is exchanged between all of your connections to make sure that everyone has a copy. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Sending a Message'''&lt;br /&gt;
&lt;br /&gt;
When you send a message, your client must first compute a Proof of Work (POW). This POW helps mitigate spam on the network. Nodes and other clients will not process your message if it does not show sufficient POW. After the POW is complete, your message is shared to all of your connections which in turn share it with all of their connections. &lt;br /&gt;
&lt;br /&gt;
===Where can I find more documentation about Bitmessage===&lt;br /&gt;
* [https://bitmessage.org/bitmessage.pdf Overview White Paper (PDF)]&lt;br /&gt;
* [[Protocol specification]]&lt;br /&gt;
* Detail about the [[Proof of work]]&lt;br /&gt;
&lt;br /&gt;
==How does Bitmessage compare to other messaging methods==&lt;br /&gt;
Here is a table comparing Bitmessage to other common messaging services.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Comparison of Messaging Services&lt;br /&gt;
! &amp;amp;nbsp;&lt;br /&gt;
! Trustless&lt;br /&gt;
! P2P&lt;br /&gt;
! Open Source&lt;br /&gt;
! Requires Proof of Work&lt;br /&gt;
! Hide Sender?&lt;br /&gt;
! Hide Receiver?&lt;br /&gt;
! Mobile Version&lt;br /&gt;
! Application or Web Based&lt;br /&gt;
! Text Only Messages&lt;br /&gt;
! Attachments&lt;br /&gt;
! Acknowledge delivery&lt;br /&gt;
|-&lt;br /&gt;
! Bitmessage&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| [http://opensource.org/licenses/mit-license.php MIT]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Partial|Small only}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
! Standard Email&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Partial|Depends}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Both&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Partial}}&lt;br /&gt;
|-&lt;br /&gt;
! Email + GPG&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Partial|Depends}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Partial}}&lt;br /&gt;
|-&lt;br /&gt;
! [http://xmpp.org/ XMPP] + [https://en.wikipedia.org/wiki/Off-the-Record_Messaging OTR]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes|GPL V2.1}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://en.wikipedia.org/wiki/TorChat TorChat]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes|GPL}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [http://www.skype.com/en/ Skype]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [http://www.scayl.com/ Scayl]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes|Alpha}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://en.wikipedia.org/wiki/I2P#E-mail I2P Bote]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes|GPL V3}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
! [https://crypto.cat/ CryptoCat]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes|GPL}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Both&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://en.wikipedia.org/wiki/Internet_Relay_Chat IRC]&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Both&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! SMS&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
|-&lt;br /&gt;
! [http://retroshare.sourceforge.net/ RetroShare]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://en.wikipedia.org/wiki/Freenet#Tools_and_applications Freenet + Frost]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes|GPL}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://mirror4.freenetproject.org/tools.html Freenet + FMS]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://mirror4.freenetproject.org/tools.html Freenet + Freemail] 0.2&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes|GPL}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
|-&lt;br /&gt;
! [https://wiki.freenetproject.org/FLIP Freenet + FLIP]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://en.wikipedia.org/wiki/TorChat TorChat]&lt;br /&gt;
| &lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Partial|Via Tor}}&lt;br /&gt;
| {{Partial|Via Tor}}&lt;br /&gt;
| &lt;br /&gt;
| Application&lt;br /&gt;
| &lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===My Connection Indicator is Red===&lt;br /&gt;
Check your connection settings.&lt;br /&gt;
Check if you can access the internet. In case you have a firewall with outgoing restrictions (not Windoes firewall) allow unrestricted access for Bitmessage through your firewall.&lt;br /&gt;
Sometimes Bitmessage takes time to connect to the network, especially if [[knownnodes.dat]] is large. Please allow at least 30 minutes for it to connect before posting to the forum.&lt;br /&gt;
You can also try deleting [[knownnodes.dat]].&lt;br /&gt;
&lt;br /&gt;
If none of that works, [https://bitmessage.org/forum/index.php please visit the forum here.]&lt;br /&gt;
&lt;br /&gt;
===I have not received a reply from the Echo Server===&lt;br /&gt;
*Your connection indicator should be yellow or green.&lt;br /&gt;
*Make sure that your POW is complete and the message has been sent. You should see an acknowledgement under &amp;quot;Status&amp;quot; on the &amp;quot;Sent&amp;quot; tab. &lt;br /&gt;
*On average it should take 8 minutes from the time you click the send button to the time you receive a response. &lt;br /&gt;
*Be sure to allow extra time in the event that the server is under heavy traffic (Example: An article about Bitmessage was posted on a popular website).&lt;br /&gt;
*You can always send a message to another echo server. Here are two echo addresses:&lt;br /&gt;
** BM-orkCbppXWSqPpAxnz6jnfTZ2djb5pJKDb&lt;br /&gt;
** BM-omXeTjutKWmYgQJjmoZjAG3u3NmaLEdZK&lt;br /&gt;
*You may subscribe to the [[Timeservice Broadcast]] to receive network heartbeats.&lt;br /&gt;
*You can send messages to a [[Mailing List]] in case it still does not works&lt;br /&gt;
If you still do not receive a response, [https://bitmessage.org/forum/index.php visit the forum] to see if there is a current technical issue or to submit a new request for assistance.&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
Here is a list of average times for different parts of Bitmessage. [[PyBitmessage Help]]&lt;br /&gt;
&lt;br /&gt;
Please [https://bitmessage.org/forum/index.php visit the forum] for all other issues.&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=FAQ&amp;diff=20717</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=FAQ&amp;diff=20717"/>
		<updated>2013-10-12T12:06:12Z</updated>

		<summary type="html">&lt;p&gt;AyrA: /* How does Bitmessage compare to other messaging methods */ more colors&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Installation and configuration==&lt;br /&gt;
===How do I install Bitmessage===&lt;br /&gt;
Bitmessage does not needs to be &amp;quot;installed&amp;quot;. it is simply downloaded and executed. You can find instructions to download and run bitmessage from the [[Main Page]].&lt;br /&gt;
A great write up for setting up and using Bitmessage on Windows can be found [http://cryptojunky.com/blog/2013/03/09/setting-up-and-using-bitmessage-an-encrypted-communications-platform-based-on-bitcoin/ Here.]&lt;br /&gt;
&lt;br /&gt;
Bitmessage should run on any OS though it is only lightly tested on OSX. The start-on-boot and minimize-to-tray features are only implemented for Windows thus far. Several examples of how to install Bitmessage on *nix and OSX platforms can be found [https://bitmessage.org/forum/index.php in the forums.]&lt;br /&gt;
&lt;br /&gt;
===How do I become a node to help the network===&lt;br /&gt;
If your connection indicator is green then you are already accepting incoming connections and helping the Bitmessage network.&lt;br /&gt;
&lt;br /&gt;
If your connection indicator is yellow, check your firewall settings and port forwarding to make sure incoming connections are allowed to your machine on the correct TCP port (Default: 8444), the port can be found in the Bitmessage settings.&lt;br /&gt;
&lt;br /&gt;
You can click on the indicator for more information about each color.&lt;br /&gt;
&lt;br /&gt;
===Why is my Connection Indicator Yellow===&lt;br /&gt;
Bitmessage will work normally with a yellow indicator. If your indicator is yellow, you can have up to 8 connections. To make your indicator green, please forward the required TCP port (usually 8444). You can find the Port in the Bitmessage settings.&lt;br /&gt;
&lt;br /&gt;
===How do I setup Bitmessage to work with Tor===&lt;br /&gt;
&lt;br /&gt;
'''Tor'''&lt;br /&gt;
&lt;br /&gt;
If you are using the Tor Browser Bundle skip to the next section. In order for Bitmessage to use Tor as a proxy follow these steps.&lt;br /&gt;
*Navigate to Settings &amp;gt; Network Settings and select SOCKS5 from the Type: drop down under the Proxy server / Tor section.&lt;br /&gt;
*Next to 'Server hostname:' enter 'localhost' and next to 'Port:' enter '9050'.&lt;br /&gt;
*Select ok.&lt;br /&gt;
*Restart Bitmessage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Tor Browser Bundle'''&lt;br /&gt;
*Navigate to Settings &amp;gt; Network Settings and select SOCKS5 from the Type: drop down under the Proxy server / Tor section.&lt;br /&gt;
*Next to 'Server hostname:' enter 'localhost' and next to 'Port:' enter '9150'.&lt;br /&gt;
*Select ok.&lt;br /&gt;
*Restart Bitmessage.&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
===How can I run Bitmessage in daemon mode===&lt;br /&gt;
Refer to the [[Daemon|Daemon Mode Page]].&lt;br /&gt;
&lt;br /&gt;
===How many connections should I have===&lt;br /&gt;
As long as you have at least one connection, you can communicate with the network. If your connection indicator is yellow, you can have a maximum of 8 connections.&lt;br /&gt;
&lt;br /&gt;
===Can I send a message to someone that is offline===&lt;br /&gt;
Yes. However, if you go offline then they must come back online within 2 days of the message being sent. Nodes delete data, and do not accept data, older than 2 days. &lt;br /&gt;
&lt;br /&gt;
===How do I format my messages===&lt;br /&gt;
Here is [https://qt-project.org/doc/qt-4.8/richtext-html-subset.html the list of supported HTML tags].&lt;br /&gt;
&lt;br /&gt;
===What are subscriptions?===&lt;br /&gt;
&lt;br /&gt;
A [[Subscriptions|subscription]] allows you to receive messages, that were broadcasted by the address you subscribe too.&lt;br /&gt;
Since [[broadcast]] messages are encrypted with a key, that can be created by everyone who knows the address, you must be subscribed to an address to actually read the messages.&lt;br /&gt;
&lt;br /&gt;
Subscriptions are also required to use a [[Mailing List]].&lt;br /&gt;
&lt;br /&gt;
===What are &amp;quot;chans&amp;quot;?===&lt;br /&gt;
Chan is another word for DML. Please refer to [[DML|this article]] for a complete documentation of this rather complex feature.&lt;br /&gt;
&lt;br /&gt;
==How does Bitmessage work==&lt;br /&gt;
'''Startup'''&lt;br /&gt;
&lt;br /&gt;
When you first start Bitmessage, your client connects itself to the network and starts downloading a list of known nodes. Each new node that you connect to shares its list of known nodes. In addition to the known nodes, you will also start receiving person-to-person messages, broadcasts, and public keys. If any of these messages are bound for you, they will be shown in your inbox. All of this data is exchanged between all of your connections to make sure that everyone has a copy. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Sending a Message'''&lt;br /&gt;
&lt;br /&gt;
When you send a message, your client must first compute a Proof of Work (POW). This POW helps mitigate spam on the network. Nodes and other clients will not process your message if it does not show sufficient POW. After the POW is complete, your message is shared to all of your connections which in turn share it with all of their connections. &lt;br /&gt;
&lt;br /&gt;
===Where can I find more documentation about Bitmessage===&lt;br /&gt;
* [https://bitmessage.org/bitmessage.pdf Overview White Paper (PDF)]&lt;br /&gt;
* [[Protocol specification]]&lt;br /&gt;
* Detail about the [[Proof of work]]&lt;br /&gt;
&lt;br /&gt;
==How does Bitmessage compare to other messaging methods==&lt;br /&gt;
Here is a table comparing Bitmessage to other common messaging services.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Comparison of Messaging Services&lt;br /&gt;
! &amp;amp;nbsp;&lt;br /&gt;
! Trustless&lt;br /&gt;
! P2P&lt;br /&gt;
! Open Source&lt;br /&gt;
! Requires Proof of Work&lt;br /&gt;
! Hide Sender?&lt;br /&gt;
! Hide Receiver?&lt;br /&gt;
! Mobile Version&lt;br /&gt;
! Application or Web Based&lt;br /&gt;
! Text Only Messages&lt;br /&gt;
! Attachments&lt;br /&gt;
! Acknowledge delivery&lt;br /&gt;
|-&lt;br /&gt;
! Bitmessage&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| [http://opensource.org/licenses/mit-license.php MIT]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Partial|Small only}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
! Standard Email&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Partial|Depends}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Both&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
|-&lt;br /&gt;
! Email + GPG&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Partial|Depends}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
|-&lt;br /&gt;
! [http://xmpp.org/ XMPP] + [https://en.wikipedia.org/wiki/Off-the-Record_Messaging OTR]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes|GPL V2.1}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://en.wikipedia.org/wiki/TorChat TorChat]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes|GPL}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [http://www.skype.com/en/ Skype]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [http://www.scayl.com/ Scayl]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Alpha&lt;br /&gt;
| Application&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://en.wikipedia.org/wiki/I2P#E-mail I2P Bote]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes|GPL V3}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
! [https://crypto.cat/ CryptoCat]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes|GPL}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Both&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://en.wikipedia.org/wiki/Internet_Relay_Chat IRC]&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Both&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! SMS&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
|-&lt;br /&gt;
! [http://retroshare.sourceforge.net/ RetroShare]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://en.wikipedia.org/wiki/Freenet#Tools_and_applications Freenet + Frost]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes|GPL}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://mirror4.freenetproject.org/tools.html Freenet + FMS]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://mirror4.freenetproject.org/tools.html Freenet + Freemail] 0.2&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes|GPL}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
|-&lt;br /&gt;
! [https://wiki.freenetproject.org/FLIP Freenet + FLIP]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://en.wikipedia.org/wiki/TorChat TorChat]&lt;br /&gt;
| &lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Partial|Via Tor}}&lt;br /&gt;
| {{Partial|Via Tor}}&lt;br /&gt;
| &lt;br /&gt;
| Application&lt;br /&gt;
| &lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===My Connection Indicator is Red===&lt;br /&gt;
Check your connection settings.&lt;br /&gt;
Check if you can access the internet. In case you have a firewall with outgoing restrictions (not Windoes firewall) allow unrestricted access for Bitmessage through your firewall.&lt;br /&gt;
Sometimes Bitmessage takes time to connect to the network, especially if [[knownnodes.dat]] is large. Please allow at least 30 minutes for it to connect before posting to the forum.&lt;br /&gt;
You can also try deleting [[knownnodes.dat]].&lt;br /&gt;
&lt;br /&gt;
If none of that works, [https://bitmessage.org/forum/index.php please visit the forum here.]&lt;br /&gt;
&lt;br /&gt;
===I have not received a reply from the Echo Server===&lt;br /&gt;
*Your connection indicator should be yellow or green.&lt;br /&gt;
*Make sure that your POW is complete and the message has been sent. You should see an acknowledgement under &amp;quot;Status&amp;quot; on the &amp;quot;Sent&amp;quot; tab. &lt;br /&gt;
*On average it should take 8 minutes from the time you click the send button to the time you receive a response. &lt;br /&gt;
*Be sure to allow extra time in the event that the server is under heavy traffic (Example: An article about Bitmessage was posted on a popular website).&lt;br /&gt;
*You can always send a message to another echo server. Here are two echo addresses:&lt;br /&gt;
** BM-orkCbppXWSqPpAxnz6jnfTZ2djb5pJKDb&lt;br /&gt;
** BM-omXeTjutKWmYgQJjmoZjAG3u3NmaLEdZK&lt;br /&gt;
*You may subscribe to the [[Timeservice Broadcast]] to receive network heartbeats.&lt;br /&gt;
*You can send messages to a [[Mailing List]] in case it still does not works&lt;br /&gt;
If you still do not receive a response, [https://bitmessage.org/forum/index.php visit the forum] to see if there is a current technical issue or to submit a new request for assistance.&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
Here is a list of average times for different parts of Bitmessage. [[PyBitmessage Help]]&lt;br /&gt;
&lt;br /&gt;
Please [https://bitmessage.org/forum/index.php visit the forum] for all other issues.&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=Template:Partial&amp;diff=20716</id>
		<title>Template:Partial</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=Template:Partial&amp;diff=20716"/>
		<updated>2013-10-12T12:04:24Z</updated>

		<summary type="html">&lt;p&gt;AyrA: changed param&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;/noinclude&amp;gt;style=&amp;quot;background: #ff9000; color: black; vertical-align: middle; text-align: {{{align|center}}}; {{{style|}}}&amp;quot; class=&amp;quot;table-yes&amp;quot;|{{{1|Partial}}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=FAQ&amp;diff=20715</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=FAQ&amp;diff=20715"/>
		<updated>2013-10-12T12:01:02Z</updated>

		<summary type="html">&lt;p&gt;AyrA: /* How does Bitmessage compare to other messaging methods */ colors!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Installation and configuration==&lt;br /&gt;
===How do I install Bitmessage===&lt;br /&gt;
Bitmessage does not needs to be &amp;quot;installed&amp;quot;. it is simply downloaded and executed. You can find instructions to download and run bitmessage from the [[Main Page]].&lt;br /&gt;
A great write up for setting up and using Bitmessage on Windows can be found [http://cryptojunky.com/blog/2013/03/09/setting-up-and-using-bitmessage-an-encrypted-communications-platform-based-on-bitcoin/ Here.]&lt;br /&gt;
&lt;br /&gt;
Bitmessage should run on any OS though it is only lightly tested on OSX. The start-on-boot and minimize-to-tray features are only implemented for Windows thus far. Several examples of how to install Bitmessage on *nix and OSX platforms can be found [https://bitmessage.org/forum/index.php in the forums.]&lt;br /&gt;
&lt;br /&gt;
===How do I become a node to help the network===&lt;br /&gt;
If your connection indicator is green then you are already accepting incoming connections and helping the Bitmessage network.&lt;br /&gt;
&lt;br /&gt;
If your connection indicator is yellow, check your firewall settings and port forwarding to make sure incoming connections are allowed to your machine on the correct TCP port (Default: 8444), the port can be found in the Bitmessage settings.&lt;br /&gt;
&lt;br /&gt;
You can click on the indicator for more information about each color.&lt;br /&gt;
&lt;br /&gt;
===Why is my Connection Indicator Yellow===&lt;br /&gt;
Bitmessage will work normally with a yellow indicator. If your indicator is yellow, you can have up to 8 connections. To make your indicator green, please forward the required TCP port (usually 8444). You can find the Port in the Bitmessage settings.&lt;br /&gt;
&lt;br /&gt;
===How do I setup Bitmessage to work with Tor===&lt;br /&gt;
&lt;br /&gt;
'''Tor'''&lt;br /&gt;
&lt;br /&gt;
If you are using the Tor Browser Bundle skip to the next section. In order for Bitmessage to use Tor as a proxy follow these steps.&lt;br /&gt;
*Navigate to Settings &amp;gt; Network Settings and select SOCKS5 from the Type: drop down under the Proxy server / Tor section.&lt;br /&gt;
*Next to 'Server hostname:' enter 'localhost' and next to 'Port:' enter '9050'.&lt;br /&gt;
*Select ok.&lt;br /&gt;
*Restart Bitmessage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Tor Browser Bundle'''&lt;br /&gt;
*Navigate to Settings &amp;gt; Network Settings and select SOCKS5 from the Type: drop down under the Proxy server / Tor section.&lt;br /&gt;
*Next to 'Server hostname:' enter 'localhost' and next to 'Port:' enter '9150'.&lt;br /&gt;
*Select ok.&lt;br /&gt;
*Restart Bitmessage.&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
===How can I run Bitmessage in daemon mode===&lt;br /&gt;
Refer to the [[Daemon|Daemon Mode Page]].&lt;br /&gt;
&lt;br /&gt;
===How many connections should I have===&lt;br /&gt;
As long as you have at least one connection, you can communicate with the network. If your connection indicator is yellow, you can have a maximum of 8 connections.&lt;br /&gt;
&lt;br /&gt;
===Can I send a message to someone that is offline===&lt;br /&gt;
Yes. However, if you go offline then they must come back online within 2 days of the message being sent. Nodes delete data, and do not accept data, older than 2 days. &lt;br /&gt;
&lt;br /&gt;
===How do I format my messages===&lt;br /&gt;
Here is [https://qt-project.org/doc/qt-4.8/richtext-html-subset.html the list of supported HTML tags].&lt;br /&gt;
&lt;br /&gt;
===What are subscriptions?===&lt;br /&gt;
&lt;br /&gt;
A [[Subscriptions|subscription]] allows you to receive messages, that were broadcasted by the address you subscribe too.&lt;br /&gt;
Since [[broadcast]] messages are encrypted with a key, that can be created by everyone who knows the address, you must be subscribed to an address to actually read the messages.&lt;br /&gt;
&lt;br /&gt;
Subscriptions are also required to use a [[Mailing List]].&lt;br /&gt;
&lt;br /&gt;
===What are &amp;quot;chans&amp;quot;?===&lt;br /&gt;
Chan is another word for DML. Please refer to [[DML|this article]] for a complete documentation of this rather complex feature.&lt;br /&gt;
&lt;br /&gt;
==How does Bitmessage work==&lt;br /&gt;
'''Startup'''&lt;br /&gt;
&lt;br /&gt;
When you first start Bitmessage, your client connects itself to the network and starts downloading a list of known nodes. Each new node that you connect to shares its list of known nodes. In addition to the known nodes, you will also start receiving person-to-person messages, broadcasts, and public keys. If any of these messages are bound for you, they will be shown in your inbox. All of this data is exchanged between all of your connections to make sure that everyone has a copy. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Sending a Message'''&lt;br /&gt;
&lt;br /&gt;
When you send a message, your client must first compute a Proof of Work (POW). This POW helps mitigate spam on the network. Nodes and other clients will not process your message if it does not show sufficient POW. After the POW is complete, your message is shared to all of your connections which in turn share it with all of their connections. &lt;br /&gt;
&lt;br /&gt;
===Where can I find more documentation about Bitmessage===&lt;br /&gt;
* [https://bitmessage.org/bitmessage.pdf Overview White Paper (PDF)]&lt;br /&gt;
* [[Protocol specification]]&lt;br /&gt;
* Detail about the [[Proof of work]]&lt;br /&gt;
&lt;br /&gt;
==How does Bitmessage compare to other messaging methods==&lt;br /&gt;
Here is a table comparing Bitmessage to other common messaging services.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Comparison of Messaging Services&lt;br /&gt;
! &amp;amp;nbsp;&lt;br /&gt;
! Trustless&lt;br /&gt;
! P2P&lt;br /&gt;
! Open Source&lt;br /&gt;
! Requires Proof of Work&lt;br /&gt;
! Hide Sender?&lt;br /&gt;
! Hide Receiver?&lt;br /&gt;
! Mobile Version&lt;br /&gt;
! Application or Web Based&lt;br /&gt;
! Text Only Messages&lt;br /&gt;
! Attachments&lt;br /&gt;
! Acknowledge delivery&lt;br /&gt;
|-&lt;br /&gt;
! Bitmessage&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| [http://opensource.org/licenses/mit-license.php MIT]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Partial|Small only}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
! Standard Email&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| Depends&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Both&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
|-&lt;br /&gt;
! Email + GPG&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Depends&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
|-&lt;br /&gt;
! [http://xmpp.org/ XMPP] + [https://en.wikipedia.org/wiki/Off-the-Record_Messaging OTR]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| GPL V2.1&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://en.wikipedia.org/wiki/TorChat TorChat]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| GPL&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [http://www.skype.com/en/ Skype]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [http://www.scayl.com/ Scayl]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Alpha&lt;br /&gt;
| Application&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://en.wikipedia.org/wiki/I2P#E-mail I2P Bote]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| GPL V3&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
! [https://crypto.cat/ CryptoCat]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| GPL&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Both&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://en.wikipedia.org/wiki/Internet_Relay_Chat IRC]&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Both&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! SMS&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
|-&lt;br /&gt;
! [http://retroshare.sourceforge.net/ RetroShare]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://en.wikipedia.org/wiki/Freenet#Tools_and_applications Freenet + Frost]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| GPL&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://mirror4.freenetproject.org/tools.html Freenet + FMS]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://mirror4.freenetproject.org/tools.html Freenet + Freemail] 0.2&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| GPL&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
|-&lt;br /&gt;
! [https://wiki.freenetproject.org/FLIP Freenet + FLIP]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Application&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [https://en.wikipedia.org/wiki/TorChat TorChat]&lt;br /&gt;
| &lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
| {{No}}&lt;br /&gt;
| Via Tor&lt;br /&gt;
| Via Tor&lt;br /&gt;
| &lt;br /&gt;
| Application&lt;br /&gt;
| &lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===My Connection Indicator is Red===&lt;br /&gt;
Check your connection settings.&lt;br /&gt;
Check if you can access the internet. In case you have a firewall with outgoing restrictions (not Windoes firewall) allow unrestricted access for Bitmessage through your firewall.&lt;br /&gt;
Sometimes Bitmessage takes time to connect to the network, especially if [[knownnodes.dat]] is large. Please allow at least 30 minutes for it to connect before posting to the forum.&lt;br /&gt;
You can also try deleting [[knownnodes.dat]].&lt;br /&gt;
&lt;br /&gt;
If none of that works, [https://bitmessage.org/forum/index.php please visit the forum here.]&lt;br /&gt;
&lt;br /&gt;
===I have not received a reply from the Echo Server===&lt;br /&gt;
*Your connection indicator should be yellow or green.&lt;br /&gt;
*Make sure that your POW is complete and the message has been sent. You should see an acknowledgement under &amp;quot;Status&amp;quot; on the &amp;quot;Sent&amp;quot; tab. &lt;br /&gt;
*On average it should take 8 minutes from the time you click the send button to the time you receive a response. &lt;br /&gt;
*Be sure to allow extra time in the event that the server is under heavy traffic (Example: An article about Bitmessage was posted on a popular website).&lt;br /&gt;
*You can always send a message to another echo server. Here are two echo addresses:&lt;br /&gt;
** BM-orkCbppXWSqPpAxnz6jnfTZ2djb5pJKDb&lt;br /&gt;
** BM-omXeTjutKWmYgQJjmoZjAG3u3NmaLEdZK&lt;br /&gt;
*You may subscribe to the [[Timeservice Broadcast]] to receive network heartbeats.&lt;br /&gt;
*You can send messages to a [[Mailing List]] in case it still does not works&lt;br /&gt;
If you still do not receive a response, [https://bitmessage.org/forum/index.php visit the forum] to see if there is a current technical issue or to submit a new request for assistance.&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
Here is a list of average times for different parts of Bitmessage. [[PyBitmessage Help]]&lt;br /&gt;
&lt;br /&gt;
Please [https://bitmessage.org/forum/index.php visit the forum] for all other issues.&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=Template:Partial&amp;diff=20714</id>
		<title>Template:Partial</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=Template:Partial&amp;diff=20714"/>
		<updated>2013-10-12T11:59:37Z</updated>

		<summary type="html">&lt;p&gt;AyrA: Created partial&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;/noinclude&amp;gt;style=&amp;quot;background: #ff9000; color: black; vertical-align: middle; text-align: {{{align|center}}}; {{{style|}}}&amp;quot; class=&amp;quot;table-yes&amp;quot;|{{{Half|Partial}}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=Template:No&amp;diff=20713</id>
		<title>Template:No</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=Template:No&amp;diff=20713"/>
		<updated>2013-10-12T11:53:48Z</updated>

		<summary type="html">&lt;p&gt;AyrA: Created No&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;/noinclude&amp;gt;style=&amp;quot;background: #ff9090; color: black; vertical-align: middle; text-align: {{{align|center}}}; {{{style|}}}&amp;quot; class=&amp;quot;table-yes&amp;quot;|{{{0|No}}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=Template:Yes&amp;diff=20712</id>
		<title>Template:Yes</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=Template:Yes&amp;diff=20712"/>
		<updated>2013-10-12T11:52:19Z</updated>

		<summary type="html">&lt;p&gt;AyrA: Created Yes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;/noinclude&amp;gt;style=&amp;quot;background: #90ff90; color: black; vertical-align: middle; text-align: {{{align|center}}}; {{{style|}}}&amp;quot; class=&amp;quot;table-yes&amp;quot;|{{{1|Yes}}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=PyBitmessage_Help&amp;diff=20531</id>
		<title>PyBitmessage Help</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=PyBitmessage_Help&amp;diff=20531"/>
		<updated>2013-10-01T22:13:15Z</updated>

		<summary type="html">&lt;p&gt;AyrA: /* Interface language */ info about non-working feature&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the help page for PyBitmessage. &lt;br /&gt;
&lt;br /&gt;
== Clarification ==&lt;br /&gt;
PyBitmessage is the official client, used as protocol reference. It is usually abbreviated &amp;quot;Bitmessage&amp;quot;, causing confusion between the protocol and the client.&lt;br /&gt;
&lt;br /&gt;
== Initial setup ==&lt;br /&gt;
PyBitmessage can be downloaded from the [[Main Page]], either as Windows binary or as source from github. Other builds (for example for Mac OS X) can be found in the forum.&lt;br /&gt;
The client sets up itself completely automatic. It can be launched and the required files for its operation are created if they do not exist.&lt;br /&gt;
&lt;br /&gt;
== Daily usage ==&lt;br /&gt;
[[File:PyBitmessage-Sent.png|300px|thumb|right|Main window with sent tab open]]&lt;br /&gt;
PyBitmessage will automatically connect to other clients on start up, the user does not needs to wait for this to complete and can instantly send messages. [[POW]] can be made if offline.&lt;br /&gt;
The Main interface contains the folowing tabs:&lt;br /&gt;
&lt;br /&gt;
=== Inbox ===&lt;br /&gt;
The inbox contains all your received messages (top part) and displays the currently selected message (bottom part). The bottom window allows copying and editing the message but it will not be saved. The context menu in the message list provides additional features, such as [[HTML view]], save as text file and a reply option. Using the HTML view renders some HTML tags from the message, for example images.&lt;br /&gt;
Messages that are no longer needed can be sent to the trash with the [DEL] key.&lt;br /&gt;
&lt;br /&gt;
=== Send ===&lt;br /&gt;
The &amp;quot;Send&amp;quot; tab is used to compose new private or [[Broadcast]] messages. A message can be dedicated to multiple people but the protocol supports only one receiving address per message. Example: Sending a message to 8 people will generate the exact same message 8 times in the &amp;quot;Sent&amp;quot; tab.&lt;br /&gt;
&lt;br /&gt;
=== Sent ===&lt;br /&gt;
The sent tab displays messages sent by the user, including messages that are in the process of [[POW|proof of work]]. The status column displays the current status of the message.&lt;br /&gt;
Table with the most common messages:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Status&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| Doing work necessary to send &amp;lt;type&amp;gt;...&lt;br /&gt;
| [[POW]] is being done&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;type&amp;gt; sent on &amp;lt;date/time&amp;gt;&lt;br /&gt;
| The message has been sent&lt;br /&gt;
|-&lt;br /&gt;
| Waiting on Acknowledgement&lt;br /&gt;
| The message has been sent but the receiver has not received it yet. Not applicable for broadcasts&lt;br /&gt;
|-&lt;br /&gt;
| Acknowledgement received on &amp;lt;date+time&amp;gt;&lt;br /&gt;
| The receiver got the message.  Not applicable for broadcasts&lt;br /&gt;
|}&lt;br /&gt;
Messages can be sent to the trash with the [DEL] key however, this will not stop POW from being made if it has already started.&lt;br /&gt;
&lt;br /&gt;
=== Your Identities ===&lt;br /&gt;
Contains a list of all addresses stored in [[keys.dat]] and allows to generate new ones. The context menu allows to enable/disable addresses. Addresses can be labeled, this label is then displayed instead of the address. Labels are not sent over the network and are only visible to the client. Addresses cannot be deleted directly in this tab, but removing the [[Address Block]] from keys.dat removes it. Editing the keys.dat file requires the user to shut down the client first.&lt;br /&gt;
&lt;br /&gt;
=== [[Subscriptions]] ===&lt;br /&gt;
Contains a list of all [[Broadcast|broadcasts]], that the client will receive. To receive broadcasts its address must be added first to the list. The context menu allows enabling, disabling and deletation of addresses.&lt;br /&gt;
&lt;br /&gt;
=== Address Book ===&lt;br /&gt;
Can be used to associate addresses with labels for easier recognition.&lt;br /&gt;
The context menu allows the user to add a subscription to the address.&lt;br /&gt;
&lt;br /&gt;
=== Blacklist/Whitelist ===&lt;br /&gt;
Addresses can be blacklisted or whitelisted. The Operation mode of the list (whitelist or blacklist) ban be set too. The context menu allows entries to be enabled, disabled or deleted.&lt;br /&gt;
&lt;br /&gt;
=== Network Status ===&lt;br /&gt;
Shows the [[Stream]] number and the number of connected nodes in a list. Displays when it was started and how much information has been processed yet.&lt;br /&gt;
Detailed information about the icon color and how to get a green icon can be found [[Network Status|here]]&lt;br /&gt;
&lt;br /&gt;
== [[DML]] Addresses ==&lt;br /&gt;
A DML Address can be either created or joined in the '''File &amp;gt; Join / Create chan''' menu.&lt;br /&gt;
These addresses are written with orange color in the identities tab.&lt;br /&gt;
&lt;br /&gt;
To learn more about how to use a DML Address / chan, visit [[DML|this article]].&lt;br /&gt;
You need to either create the address or join it to send messages to it, else the client gets stuck when waiting for the public key. To resolve this issue, without joining or creating an address see, the DML article.&lt;br /&gt;
&lt;br /&gt;
=== Join ===&lt;br /&gt;
To Join a DML, the address and the passphrase is required. The passphrase is used to generate the private keys, that the client needs to send and receive messages. The address is used so the user does not needs to know the stream number and address version. If the address is not known, a DML can be created, even if it actually exists, in the hope, that the resulting address is correct.&lt;br /&gt;
&lt;br /&gt;
=== Create ===&lt;br /&gt;
Creating a DML/chan only requires a passphrase. It will create the address and mark it as such.&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
There is no technical difference between creation and joining. Joining requires the address to make sure, you actually get the correct private keys, because they depend on stream number and address version, which are both included in the address.&lt;br /&gt;
Creating an address however will always use the newest address version and stream number and thus may create a different address, which is not compatible with the one intended to join.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
Bitmessage can be configured by editing [[keys.dat]] or by using the menu '''Settings &amp;gt; Settings''' in the GUI.&lt;br /&gt;
&lt;br /&gt;
=== Settings Menu ===&lt;br /&gt;
The settings menu has the folowing tabs:&lt;br /&gt;
&lt;br /&gt;
==== User Interface ====&lt;br /&gt;
Allows customization how bitmessage is started and if it should run in portable mode or not.&lt;br /&gt;
&lt;br /&gt;
===== Willingly include... =====&lt;br /&gt;
'''Willingly include unencrypted destination address when sending to a mobile device'''&lt;br /&gt;
&lt;br /&gt;
This option must be enabled, when using [[DML]] addresses and is a work in progress feature for mobile app support and has nothing to do with the user interface.&lt;br /&gt;
&lt;br /&gt;
===== Interface language =====&lt;br /&gt;
This option is currently (at least in the compiled windows version) not fully working but allows to set the language of the client.&lt;br /&gt;
&lt;br /&gt;
==== Network Settings ====&lt;br /&gt;
Allows setting of the TCP port used for incomming connections. This can be left at default value for most users.&lt;br /&gt;
A proxy server can be defined if the user wishes to do so. Supports SOCKS4a and SOCKS5 with Authentication support.&lt;br /&gt;
The option to allow incoming connections can be enabled if the user wishes to help the network, even when using a proxy. Incoming connections '''are not''' routed over the socks proxy!&lt;br /&gt;
&lt;br /&gt;
==== Demanded Difficulty ====&lt;br /&gt;
The demanded difficulty allows to increase the amount of POW to be done for other clients to send messages to the user.&lt;br /&gt;
POW for users in the address book is always 1. Doubling the number doubles the amount of time required.&lt;br /&gt;
&lt;br /&gt;
The value for small difficulty defaults to 1.0, rthe value for large difficulty to 2.0 (since version 0.4.0)&lt;br /&gt;
&lt;br /&gt;
==== Max acceptable difficulty ====&lt;br /&gt;
Similar to the &amp;quot;demanded difficulty&amp;quot; tab, this tab has the exact same textboxes, however, they are used to limit the amount of POW the user is willing to do. If he sends a message and the destination address wants him to do more POW than he set as maximum, the message will not be processed. The user can click with the right mouse button on the message and force it to be sent or he can delete the message.&lt;br /&gt;
&lt;br /&gt;
== Database cleanup ==&lt;br /&gt;
The database ([[messages.dat]]) can be cleaned and shrinked manually with the menu '''File &amp;gt; Delete all trashed messages'''.&lt;br /&gt;
The database is compacted once every month automatically without deletation of trashed messages.&lt;br /&gt;
&lt;br /&gt;
== Statistics ==&lt;br /&gt;
=== Time ===&lt;br /&gt;
On an average computer, different processes take different amounts of time.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Action !! Time required&lt;br /&gt;
|-&lt;br /&gt;
| Generate an address || 1 second*&lt;br /&gt;
|-&lt;br /&gt;
| Generate an address (1 or 2 characters shorter) || 5 minutes*&lt;br /&gt;
|-&lt;br /&gt;
| Sender do work necessary to send broadcast|| 2 minutes&lt;br /&gt;
|-&lt;br /&gt;
| Sender do work necessary to send person-to-person message|| 4 minutes&lt;br /&gt;
|-&lt;br /&gt;
| message (or acknowledgement data) propagate through the network|| 10 seconds&lt;br /&gt;
|}&lt;br /&gt;
Note that on Linux and OSX systems, Bitmessage can often do work much faster as it is able to use all available cores and a faster hashing module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; After this step is done, the client will silently do work to send out the public key over the network which will take about 2 minutes.&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitmessage.org/index.php?title=PyBitmessage_Help&amp;diff=20530</id>
		<title>PyBitmessage Help</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitmessage.org/index.php?title=PyBitmessage_Help&amp;diff=20530"/>
		<updated>2013-10-01T22:12:16Z</updated>

		<summary type="html">&lt;p&gt;AyrA: /* Network Status */ added link for icons&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the help page for PyBitmessage. &lt;br /&gt;
&lt;br /&gt;
== Clarification ==&lt;br /&gt;
PyBitmessage is the official client, used as protocol reference. It is usually abbreviated &amp;quot;Bitmessage&amp;quot;, causing confusion between the protocol and the client.&lt;br /&gt;
&lt;br /&gt;
== Initial setup ==&lt;br /&gt;
PyBitmessage can be downloaded from the [[Main Page]], either as Windows binary or as source from github. Other builds (for example for Mac OS X) can be found in the forum.&lt;br /&gt;
The client sets up itself completely automatic. It can be launched and the required files for its operation are created if they do not exist.&lt;br /&gt;
&lt;br /&gt;
== Daily usage ==&lt;br /&gt;
[[File:PyBitmessage-Sent.png|300px|thumb|right|Main window with sent tab open]]&lt;br /&gt;
PyBitmessage will automatically connect to other clients on start up, the user does not needs to wait for this to complete and can instantly send messages. [[POW]] can be made if offline.&lt;br /&gt;
The Main interface contains the folowing tabs:&lt;br /&gt;
&lt;br /&gt;
=== Inbox ===&lt;br /&gt;
The inbox contains all your received messages (top part) and displays the currently selected message (bottom part). The bottom window allows copying and editing the message but it will not be saved. The context menu in the message list provides additional features, such as [[HTML view]], save as text file and a reply option. Using the HTML view renders some HTML tags from the message, for example images.&lt;br /&gt;
Messages that are no longer needed can be sent to the trash with the [DEL] key.&lt;br /&gt;
&lt;br /&gt;
=== Send ===&lt;br /&gt;
The &amp;quot;Send&amp;quot; tab is used to compose new private or [[Broadcast]] messages. A message can be dedicated to multiple people but the protocol supports only one receiving address per message. Example: Sending a message to 8 people will generate the exact same message 8 times in the &amp;quot;Sent&amp;quot; tab.&lt;br /&gt;
&lt;br /&gt;
=== Sent ===&lt;br /&gt;
The sent tab displays messages sent by the user, including messages that are in the process of [[POW|proof of work]]. The status column displays the current status of the message.&lt;br /&gt;
Table with the most common messages:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Status&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| Doing work necessary to send &amp;lt;type&amp;gt;...&lt;br /&gt;
| [[POW]] is being done&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;type&amp;gt; sent on &amp;lt;date/time&amp;gt;&lt;br /&gt;
| The message has been sent&lt;br /&gt;
|-&lt;br /&gt;
| Waiting on Acknowledgement&lt;br /&gt;
| The message has been sent but the receiver has not received it yet. Not applicable for broadcasts&lt;br /&gt;
|-&lt;br /&gt;
| Acknowledgement received on &amp;lt;date+time&amp;gt;&lt;br /&gt;
| The receiver got the message.  Not applicable for broadcasts&lt;br /&gt;
|}&lt;br /&gt;
Messages can be sent to the trash with the [DEL] key however, this will not stop POW from being made if it has already started.&lt;br /&gt;
&lt;br /&gt;
=== Your Identities ===&lt;br /&gt;
Contains a list of all addresses stored in [[keys.dat]] and allows to generate new ones. The context menu allows to enable/disable addresses. Addresses can be labeled, this label is then displayed instead of the address. Labels are not sent over the network and are only visible to the client. Addresses cannot be deleted directly in this tab, but removing the [[Address Block]] from keys.dat removes it. Editing the keys.dat file requires the user to shut down the client first.&lt;br /&gt;
&lt;br /&gt;
=== [[Subscriptions]] ===&lt;br /&gt;
Contains a list of all [[Broadcast|broadcasts]], that the client will receive. To receive broadcasts its address must be added first to the list. The context menu allows enabling, disabling and deletation of addresses.&lt;br /&gt;
&lt;br /&gt;
=== Address Book ===&lt;br /&gt;
Can be used to associate addresses with labels for easier recognition.&lt;br /&gt;
The context menu allows the user to add a subscription to the address.&lt;br /&gt;
&lt;br /&gt;
=== Blacklist/Whitelist ===&lt;br /&gt;
Addresses can be blacklisted or whitelisted. The Operation mode of the list (whitelist or blacklist) ban be set too. The context menu allows entries to be enabled, disabled or deleted.&lt;br /&gt;
&lt;br /&gt;
=== Network Status ===&lt;br /&gt;
Shows the [[Stream]] number and the number of connected nodes in a list. Displays when it was started and how much information has been processed yet.&lt;br /&gt;
Detailed information about the icon color and how to get a green icon can be found [[Network Status|here]]&lt;br /&gt;
&lt;br /&gt;
== [[DML]] Addresses ==&lt;br /&gt;
A DML Address can be either created or joined in the '''File &amp;gt; Join / Create chan''' menu.&lt;br /&gt;
These addresses are written with orange color in the identities tab.&lt;br /&gt;
&lt;br /&gt;
To learn more about how to use a DML Address / chan, visit [[DML|this article]].&lt;br /&gt;
You need to either create the address or join it to send messages to it, else the client gets stuck when waiting for the public key. To resolve this issue, without joining or creating an address see, the DML article.&lt;br /&gt;
&lt;br /&gt;
=== Join ===&lt;br /&gt;
To Join a DML, the address and the passphrase is required. The passphrase is used to generate the private keys, that the client needs to send and receive messages. The address is used so the user does not needs to know the stream number and address version. If the address is not known, a DML can be created, even if it actually exists, in the hope, that the resulting address is correct.&lt;br /&gt;
&lt;br /&gt;
=== Create ===&lt;br /&gt;
Creating a DML/chan only requires a passphrase. It will create the address and mark it as such.&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
There is no technical difference between creation and joining. Joining requires the address to make sure, you actually get the correct private keys, because they depend on stream number and address version, which are both included in the address.&lt;br /&gt;
Creating an address however will always use the newest address version and stream number and thus may create a different address, which is not compatible with the one intended to join.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
Bitmessage can be configured by editing [[keys.dat]] or by using the menu '''Settings &amp;gt; Settings''' in the GUI.&lt;br /&gt;
&lt;br /&gt;
=== Settings Menu ===&lt;br /&gt;
The settings menu has the folowing tabs:&lt;br /&gt;
&lt;br /&gt;
==== User Interface ====&lt;br /&gt;
Allows customization how bitmessage is started and if it should run in portable mode or not.&lt;br /&gt;
&lt;br /&gt;
===== Willingly include... =====&lt;br /&gt;
'''Willingly include unencrypted destination address when sending to a mobile device'''&lt;br /&gt;
&lt;br /&gt;
This option must be enabled, when using [[DML]] addresses and is a work in progress feature for mobile app support and has nothing to do with the user interface.&lt;br /&gt;
&lt;br /&gt;
===== Interface language =====&lt;br /&gt;
This option is currently (at least in the compiled windows version) not working&lt;br /&gt;
&lt;br /&gt;
==== Network Settings ====&lt;br /&gt;
Allows setting of the TCP port used for incomming connections. This can be left at default value for most users.&lt;br /&gt;
A proxy server can be defined if the user wishes to do so. Supports SOCKS4a and SOCKS5 with Authentication support.&lt;br /&gt;
The option to allow incoming connections can be enabled if the user wishes to help the network, even when using a proxy. Incoming connections '''are not''' routed over the socks proxy!&lt;br /&gt;
&lt;br /&gt;
==== Demanded Difficulty ====&lt;br /&gt;
The demanded difficulty allows to increase the amount of POW to be done for other clients to send messages to the user.&lt;br /&gt;
POW for users in the address book is always 1. Doubling the number doubles the amount of time required.&lt;br /&gt;
&lt;br /&gt;
The value for small difficulty defaults to 1.0, rthe value for large difficulty to 2.0 (since version 0.4.0)&lt;br /&gt;
&lt;br /&gt;
==== Max acceptable difficulty ====&lt;br /&gt;
Similar to the &amp;quot;demanded difficulty&amp;quot; tab, this tab has the exact same textboxes, however, they are used to limit the amount of POW the user is willing to do. If he sends a message and the destination address wants him to do more POW than he set as maximum, the message will not be processed. The user can click with the right mouse button on the message and force it to be sent or he can delete the message.&lt;br /&gt;
&lt;br /&gt;
== Database cleanup ==&lt;br /&gt;
The database ([[messages.dat]]) can be cleaned and shrinked manually with the menu '''File &amp;gt; Delete all trashed messages'''.&lt;br /&gt;
The database is compacted once every month automatically without deletation of trashed messages.&lt;br /&gt;
&lt;br /&gt;
== Statistics ==&lt;br /&gt;
=== Time ===&lt;br /&gt;
On an average computer, different processes take different amounts of time.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Action !! Time required&lt;br /&gt;
|-&lt;br /&gt;
| Generate an address || 1 second*&lt;br /&gt;
|-&lt;br /&gt;
| Generate an address (1 or 2 characters shorter) || 5 minutes*&lt;br /&gt;
|-&lt;br /&gt;
| Sender do work necessary to send broadcast|| 2 minutes&lt;br /&gt;
|-&lt;br /&gt;
| Sender do work necessary to send person-to-person message|| 4 minutes&lt;br /&gt;
|-&lt;br /&gt;
| message (or acknowledgement data) propagate through the network|| 10 seconds&lt;br /&gt;
|}&lt;br /&gt;
Note that on Linux and OSX systems, Bitmessage can often do work much faster as it is able to use all available cores and a faster hashing module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; After this step is done, the client will silently do work to send out the public key over the network which will take about 2 minutes.&lt;/div&gt;</summary>
		<author><name>AyrA</name></author>
		
	</entry>
</feed>