Fulcrum 1.4.1
What's new:
This is a maintenance release of Fulcrum. Key highlights include the improved mempool synch code for BTC, as well as the addition of ZMQ support for better responsiveness when new blocks arrive. It is recommended that all server admins upgrade to this version at their earliest convenience.
As is generally the rule with Fulcrum: No breaking database changes were introduced and admins may freely switch back and forth between this and previous versions of Fulcrum for a pre-existing datadir.
Summary of changes:
- Performance - Improved mempool synch performance for very full mempools (such as on BTC).
- Fixed issues for in particular BTC where on first synch, it would sometimes take a very long time to synch the initial mempool.
- BTC mempools may still take upwards of 2 minutes to synch the first time (after a restart of Fulcrum) -- if the mempool has >100k tx's in it, but it won't take 30 mins or more (as it sometimes did before in pathological cases! Sorry about that!).
- App performance overall have been improved for BTC.
- Fixed issues for in particular BTC where on first synch, it would sometimes take a very long time to synch the initial mempool.
- Low-Latency - Added support for receiving ZMQ notifications when new blocks come in from bitcoind.
- If enabled, then Fulcrum will immediately respond when new blocks arrive, thus improving the experience for users.
- If no ZMQ is enabled, the polling technique is still there as a fallback.
- Requires a bitcoind that supports ZMQ such as: Core, BCHN, or the soon-to-be-released BU 1.9.1+.
- To enable: add e.g.
zmqpubhashblock=tcp://0.0.0.0:8433
to yourbitcoin.conf
(the port doesn't matter, pick an unused one). - Fulcrum will automatically see the
zmq
port and use it for notifications (requires that you are using a static build or that you built Fulcrum yourself withlibzmq
).
- To enable: add e.g.
- If enabled, then Fulcrum will immediately respond when new blocks arrive, thus improving the experience for users.
- Upgraded to
Qt 5.15.2
for the static builds (linked below). - Misc. nits, fixups, and code quality improvements.
Pre-compiled binaries for Linux
I have provided two pre-built binaries for Linux:
Fulcrum-1.4.1-x86_64-linux.tar.gz
, which is compiled on anUbuntu 18.04
system using Docker.Fulcrum-1.4.1-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.4.1-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
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!