If you prefer video and don’t need my help to install Fulcrum Server on Ubuntu server, see this video for instructions. Use the below text as a way to help when you run in to something you don’t understand.
- Go to https://github.com/cculianu/Fulcrum/releases
- Find the right download for you (likely the /Fulcrum-*.*.*-x86_64-linux.tar.gz version)
- Right click and copy that link
- Go to your downloads folder in terminal with the [cd downloads] command
- Now download that file using the command [wget <link to file>]
- You should see the file get downloaded in the terminal window
- In your home directory make a new folder. You can go to your home folder with the command [cd ~]
- Then type [mkdir fulcrum] to create that directory in your home directory
- Make another directory [mkdir fulcrum_db] also in your home directory
- You can type [ls] to confirm those directories are there
- Back to downloads directory [cd downloads]
- Unzip the fulcrum download using [tar xvf <fulcrum filename>] (you can copy the filename by typing [ls] in the downloads directory and copying the file name there.
- The terminal should show you new filepaths written
- Copy the file path
- Now move all of those files to the fulcrum files you already created with the command [mv Fulcrum-1.7.0-x86_64-linux/* /home/<your username>/fulcrum ] (replace with your version number. Replace <your username> with your username)
- Verify the move by [cd ~] to your home directory, then [cd fulcrum] to go to the fulcrum directory. Use command [ls] to check that the files are there
- Use this command to allow fulcrum to query the network in an encrypted way [openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem]
- You will be asked to answer some questions. No need to answer, leave blank hitting ‘enter’ for each.
- Type [ls] command to verify the key.pem file and the cert.pem are created
- Change the filename of the fulcrum-example-config.conf file to just fulcrum.conf with the command [mv fulcrum-example-config.conf fulcrum.conf]
- Edit that file with [sudo nano fulcrum.conf]
- Under basic options change datadir path to: /home/<username>/fulcrum_db
- Make rpcuser = <your bitcoin username> (you set this when you installed bitcoind)
- Make rpcpassword = <your bitcoin password> (you set this when you installed bitcoind)
- On the line that reads “#ssl = 0.0.0.0:50002” remove the #
- Go to the line that reads “#cert = /path/to/server-cert.pem” remove the # and change the path to /home/<yourusername>/fulcrum/cert.pem
- Go the the line that has the key.pem file, remove the # and change the path to “key = /home/<YOURUSERNAME>/fulcrum/key.pem”
- Find line that reads #peering = true and remove the hashtag. Change true to false.
- Find line that reads #fast-sync = 0 and remove the #. Change zero to 5000. This means you are letting fulcrum use 5 gigs of ram capacity to sync up. Adjust accordingly based on your scenario.
- Control x, y, enter to save the file and exit
- Create a service file in order for fulcrum to start up on boot. Do that by going to your home directory with [cd ~] and command [sudo nano /etc/systemd/system/fulcrum.service]
- Paste this into the fulcrum.service file:
[Unit]
Description=Fulcrum
After=network.target
[Service]
ExecStart=/home/<username>/fulcrum/Fulcrum /home/<yourusername>/fulcrum/fulcrum.conf
User=<username>
LimitNOFILE=8192
TimeoutStopSec=30min
[Install]
WantedBy=multi-user.target
- Hit control x, y, and enter to save and exit
- Now we enable the fulcrum service [sudo systemctl enable fulcrum.service]
- Start it [sudo systemctl start fulcrum.service]
- Check the status [sudo systemctl status fulcrum.service] to see if it worked
- Check the logs to see fulcrum downloading in a different terminal with [journalctl -fu fulcrum.service]
This will take hours to finish syncing, maybe half a day. When it is done you should be able to connect Sparrow Wallet to your fulcrum server if you are on the same network. Here are instructions for connecting (if you already have Sparrow Wallet on your computer, you can jump to timestamp 4:45 for connection instructions):