Electrum: Difference between revisions

From Bitcoin Wiki
Jump to navigation Jump to search
(→‎See Also: Added Electrum Bitcoin Wallet walkthrough guide.)
(remove outdated docuentation)
Line 18: Line 18:


__TOC__
__TOC__
===Updates===
'''Some contents can be outdated or deprecated. To see up to date documentation visit the [http://electrum.org/documentation.html Documentation] page'''


===Graphical User Interfaces===
===Documentation===
Electrum has two GUIs: one that is based on Gtk, and a newer one based on Qt. The Qt GUI is enabled by default. To use the gtk interface, type:
<pre>
$ ./electrum -g gtk
</pre>
In addition, Electrum has a rich set of commands for the command line interface.


===Brain Wallet===
Up to date documentation is now hosted on http://electrum.orain.org
 
Electrum uses a type 2 deterministic key generation algorithm.
This means that all the keys are derived from a seed.
 
Typical seeds have 128 bits of entropy. Electrum provides mnemonic code in order to represent the seed.
 
Example:
*hexadecimal: 431a62f1c86555d3c45e5c4d9e10c8c7
*mnemonic: "constant forest adore false green weave stop guy fur freeze giggle clock"
 
You can display the seed with the command line interface. Example:
<pre>
$ ./electrum getseed
Password:
431a62f1c86555d3c45e5c4d9e10c8c7 "constant forest adore false green weave stop guy fur freeze giggle clock"
</pre>
 
===Wallet File===
The default wallet file is called default_wallet which is created when you first run the application and located under the /wallets folder.
 
On Windows
 
*Show hidden files
*Go to \Users\YourUserName\AppData\Roaming\Local\Electrum
 
On Mac
*Open Finder
*Go > Go to folder (shift+cmd+G) and type ~/.electrum
 
On Linux
*Home Folder
*Go > Location and type ~/.electrum
 
===Multiple wallets===
Electrum uses one single file per wallet. Your default wallet is located in your user account as listed above.
If you want to use another wallet, use the -w option followed by the wallet path and name:
<pre>
$ ./electrum -w /path/to/my/wallet/wallet_name
</pre>
 
===Export and import addresses===
 
You can export your private keys using the 'dumpprivkeys' command:
<pre>
$ ./electrum dumpprivkeys
Password:
{
"1LGoehbyeX4QBEPK1a6dhyaoMQZfqg5LKX": "5JBSttEGhjEcPidSovW66Rin2EZ6LEHZ2qx8Pu2RqqNaDTBVWaF" 
"1KcsBJa2cCxVkGJfSsg5bUeXN7Y5uLa8mP": "5KiP4uiNT6KG8jnXbainCM8rDWRrgxt3PAyut4FFpDoCo1Rh6VM" 
"1PXsn7LVXTccGhJPTUL8r2EGB4fF9kvex3": "5Kj8mvBJReyk8xEBMx5cTnciQCxto5JmudiTPkqwMcd61Kf1Jqc" 
"1KteSFTAphyByLTtUfFiVQ9s7fMVmx7c2h": "5JeZ3FTbWcksLt3PKydd5U9p952UQRHwv3LoxzCA9LZ7V2bku5p" 
"1GE5ZChAobeTEPLHDCDDKTSg3XvLkcQFjS": "5JwtGEygTwF2nouhRVzW3w5DWZd1sCgxLtnd1v51wjkbUrp5sqH" 
"12YNehfAoYTiwjTXULwaZqTCauu2D61fq6": "5Jvcq19ePCXKcVun4n7US99CsrEByUK2kgxXBA3rBVBqYZjhfwD"  [change]
}
</pre>
 
You can also import addresses into an electrum wallet, with the 'importprivkey' command:
<pre>
$ ./electrum importprivkey 5JBSttEGhjEcPidSovW66Rin2EZ6LEHZ2qx8Pu2RqqNaDTBVWaF
Keypair imported:  1LGoehbyeX4QBEPK1a6dhyaoMQZfqg5LKX
</pre>
Note that imported keys do not belong to the deterministic sequence of your wallet; if you import keys in a wallet, you must back it up!
 
===Offline wallet===
 
It is possible to create a transaction on an offline computer,
and to broadcast them from another computer, with a wallet that does not have the seed or private keys.
 
see http://electrum.org/offline_wallets.html
 
=== List of commands ===
 
{| class="wikitable sortable"
|-
! command !! description !! syntax !! requires password !! needs to be online
|-
| balance || shows the balance of your wallet or of an address || balance [address] || no || yes
|-
| contacts || print your list of contacts || contacts || no || no
|-
| create || create a new wallet || create || no || no
|-
| createmultisig || ?? || createmultisig || ?? || ??
|-
| createrawtransaction|| ?? || createrawtransaction || ?? || ??
|-
| decoderawtransaction || ?? || decoderawtransaction || ?? || ??
|-
| deseed || Create a seedless version of a wallet with the suffix .seedless  || deseed || no || no
|-
| dumpprivkey || ?? || dumpprivkey || ?? || ??
|-
| dumpprivkeys || ?? || dumpprivkeys || ?? || ??
|-
| eval || call python eval || eval <expression> || no || no
|-
| freeze || ?? || freeze || ?? || ??
|-
| getaddresshistory || ?? || getaddresshistory || ?? || ??
|-
| getbalance || ?? || getbalance || ?? || ??
|-
| getconfig || ?? || getconfig || ?? || ??
|-
| getseed || write the seed and its mnemonic to stdout || seed || yes || no
|-
| help || display the help for a command || help [command] || no || no
|-
| history || print the transaction history || history || no || yes
|-
| import || import a keypair || import <address:private_key> || yes || no
|-
| importprivkey || ?? || importprivkey || ?? || ??
|-
| label || change the label of a transaction or address || label <label> || no || no
|-
| listaddresses || ?? || listaddresses || ?? || ??
|-
| listunspent || ?? || listunspent || ?? || ??
|-
| mktx || create a transaction and dump it || mktx [-s sourceaddr] [-c changeaddr] [-f fee] <address> <amount>  || yes || no
|-
| password || update your password || password || yes || no
|-
| payto || create and broadcast a transaction || payto [-s sourceaddr] [-c changeaddr] [-f fee] <address> <amount>  || yes || yes
|-
| prioritize || ?? || prioritize || ?? || ??
|-
| restore || restore a wallet from seed || restore || no || yes
|-
| sendrawtransaction || broadcast a transaction || sendrawtransaction <tx> || no || yes
|-
| setconfig || ?? || setconfig || ?? || ??
|-
| setlabel || ?? || setlabel || ?? || ??
|-
| signmessage || sign a message (as in bitcoind) || signmessage <address> <message> || yes || no
|-
| signrawtransaction || ?? || signrawtransaction || ?? || ??
|-
| unfreeze || ?? || unfreeze || ?? || ??
|-
| unprioritize || ?? || unprioritize || ?? || ??
|-
| validateaddress || check is the argument is a valid bitcoin address || validateaddress <address> || no || no
|-
| verifymessage || verify a message (as in bitcoind) || verifymessage <address> <signature> <message> || no || no
|}


==History==
==History==
Line 184: Line 29:
==See Also==
==See Also==


* [[Electrum/Documentation]] : General documentation of the Electrum client
* [[Electrum/Translation]]
* [[Electrum/TODO]]
* [[Thin Client Security]]
* [[Thin Client Security]]
* [http://www.expresscoin.com/wallets/bitcoin/electrum Electrum Bitcoin Wallet] : Walkthrough and setup guide.


==External Links==
==External Links==
Line 194: Line 35:
* [http://electrum.org/ Electrum] project website
* [http://electrum.org/ Electrum] project website
* [https://github.com/spesmilo/electrum/ Electrum] project source
* [https://github.com/spesmilo/electrum/ Electrum] project source
* [https://github.com/spesmilo/electrum/blob/master/docs Electrum Docs] updated documentation


==References==
==References==

Revision as of 17:36, 4 February 2015

screenshot of Electrum with its Qt gui
screenshot of Electrum with its Qt gui

Electrum is a lightweight Bitcoin client, based on a client-server protocol. It was released on november 5, 2011.

Main features:

  • Encrypted wallet: the file that contains your bitcoins is protected with a password. You are protected from thieves.
  • Deterministic key generation: If you lose your wallet, you can recover it from its seed. You are protected from your own mistakes.
  • Instant on: the client does not download the blockchain, it requests that information from a server. No delays, always up-to-date.
  • Transactions are signed locally: Your private keys are not shared with the server. You do not have to trust the server with your money.
  • Freedom and Privacy: The server does not store user accounts. You are not tied to a particular server, and the server does not need to know you. You can export your private keys.
  • No scripts: Electrum does not download any script. A compromised server cannot send you arbitrary code and steal your bitcoins.
  • No single point of failure: The server code is open source, anyone can run a server.
  • Firewall friendly: The client does not need to open a port, it simply polls the server for updates.
  • Free software: Gnu GPL v3. Anyone can audit the code.
  • Written in Python. The code is short, and easy to review.
  • Support for Bitcoin URIs, signed URIs and Bitcoin aliases

Documentation

Up to date documentation is now hosted on http://electrum.orain.org

History

Electrum was announced November 5, 2011[1].

See Also

External Links

References