1 How to run a pruning node with leveldb
3 Pruning nodes use a lightweight database to store address histories.
4 Only unspent coins are kept in that database; spent outputs are
7 As of November 2013 all public servers operate this way.
8 Please see HOWTO.md for more detailled information. The following is a
10 __________________________________________________________
13 Install version 0.8.5 or higher.
14 There is no need to patch bitcoind anymore.
15 You need to run it with the config option txindex=1 .
16 If you have not previously done so, you may need to reindex the bitcoind blockchain
18 Note: Even though Electrum's database uses pruning, you cannot use it
19 with a ultra-pruning bitcoind (forthcoming in 0.9 or later).
20 A full bitcoin node is required in order to know for each address
21 if it has been used. Pruning occurs only at the level of the Electrum database.
23 __________________________________________________________
25 2. Install python-leveldb:
27 Starting at Ubuntu 12.10 you can use apt to install leveldb. If you
28 rather stay on 12.04 LTS you can use the backport and add
29 "deb http://archive.ubuntu.com/ubuntu precise-backports main restricted universe"
30 to your sources file. Install the package with:
32 sudo apt-get install python-leveldb
34 alternatively build yourself, see
35 http://code.google.com/p/py-leveldb/
37 http://peter-hoffmann.com/2011/installation-leveldb-ubuntu-python.html
38 make sure you have libtool, automake and pkg-config
40 __________________________________________________________
42 3. edit /etc/electrum.conf :
48 path = /path/to/your/database
51 ______________________________________________________________
53 4. catch up with the blockchain.
55 In order to speed up the initial catch_up phase, it is recommended to
56 locate your database in shared memory:
58 path = /run/shm/electrum_db
60 Once your server has finished catching up, copy your database to disk
61 and update the path in /etc/electrum.conf
63 During the catch_up phase, you can interrupt the server with Ctrl-C;
64 it will safely write the current status in the database and exit.
66 _________________________________
70 Once the server is synchronized, it will listen to ports, and the
71 normal way to stop it is to type: ./server.py stop
73 Other commands are available:
75 ./server info : view connections
76 ./server load : view the size of the queue
79 ______________________
82 * if your server or bitcoind is killed because is uses too much
83 memory, configure bitcoind to limit the number of connections
85 * if you see "Too many open files" errors, you may need to increase
86 your user's File Descriptors limit. For this, see
87 http://www.cyberciti.biz/faq/linux-increase-the-maximum-number-of-open-files/