Chapter 3: Personal Electrum Server – Fulcrum
Prerequisite
1. Download the file
Go into your “home” directory and create the following folders
mkdir fulcrum mkdir fulcrum_db
Go to the Fulcrum Github release page https://github.com/cculianu/Fulcrum/releases and download the latest release
cd downloads wget https://github.com/cculianu/Fulcrum/releases/download/v1.9.1/Fulcrum-1.9.1-x86_64-linux-ub16.tar.gz wget https://github.com/cculianu/Fulcrum/releases/download/v1.9.1/Fulcrum-1.9.1-x86_64-linux-ub16.tar.gz.asc sha256sum --ignore-missing --check SHA256SUMS
Extract the file
tar xvf Fulcrum-1.9.1-x86_64-linux-ub16.tar.gz
Move the files to fulcrum folder
mv Fulcrum-1.9.1-x86_64-linux-ub16/* /home/<user>/fulcrum cd .. cd fulcrum
2. Creating the Key and Cert
Creating the keys
openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem Generating a RSA private key
Press <enter> for all the defaults parameters. The files keys.perm and cert.perm should have been created in your fulcrum folder.
3. Configuration file
rename the config file
mv fulcrum-example-config.conf fulcrum.conf
Modify the config file
nano fulcrum.conf
Change the following in the config file:
- Change path of the datadir: home/<username>/fulcrum_db
- rpcuser: use the same one as the bitcoin.conf file
- rpcpassword: use the one used for the rpcauthy while setting up the bitcoin.conf file
- remove the # for the SSL= 0.0.0.0:50002
- remove the # for the certificate and put correct path home/<username>/fulcrum/cert.pem
- remove the # for the key and put correct path home/<username>/fulcrum/key.pem
- remove the # for peering and change for peering=false
- remove the # for fast-sync and change for what you are confortable fast-sync = 4000 (4g of ram)
CTRL-X, Y, ENTER
4.Creating the service file
Creating service file
sudo nano /etc/systemd/system/fulcrum.service
Paste de following in the file and replace <user> by your server username.
[Unit]
Description=Fulcrum After=network.target
[Service]
ExecStart=/home/<user>/fulcrum/Fulcrum /home/<user>/fulcrum/fulcrum.conf User=<user>
LimitNOFILE=8192
TimeoutStopSec=30min
[Install]
WantedBy=multi-user.target
CTRL+X, Y, Enter
***Start this service
sudo systemctl enable fulcrum.service sudo systemctl start fulcrum.service sudo systemctl status fulcrum.service
To see the log
journalctl -fu fulcrum.service
The next chapter will be to sync your node to your own wallet!