Fulcrum 1.11.0
What's new:
This release brings with it performance improvements and an update to the pre-built binary's compiled-in RocksDB version (updated to latest 9.2.1). The latest RocksDB is faster and also better, so yay!
Also in this release we switched the Linux pre-built binary to statically-link libstdc++
which should improve compatibility for the binary and have it "just work" on a wider variety of systems.
NOTE: Since this release contains an updated RocksDB in the release binary, RocksDB will internally "upgrade" the data dir to the newer RocksDB format on first-run (this is fast). However, this means that users that run this version cannot "go back" to the previous Fulcrum versions before 1.11.0 with the same data dir, because RocksDB is backwards compatible but not "forward compatible".
Summary of changes:
- Rename CLI/conf file option
--fast-sync
->--utxo-cache
- Also renamed various conf file options that contain hyphens in their names (
-
) to also work with_
instead (e.g.ts-format
->ts_format
), so that they can be passed-in from env. vars. - Old option names that were renamed still are supported.
- Also renamed various conf file options that contain hyphens in their names (
- Switched codebase to use C++20. As a result of this, we also redid the static builds to use newer tools (e.g. gcc 13) and to also statically link
libstdc++
. - Switched pre-built binaries to use newer RocksDB v9.2.1. This breaks "forward compatibility" with previous Fulcrum releases, but should bring in performance and stability improvements from latest RocksDB.
- Fixes for compatibility between datadirs copied between Windows & Unix (they should all be interoperable now).
- Updated static pre-built binaries to use latest
libzmq
andlibjemalloc
- Performance optimizations related to RPA indexing, in particular, testnets as well as low-core-count machines should benefit from the improvements.
- Controller: Ensure download blocks tasks use all physical CPUs.
- IPv6: Render
ip6:port
as[ip6]:port
in user-facing strings. Also accept this notation from the conf. file - Various fixups related to C++20 in the codebase such as fix some compile warnings, update to newer idioms such as: C++20
concept
/requires
replaced olderstd::enable_if
, etc. - Fix for compiling against Qt 6.7.1
- Fixed typos in
fulcrum-example-config.conf
&fulcrum-quick-config.conf
- RPC: Support downloading of >1GiB blocks from bitcoind (requires Qt6)
- Fixed
assert()
inController.cpp
-- before this fix "Debug" builds were not working with RPA (oops! Fixed!). - Refreshed BCH & BTC compiled-in server lists
- Fix to support BU chipnet (which is reported as "chipnet" rather than "chip" by BU).
- Added
FulcrumAdmin
to the dockerhub docker image. - Misc. internal code quality nits, tweaks and fixes; various compiler warning fixups
Pre-compiled binaries for Linux
I have provided two pre-built binaries for Linux:
Fulcrum-1.11.0-x86_64-linux.tar.gz
, which is compiled on anUbuntu 18.04
system using Docker.Fulcrum-1.11.0-arm64-linux.tar.gz
, which is compiled on anUbuntu 20.04
system (for ARM64 bit) using Docker.
All of the above binaries contain jemalloc
, libzmq
, Qt5Core
, Qt5Network
(from Qt 5.15.6), OpenSSL 1.1.1
and libstdc++
statically linked. They still require libz2
, and the right libc
version as dynamic libs on your system (but those are usually present if you are on a recent system).
Pre-compiled binaries for Windows
Fulcrum-1.11.0-win64.zip
- Pre-built, statically linked Windows version.- It should "just work" on any Windows 10 or above 64-bit system.
- Includes is a statically-linked
Fulcrum.exe
, built withjemalloc
,libzmq
,Qt 5.15.13
,OpenSSL 3.3.0
, andgcc 13.2.0
. - Additionally,
FulcrumAdmin.exe
is included which is the python script, but made into aonefile .exe
using PyInstaller.- NOTE Windows virus scanners have been known to erroneously identify
FulcrumAdmin.exe
as containing a virus. This is because many heuristic scanners dislike the use ofPyInstaller
onefile .exe's. See: #203. Please ignore this -- we contain no viruses! Also please complain to your virus software vendor about this.
- NOTE Windows virus scanners have been known to erroneously identify
See the .asc
file for signatures; I signed the sha256 hashes of all the release binaries. 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!