Skip to content

Fulcrum 1.9.8

Compare
Choose a tag to compare
@cculianu cculianu released this 13 Jan 18:25
· 77 commits to master since this release
d4b3fa1

What's new:

This is a minor correctness improvement release of Fulcrum. See issue #221. Upgrading to this release is optional but is strongly recommended for BTC (and LTC) node operators since the fix contained in this release affects them. (BCH users are unaffected.)


Summary of changes:

  • Fixed a correctness bug whereby the mempool fee histogram returned by the mempool.get_fee_histogram RPC was calculating fees in sats-per-serialized-byte and not sats-per-vbyte. This affects segwit coins like LTC and BTC. BCH users are unaffected.
    • As a result of the histogram using the wrong fee rate (sats/B rather than sats/vB), the results were a bit too optimistic and painted a picture of a lower-fee situation than actually exists in the real mempool (this is because serialized size almost always is >= vsize, so fees computed as sats/B are usually lower than fees computed in sats/vB). See issue #221
    • It is recommended that BTC and LTC server operators upgrade to Fulcrum v1.9.8 at their earliest convenience.
    • Fee estimates and "distance from tip" if using Electrum BTC should now be more accurate and more in-line with what a wallet connected to ElectrumX servers would see.
  • Some internal code refactoring and code cleanup to reduce boilerplate code in src/bitcoin/transaction.h and src/bitcoin/transaction.cpp.

Pre-compiled binaries for Linux

I have provided two pre-built binaries for Linux:

  • Fulcrum-1.9.8-x86_64-linux.tar.gz, which is compiled on an Ubuntu 18.04 system using Docker.
  • Fulcrum-1.9.8-arm64-linux.tar.gz, which is compiled on an Ubuntu 20.04 system (for ARM64 bit) using Docker.
  • Fulcrum-1.9.8-x86_64-linux-ub16.tar.gz, which is compiled on a stock Ubuntu 16.04 system (using Docker) but with g++ 8.1.0 installed from this ppa source: ppa:jonathonf/gcc-8 & ppa:jonathonf/gcc

All 3 of the above binaries contain jemalloc, libzmq, Qt5Core, Qt5Network (from Qt 5.15.6), and OpenSSL 1.1.1 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.9.8-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 with jemalloc, libzmq, Qt 5.15.2, OpenSSL 3.0.1, and gcc 11.2.0.
    • Additionally, FulcrumAdmin.exe is included which is the python script, but made into a onefile .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 of PyInstaller onefile .exe's. See: #203. Please ignore this -- we contain no viruses! Also please complain to your virus software vendor about this.

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!