This commit is contained in:
ThomasV 2011-11-10 01:23:34 +01:00
parent b4d2d66cf0
commit eedf13bfdb
5 changed files with 63 additions and 37 deletions

37
README
View File

@ -1,37 +0,0 @@
Electrum - a lightweight Bitcoin client and its server
Licence: GNU GPL v3
Author: thomasv@gitorious
Language: Python
Main features:
Client:
* The client uses a deterministic wallet; if the wallet is lost, it can be recovered from its passphrase.
* The client does not download the Bitcoin blockchain; it requests that information from the server
* The client does not send its private keys to the server.
* The client does not need to open a port, it simply polls the server for updates.
Server:
* The server uses a patched version of the Bitcoin daemon that can forward transactions, and bitcoin-abe
* The server code is open source. Anyone can run a server, removing single points of failure concerns.
* The server knows which set of Bitcoin addresses belong to the same wallet, which might raise concerns about anonymity.
However, it should be possible to write clients capable of using several servers.
----------------------------------------------------------
INSTALLATION
Client:
1. install python-ecdsa and pycrypto:
* sudo easy_install ecdsa
* sudo easy_install pycrypto
2. run the client:
python electrum
Server:
1. patch and recompile the bitcoin daemon - bitcoinrpc.diff
2. install bitcoin-abe : https://github.com/jtobey/bitcoin-abe
3. install bitcoinrpc : https://gitorious.org/python-bitcoin
patch it too, see bitcoinrpc_connection.py.diff
4. launch the server: python server.py

36
client/README Normal file
View File

@ -0,0 +1,36 @@
Electrum - lightweight Bitcoin client
Licence: GNU GPL v3
Author: thomasv@gitorious
Language: Python
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.
* No blockchain download: the client requests blockchain 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.
* Privacy: The server does not know you, it does not store user accounts. You are not tied to a particular server.
* 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.
* Open Source: Anyone can audit the code.
* Python. Very compact code, easy to contribute.
INSTALL
You need install pygtk, python-ecdsa and pycrypto
* sudo easy_install ecdsa
* sudo easy_install pycrypto
RUN
python electrum.py
if arguments are passed in the line arguments, Electrum will run in text mode.
example:
python electrum.py balance

27
server/README Normal file
View File

@ -0,0 +1,27 @@
Electrum - server for the Electrum client
Licence: GNU GPL v3
Author: thomasv@gitorious
Language: Python
Features:
* The server uses a patched version of the Bitcoin daemon that can
forward transactions, and bitcoin-abe * The server code is open
source. Anyone can run a server, removing single points of failure
concerns.
* The server knows which set of Bitcoin addresses belong to the same
wallet, which might raise concerns about anonymity. However, it should
be possible to write clients capable of using several servers.
INSTALL
1. patch and recompile the bitcoin daemon - bitcoinrpc.diff
2. install bitcoin-abe : https://github.com/jtobey/bitcoin-abe
3. install bitcoinrpc : https://gitorious.org/python-bitcoin
patch it too, see bitcoinrpc_connection.py.diff
4. launch the server: nohup python -u server.py > /var/log/electrum.log &
5. if you have a webserver, you can use electrum.php to forward http requests to the server