The following is a quick installation guide. Please see HOWTO.md for more detailed information on how to configure your server. TLDR: $ sudo ./configure $ sudo python ./setup.py install $ electrum-server start $ electrum-server stop Note: If you want to run the server without installing it on your system, just run 'run_electrum_server" 1. Install and run bitcoind. ---------------------------- You will need to run bitcoind with the config option txindex=1. If you have not previously done so, you may need to reindex the bitcoind blockchain Note: you cannot use a pruning bitcoind. A full bitcoin node is required in order to know for each address if it has been used. Pruning occurs only at the level of the Electrum database. 2. Run the 'configure' script --------------------------- You need to run the script as root: $ sudo ./configure It will: * create the configuration file in /etc/electrum.conf * create a user that will run the daemon * optionally, download a fresh database from the Electrum Foundry. If you choose not to use the Foundry, your server will have to build the database from scratch. This process can take several days. To speed it up, it is recommended to locate your database in shared memory, in electrum.conf: path = /run/shm/electrum_db Note: The 'configure' script does not configure SSL and IRC. You will need to manually edit the configuration file in order to enable SSL on your server, and to be visible on IRC. 3. Install the python package ----------------------------- $ sudo python setup.py install Note: You will need to redo this everytime you pull code from git. 4. Using the server ------------------- Use 'electrum-server' to start and stop the server: $ electrum-server The server will write a log file in its database path. 5. Add electrum-server to your system's services ------------------------------------------------ If your system supports it, you may add electrum-server to the /etc/init.d directory. This will ensure that the server is started and stopped automatically, and that the database is closed safely whenever your machine is rebooted. # ln -s `which electrum-server` /etc/init.d/electrum-server # update-rc.d electrum-server defaults 6. Troubleshooting: ------------------- * if your server or bitcoind is killed because is uses too much memory, configure bitcoind to limit the number of connections * if you see "Too many open files" errors, you may need to increase your user's File Descriptors limit. For this, see http://www.cyberciti.biz/faq/linux-increase-the-maximum-number-of-open-files/