alternate build instructions for leveldb
[electrum-server.git] / README.leveldb
1 How to run a pruning node with leveldb
2
3 Pruning nodes use a lightweight database to store address histories.
4 Only unspent coins are kept in that database; spent outputs are
5 pruned.
6
7
8 __________________________________________________________
9 1. patch and compile bitcoind.
10
11 Install version 0.8 or equivalent.
12 Patch it with the patch distributed with Electrum.
13
14 Note: Even though Electrum's database uses pruning, you cannot use it
15 with a pruning bitcoind. A full bitcoin node is required in order to
16 know for each address if it has been used. Pruning occurs only at the
17 level of the Electrum database.
18
19 __________________________________________________________
20
21 2. Install python-leveldb: 
22
23 sudo apt-get install python-leveldb
24
25 alternatively build yourself, see
26 http://code.google.com/p/py-leveldb/ 
27 and
28 http://peter-hoffmann.com/2011/installation-leveldb-ubuntu-python.html
29 make sure you have libtool, automake and pkg-config
30
31 __________________________________________________________
32
33 3. edit /etc/electrum.conf : 
34
35 [server]
36 backend = leveldb
37
38 [leveldb]
39 path = /path/to/your/database
40
41 ______________________________________________________________
42
43 4. catch up with the blockchain.
44
45 In order to speed up the initial catch_up phase, it is recommended to
46 locate your database in shared memory:
47
48  path = /run/shm/electrum_db
49
50 Once your server has finished catching up, copy your database to disk
51 and update the path in /etc/electrum.conf
52
53 During the catch_up phase, you can interrupt the server with Ctrl-C;
54 it will safely write the current status in the database and exit.
55
56 _________________________________
57
58 5. enjoy!
59
60 Once the server is synchronized, it will listen to ports, and the
61 normal way to stop it is to type: ./server.py stop
62
63 Other commands are available: 
64
65 ./server info   : view connections
66 ./server load   : view the size of the queue
67
68
69