What's new:
This is a maintenance release of Fulcrum. It provides a few minor quality-of-life improvements for admins, as well as some minor internal fixes.
Summary of changes:
- Added auto-detection for when SSL certs change on the filesystem.
- This allows admins to swap out their SSL certs on the filesystem (when renewing them) without needing to restart Fulcrum.
- Added
--compact-dbs
CLI arg.- This option compacts all of the databases on startup, which reduces disk space consumed by the DBs. Note that Fulcrum already compacts databases in the background periodically, so using this option is not strictly necessary.
- Added support for bitcoind
.cookie
-file authentication.- To use cookie-file-based auth instead of a hard-coded user/pass, simply specify
--rpccookie
or-K
on the CLI (orrpccookie=
in the conf file) and supply the full path of the ".cookie" file that bitcoind generates. This file normally lives in the<bitcoind_datadir>/.cookie
.
- To use cookie-file-based auth instead of a hard-coded user/pass, simply specify
- Added support for compiling against the Qt 6.x series.
- Improved RPC auth error message. Thank you @ejose19 .
- Added arm64 support to Docker image + added
librocksdb.a
for linuxaarch64
. Thank you @mainnet-pat . - RPM package fixups. Thank you @hegjon .
- Compile fixup for fedora rawhide / newer rocksdb libs.
- Various internal bugfixes and code quality fixups.
A Note about OpenSSL 1.1.1
Note to Linux server admins - There is an extant OpenSSL vulnerability in versions of OpenSSL 1.1.1-1.1.1j. If you are using Qt 5.15 with OpenSSL 1.1.1, it is recommended you update your system OpenSSL to 1.1.1k (or later). The Linux static build does not bundle OpenSSL, but instead loads the system OpenSSL at run-time. So please update your system to use OpenSSL 1.1.1k or later!
Windows static builds do embed OpenSSL, however, and they have been updated below with an embedded OpenSSL 1.1.1k.
Linux Ubuntu 16 (Xenial) static builds are compiled to look for the system OpenSSL 1.0.x series, which does not suffer from the above-linked vulnerability.
If unsure which OpenSSL Fulcrum is using, run ./Fulcrum --version
and it should tell you which libssl
version it found and is using at runtime.
Pre-compiled binaries for Linux
I have provided two pre-built binaries for Linux:
Fulcrum-1.5.3-x86_64-linux.tar.gz
, which is compiled on anUbuntu 18.04
system using Docker.Fulcrum-1.5.3-x86_64-linux-ub16.tar.gz
, which is compiled on a stockUbuntu 16.04
system (using Docker) but with g++ 7.3.0 installed from this ppa source:ppa:jonathonf/gcc-7.3
&ppa:jonathonf/gcc
Both of the above binaries contain jemalloc
, libzmq
, Qt5Core
and Qt5Network
from Qt 5.15.2 statically linked. They still require libz2
, libstd++
, and the right libc
version as dynamic libs on your system (but those are usually present if you are on a recent system).
If the first regular -linux
binary fails, try the second one (-linux-ub16
), which should work on older systems, hopefully.
Pre-compiled binaries for Windows
Fulcrum-1.5.3-win64.zip
- Pre-built, statically linked Windows version.- It should "just work" on any Windows 7 or above 64-bit system.
- Includes is a statically-linked
Fulcrum.exe
, built withjemalloc
,libzmq
,Qt 5.15.2
,OpenSSL 1.1.1k
, andgcc 7.5.0
. - Additionally,
FulcrumAdmin.exe
is included which is the python script, but made into aonefile .exe
using PyInstaller.
See the .asc
files at the bottom for signatures; my gpg public key can be obtained here: https://github.com/Electron-Cash/keys-n-hashes/blob/master/pubkeys/calinkey.txt
Binary builds for macOS coming soon -- Until then you can always build from source!