Fulcrum 1.2.4 release
Make it faster, release
- Squashed a bug where if the Qt library spuriously prints messages to the logger while the app is still being constructed, a null pointer dereference could occur, leading to a segfault. We now guard against this situation and take an alternate code path if a log message arrives during app construction. Special thanks to Chris Troutner for reporting this issue and helping to reproduce and fix it.
- Some code cleanup and a ~10% performance speedup to the JSON parser.
- Squashed a bug where if the number of transactions on the chain exceeded 4.29 billion, it might be possible to get data corruption in the database (CompactTXO numbers weren’t being serialized to bytes correctly). There are currently ~290 million transactions on mainnet so this bug wouldn’t have been triggered any time soon.
- Refactored the internal hash table calculations to be more correct.
- Refactored the internal hash table calculations to be more resilient against hash collisions. This should improve app performance in all circumstances. Starting with this version, we seed the hash table hasher functions with a cryptographically secure random number at app startup, and then we ensure that all data that ends up in a hash table is suitably hashed using MurMur3 or CityHash64. This fix should improve performance overall and make the app resilient to hash table collision attacks.
- Fulcrum-1.2.4-x86_64-linux.tar.gz, which is compiled on an
Ubuntu 18.04system using Docker.
- Fulcrum-1.2.4-x86_64-linux-ub16.tar.gz, which is compiled on a stock
Ubuntu 16.04system (using Docker) but with g++ 7.3.0 installed from this ppa source:
- Fulcrum-1.2.4-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 with Qt
FulcrumAdmin.exeis included which is the python script, but made into a
This is a maintenance release of Fulcrum. It contains a performance optimization to JSON parsing as well as 1 fix to a (rare) bug seen in the wild on some systems.
This is a maintenance release of Fulcrum. It contains a bug fix and some internal refactoring.
Summary of changes:
Pre-compiled binaries for Linux
I have provided two pre-built binaries for Linux:
Both of the above binaries contain
Qt5Network from Qt 5.14.2 statically linked. They still requires
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 binary fails, try the second one (
-ub16), which should work on older systems, hopefully.
Pre-compiled binaries for Windows
Binary builds for macOS and Windows coming soon – Until then you can always build from source!