What's New:
Fulcrum 2.1.4 is a maintenance release of the 2.x series. It contains one important performance optimization when servicing subscriptions and the blockchain.*.get_history RPCs. This optimization can yield up to a 5x-10x speedup for this particular RPC call in some cases. All users of Fulcrum are recommended to update to this release to reap the performance benefits!
Detailed Summary of Changes (vs v2.1.3)
- Performance:
Storage::getHistory(used by the subscriptions and the history RPCs) is now 5x-10x faster for "uncached" lookups (as in from a cold start or when the txhash cache lacks the entries). This is a huge performance benefit discovered by @sethforprivacy . Special thanks to him! For more info, see: PR #335, and also this X thread: https://x.com/sethforprivacy/status/2110672740902396397- This performance speedup involves a new tiny subsystem to lookup the hashes in parallel, the behavior of which is controlled by the new conf file parameter
history_lookup_threads. - You normally don't need to touch this parameter since the default setting is good for almost all systems.
- This performance speedup involves a new tiny subsystem to lookup the hashes in parallel, the behavior of which is controlled by the new conf file parameter
- Updated the internal
servers.jsonseed list for BCH and BTC networks.
Pre-compiled Binaries for Linux
I have provided two pre-built binaries for Linux:
Fulcrum-2.1.4-x86_64-linux.tar.gz, which is compiled on anUbuntu 18.04system using Docker.Fulcrum-2.1.4-arm64-linux.tar.gz, which is compiled on anUbuntu 20.04system (for ARM64 bit) using Docker.
All of the above binaries contain jemalloc, libzmq, libminiupnpc, Qt6Core, Qt6Network (from Qt 6.10.0), 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-2.1.4-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,libminiupnpc,Qt 6.10.10,OpenSSL 3.3.0, andgcc 15.2.0. - Additionally,
FulcrumAdmin.exeis included which is the python script, but made into aonefile .exeusing PyInstaller.- NOTE Windows virus scanners have been known to erroneously identify
FulcrumAdmin.exeas containing a virus. This is because many heuristic scanners dislike the use ofPyInstalleronefile .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!