Bot releases are hidden (Show)
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".
--fast-sync
-> --utxo-cache
-
) to also work with _
instead (e.g. ts-format
-> ts_format
), so that they can be passed-in from env. vars.libstdc++
.libzmq
and libjemalloc
ip6:port
as [ip6]:port
in user-facing strings. Also accept this notation from the conf. fileconcept
/requires
replaced older std::enable_if
, etc.fulcrum-example-config.conf
& fulcrum-quick-config.conf
assert()
in Controller.cpp
-- before this fix "Debug" builds were not working with RPA (oops! Fixed!).FulcrumAdmin
to the dockerhub docker image.I have provided two pre-built binaries for Linux:
Fulcrum-1.11.0-x86_64-linux.tar.gz
, which is compiled on an Ubuntu 18.04
system using Docker.Fulcrum-1.11.0-arm64-linux.tar.gz
, which is compiled on an Ubuntu 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).
Fulcrum-1.11.0-win64.zip
- Pre-built, statically linked Windows version.
Fulcrum.exe
, built with jemalloc
, libzmq
, Qt 5.15.13
, OpenSSL 3.3.0
, and gcc 13.2.0
.FulcrumAdmin.exe
is included which is the python script, but made into a onefile .exe
using PyInstaller.
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!
Published by cculianu 8 months ago
Added official Reusable Payment Address (RPA) support. A few new RPCs are offered for servers that have it enabled (default on for BCH only, off for other coins). Also fixed a few minor esoteric bugs.
rpa
, which is currently only ~42M on mainnet. It starts indexing from block 825000 on mainnet (can be controlled with rpa_start_height=
conf file option).--rpa
or rpa=1
from conf file.I have provided two pre-built binaries for Linux:
Fulcrum-1.10.0-x86_64-linux.tar.gz
, which is compiled on an Ubuntu 18.04
system using Docker.Fulcrum-1.10.0-arm64-linux.tar.gz
, which is compiled on an Ubuntu 20.04
system (for ARM64 bit) using Docker.Fulcrum-1.10.0-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.
Fulcrum-1.10.0-win64.zip
- Pre-built, statically linked Windows version.
Fulcrum.exe
, built with jemalloc
, libzmq
, Qt 5.15.2
, OpenSSL 3.0.1
, and gcc 11.2.0
.FulcrumAdmin.exe
is included which is the python script, but made into a onefile .exe
using PyInstaller.
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!
Published by cculianu 9 months ago
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.)
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.
src/bitcoin/transaction.h
and src/bitcoin/transaction.cpp
.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.
Fulcrum-1.9.8-win64.zip
- Pre-built, statically linked Windows version.
Fulcrum.exe
, built with jemalloc
, libzmq
, Qt 5.15.2
, OpenSSL 3.0.1
, and gcc 11.2.0
.FulcrumAdmin.exe
is included which is the python script, but made into a onefile .exe
using PyInstaller.
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!
Published by cculianu 11 months ago
This is a bugfix release of Fulcrum. A very rare corner-case "abort" bug introduced in version 1.9.4 has been identified and fixed. See issue #214. While this bug is very rare and requires precise timing to occur, please do upgrade to 1.9.7 if you are running 1.9.4, 1.9.5 or 1.9.6 (1.9.3 and earlier are unaffected).
I have provided two pre-built binaries for Linux:
Fulcrum-1.9.7-x86_64-linux.tar.gz
, which is compiled on an Ubuntu 18.04
system using Docker.Fulcrum-1.9.7-arm64-linux.tar.gz
, which is compiled on an Ubuntu 20.04
system (for ARM64 bit) using Docker.Fulcrum-1.9.7-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.
Fulcrum-1.9.7-win64.zip
- Pre-built, statically linked Windows version.
Fulcrum.exe
, built with jemalloc
, libzmq
, Qt 5.15.2
, OpenSSL 3.0.1
, and gcc 11.2.0
.FulcrumAdmin.exe
is included which is the python script, but made into a onefile .exe
using PyInstaller.
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!
Published by cculianu 11 months ago
This is a minor protocol upgrade release of Fulcrum. 4 new protocol methods were added (not yet used by any major wallet, but they will be hopefully someday!). Additionally, some minor internal improvements were made, and the Windows binary now also prints in color if outputting to the console.
daemon_passthrough_subnets
.
--fast-sync
is enforced. Fixes issue #208.--bench mempool
now can download real coins from a bitcoind daemon (optionally) to go along with the mempool.dat
file it ingests. Commit 74338ba2a045bc73e8644fc01152d5a017fab2bd.I have provided two pre-built binaries for Linux:
Fulcrum-1.9.6-x86_64-linux.tar.gz
, which is compiled on an Ubuntu 18.04
system using Docker.Fulcrum-1.9.6-arm64-linux.tar.gz
, which is compiled on an Ubuntu 20.04
system (for ARM64 bit) using Docker.Fulcrum-1.9.6-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.
Fulcrum-1.9.6-win64.zip
- Pre-built, statically linked Windows version.
Fulcrum.exe
, built with jemalloc
, libzmq
, Qt 5.15.2
, OpenSSL 3.0.1
, and gcc 11.2.0
.FulcrumAdmin.exe
is included which is the python script, but made into a onefile .exe
using PyInstaller.
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!
Published by cculianu 12 months ago
This is a hotfix release. 1.9.4 was a lemon -- it contained a bug whereby the server would hang waiting for the mempool (due to inappropriate use of thread variable signals). It has been fixed. I sincerely apologize for the error on my part. All users of 1.9.4 should upgrade to 1.9.5 immediately.
Otherwise, 1.9.4 was a good improvement for performance. 1.9.5 is just like 1.9.4 except it lacks the synch hang bug.
Release notes from 1.9.4:
bitcoind
has been improved by as much as ~30% for large mempools. Additionally, a rare corner-case bug related to mempool synching has been fixed. It is recommended that all admins running public Fulcrum servers update to v1.9.4 at their earliest convenience.SynchMempoolTask
by ~30% for large mempools. This is particularly important when Fulcrum first starts up against a daemon that has chronically full mempools (such as on BTC). (#207).librocksdb.a
which work on both x86_64
and arm64
(Apple Silicon).SynchMempoolTask
to a separate compilation unitI have provided two pre-built binaries for Linux:
Fulcrum-1.9.5-x86_64-linux.tar.gz
, which is compiled on an Ubuntu 18.04
system using Docker.Fulcrum-1.9.5-arm64-linux.tar.gz
, which is compiled on an Ubuntu 22.04
system (for ARM64 bit) using Docker.Fulcrum-1.9.5-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.
Fulcrum-1.9.5-win64.zip
- Pre-built, statically linked Windows version.
Fulcrum.exe
, built with jemalloc
, libzmq
, Qt 5.15.2
, OpenSSL 3.0.1
, and gcc 11.2.0
.FulcrumAdmin.exe
is included which is the python script, but made into a onefile .exe
using PyInstaller.
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!
Published by cculianu 12 months ago
This is a maintenance release of Fulcrum. In this release, the performance of mempool synching from bitcoind
has been drastically improved.
SynchMempoolTask
by over 3x. Synching mempool has never been faster! This is particularly important when Fulcrum first starts up against a daemon that has chronically full mempools (such as on BTC).-fomit-frame-pointer
since this optimization is pointless on 64-bit non-register-impaired architectures and what's more, it may lead to compiler bugs.I have provided two pre-built binaries for Linux:
Fulcrum-1.9.3-x86_64-linux.tar.gz
, which is compiled on an Ubuntu 18.04
system using Docker.Fulcrum-1.9.3-arm64-linux.tar.gz
, which is compiled on an Ubuntu 22.04
system (for ARM64 bit) using Docker.Fulcrum-1.9.3-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.
Fulcrum-1.9.3-win64.zip
- Pre-built, statically linked Windows version.
Fulcrum.exe
, built with jemalloc
, libzmq
, Qt 5.15.2
, OpenSSL 3.0.1
, and gcc 11.2.0
.FulcrumAdmin.exe
is included which is the python script, but made into a onefile .exe
using PyInstaller.
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!
Published by cculianu about 1 year ago
This is a bugfix maintenance release of Fulcrum. It fixes a few compile bugs as well as potential BTC-related issues, and adds some optional parameters to the blockchain.*.get_history
family of calls.
For BTC: we updated the code to the mempool.get_fee_histogram
call to replicate more closely what ElectrumX would return (issue #197). We also added better compatibility with Bitcoin Core v25.0.0 for the sendrawtransaction
API call to bitcoind core. All BTC users of Fulcrum are strongly urged to update to this version at their earliest convenience.
blockchain.*.get_history
call(s) (issue #180). This involves two extra optional parameters, from_height
and to_height
to the call(s). See: https://electrum-cash-protocol.readthedocs.io/en/latest/protocol-methods.html#blockchain.scripthash.get_history.
mempool.get_fee_histogram
RPC to more closely model what ElectrumX would return. Hopefully this fixes some issues seen on BTC. (#197)I have provided two pre-built binaries for Linux:
Fulcrum-1.9.2-x86_64-linux.tar.gz
, which is compiled on an Ubuntu 18.04
system using Docker.Fulcrum-1.9.2-arm64-linux.tar.gz
, which is compiled on an Ubuntu 22.04
system (for ARM64 bit) using Docker.Fulcrum-1.9.1-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.
Fulcrum-1.9.2-win64.zip
- Pre-built, statically linked Windows version.
Fulcrum.exe
, built with jemalloc
, libzmq
, Qt 5.15.2
, OpenSSL 3.0.1
, and gcc 11.2.0
.FulcrumAdmin.exe
is included which is the python script, but made into a onefile .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!
Published by cculianu over 1 year ago
This is a quality-of-life minor maintenance release of Fulcrum. It adds a couple of small but useful features (as requested by users), and updates the server lists for BCH. Upgrading to this version is optional but as always, recommended.
--version
outputsha256_sse4.cpp
ASM extensions really not compile in the !USE_ASM
configurationanon_logs
configuration option. If set to anon_logs = true
in the conf file, IP addresses and TXIDs will be hidden from any non-debug-level logs._ENV_
as the configuration "file" and then no actual file is really read, just the process's environment is scanned for conf vars.--pidfile <file>
and/or conf file variable pidfile = <file>
. If set, the Fulcrum
process will write its PID to this file on program startup (and will delete the file on program exit).query
command to the FulcrumAdmin
script. This works exactly like the same command in ElectrumX's electrumx_rpc
admin script. It allows one to query balance, history, and unspent outputs for any address or script output.I have provided two pre-built binaries for Linux:
Fulcrum-1.9.1-x86_64-linux.tar.gz
, which is compiled on an Ubuntu 18.04
system using Docker.Fulcrum-1.9.1-arm64-linux.tar.gz
, which is compiled on an Ubuntu 18.04
system (for ARM64 bit) using Docker.Fulcrum-1.9.1-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.
Fulcrum-1.9.1-win64.zip
- Pre-built, statically linked Windows version.
Fulcrum.exe
, built with jemalloc
, libzmq
, Qt 5.15.2
, OpenSSL 3.0.1
, and gcc 11.2.0
.FulcrumAdmin.exe
is included which is the python script, but made into a onefile .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!
Published by cculianu almost 2 years ago
This is an important release of Fulcrum focusing on additional CashToken support (BCH only). Support for CashTokens has been expanded with some RPC protocol additions. RPCs such as blockchain.scripthash.listunspent
may now (optionally) return token information for UTXOs that contain tokens. Since the API has changed, the maximum electrum-cash protocol version is now 1.5.0. However, by default Fulcrum continues to support protocol 1.4.x and is backwards compatible with clients requesting this protocol version. For more information on the RPC API changes, see the latest changes to the Electrum Cash Protocol Specification.
Additionally, the database format has changed slightly, and your datadir will be automatically upgraded to the new V2 format*
. That is, if you run Fulcrum 1.9.0 against your current synched datadir, it will automatically be upgraded to V2. Older Fulcrum versions (which only understand V1) will not be able to read the datadir after it is upgraded, however.
*
- The exception to this is if you are running your server synched to current BCH ChipNet, in which case you will need to delete your datadir and resynch because ChipNet has CashTokens activated on it already, and we need to grab on-chain token information again from bitcoind via a full resynch. Fulcrum will complain and exit with an error telling you to resynch if you are on ChipNet.
Note for BTC & LTC users: It is safe to upgrade to this version of Fulcrum if you are using BTC or LTC, since the API changes affect BCH only. This version of Fulcrum behaves identically to previous versions if serving up BTC or LTC blockchain data, with 0 negative performance or other impact for BTC or LTC servers.
blockchain.*.listunspent
now may optionally return token information for UTXOs that contain CashTokens (BCH only).blockchain.utxo.get_into
now will return token information if the UTXO in question contains CashTokens (BCH only).blockchain.*.get_balance
now may optionally return the balance with or without token UTXOs (BCH only).blockchain.*.listunspent
RPCs.I have provided two pre-built binaries for Linux:
Fulcrum-1.9.0-x86_64-linux.tar.gz
, which is compiled on an Ubuntu 18.04
system using Docker.Fulcrum-1.9.0-arm64-linux.tar.gz
, which is compiled on an Ubuntu 18.04
system (for ARM64 bit) using Docker.Fulcrum-1.9.0-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.
Fulcrum-1.9.0-win64.zip
- Pre-built, statically linked Windows version.
Fulcrum.exe
, built with jemalloc
, libzmq
, Qt 5.15.2
, OpenSSL 3.0.1
, and gcc 11.2.0
.FulcrumAdmin.exe
is included which is the python script, but made into a onefile .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!
Published by cculianu about 2 years ago
This is a minor release of Fulcrum. The main change from the previous release is that support for BCH "chipnet" has been added, and is now auto-detected when the daemon returns the network name from getblockchaininfo
as "chip"
. Upgrading from v1.8.1 is not required (but is still recommended, especially if you intend to use chipnet now).
To use chipnet, you should build BCHN MR !1600. A pre-built binary of BCHN supporting chipnet is available for download here.
Discussion and references to what chipnet itself is can be found here.
I have provided two pre-built binaries for Linux:
Fulcrum-1.8.2-x86_64-linux.tar.gz
, which is compiled on an Ubuntu 18.04
system using Docker.Fulcrum-1.8.2-arm64-linux.tar.gz
, which is compiled on an Ubuntu 18.04
system (for ARM64 bit) using Docker.Fulcrum-1.8.2-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.
Fulcrum-1.8.2-win64.zip
- Pre-built, statically linked Windows version.
Fulcrum.exe
, built with jemalloc
, libzmq
, Qt 5.15.2
, OpenSSL 3.0.1
, and gcc 11.2.0
.FulcrumAdmin.exe
is included which is the python script, but made into a onefile .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!
Published by cculianu about 2 years ago
This is a minor release of Fulcrum. The main change from the previous release is that the release binaries now include a statically-linked OpenSSL 1.1.1 library. This should improve compatibility of the release binary with various Linux systems. Upgrading from v1.8.0 is not required (but is still recommended).
-ub16
binary and gcc 8.4 for the regular Linux binary).I have provided two pre-built binaries for Linux:
Fulcrum-1.8.1-x86_64-linux.tar.gz
, which is compiled on an Ubuntu 18.04
system using Docker.Fulcrum-1.8.1-arm64-linux.tar.gz
, which is compiled on an Ubuntu 18.04
system (for ARM64 bit) using Docker.Fulcrum-1.8.1-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.
Fulcrum-1.8.1-win64.zip
- Pre-built, statically linked Windows version.
Fulcrum.exe
, built with jemalloc
, libzmq
, Qt 5.15.2
, OpenSSL 3.0.1
, and gcc 11.2.0
.FulcrumAdmin.exe
is included which is the python script, but made into a onefile .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!
Published by cculianu about 2 years ago
This is an upgrade & enhancement release of Fulcrum. It provides some better support for the upcoming May 2023 BCH network upgrade, as well as some internal code refactoring changes. The database format remains unchanged and is both forward and backward compatible with previous versions of Fulcrum.
It is recommended that users running a BCH Fulcrum instance upgrade to this version before May 15, 2023 (if not sooner).
Note to Linux server admins - There is an extant OpenSSL vulnerability in versions of OpenSSL 1.1.1-1.1.1j. If you are using Qt 5.15 with OpenSSL 1.1.1, it is recommended you update your system OpenSSL to 1.1.1k (or later). The Linux static build does not bundle OpenSSL, but instead loads the system OpenSSL at run-time. So please update your system to use OpenSSL 1.1.1k or later!
Windows static builds do embed OpenSSL, however, and they have been updated below with an embedded OpenSSL 1.1.1k.
Linux Ubuntu 16 (Xenial) static builds are compiled to look for the system OpenSSL 1.0.x series, which does not suffer from the above-linked vulnerability.
If unsure which OpenSSL Fulcrum is using, run ./Fulcrum --version
and it should tell you which libssl
version it found and is using at runtime.
I have provided two pre-built binaries for Linux:
Fulcrum-1.8.0-x86_64-linux.tar.gz
, which is compiled on an Ubuntu 18.04
system using Docker.Fulcrum-1.8.0-arm64-linux.tar.gz
, which is compiled on an Ubuntu 18.04
system (for ARM64 bit) using Docker.Fulcrum-1.8.0-x86_64-linux-ub16.tar.gz
, which is compiled on a stock Ubuntu 16.04
system (using Docker) but with g++ 7.3.0 installed from this ppa source: ppa:jonathonf/gcc-7.3
& ppa:jonathonf/gcc
All 3 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.
Fulcrum-1.8.0-win64.zip
- Pre-built, statically linked Windows version.
Fulcrum.exe
, built with jemalloc
, libzmq
, Qt 5.15.2
, OpenSSL 1.1.1k
, and gcc 7.5.0
.FulcrumAdmin.exe
is included which is the python script, but made into a onefile .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!
Published by cculianu over 2 years ago
This is an upgrade & enhancement release of Fulcrum. It provides a couple of new features, as well as some performance improvements and minor bugfixes. The database format remains unchanged and is both forward and backward compatible with previous versions of Fulcrum.
litecoind
with the -rpcserialversion=1
option so as to prevent serving clients mw txns that they may not understand.PeerMgr
fails to start (but display a warning).
servers.json
exists.fulcrum-example-config.conf
( @pseudoramdom )Note to Linux server admins - There is an extant OpenSSL vulnerability in versions of OpenSSL 1.1.1-1.1.1j. If you are using Qt 5.15 with OpenSSL 1.1.1, it is recommended you update your system OpenSSL to 1.1.1k (or later). The Linux static build does not bundle OpenSSL, but instead loads the system OpenSSL at run-time. So please update your system to use OpenSSL 1.1.1k or later!
Windows static builds do embed OpenSSL, however, and they have been updated below with an embedded OpenSSL 1.1.1k.
Linux Ubuntu 16 (Xenial) static builds are compiled to look for the system OpenSSL 1.0.x series, which does not suffer from the above-linked vulnerability.
If unsure which OpenSSL Fulcrum is using, run ./Fulcrum --version
and it should tell you which libssl
version it found and is using at runtime.
I have provided two pre-built binaries for Linux:
Fulcrum-1.7.0-x86_64-linux.tar.gz
, which is compiled on an Ubuntu 18.04
system using Docker.Fulcrum-1.7.0-arm64-linux.tar.gz
, which is compiled on an Ubuntu 18.04
system (for ARM64 bit) using Docker.Fulcrum-1.7.0-x86_64-linux-ub16.tar.gz
, which is compiled on a stock Ubuntu 16.04
system (using Docker) but with g++ 7.3.0 installed from this ppa source: ppa:jonathonf/gcc-7.3
& ppa:jonathonf/gcc
All 3 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.
Fulcrum-1.7.0-win64.zip
- Pre-built, statically linked Windows version.
Fulcrum.exe
, built with jemalloc
, libzmq
, Qt 5.15.2
, OpenSSL 1.1.1k
, and gcc 7.5.0
.FulcrumAdmin.exe
is included which is the python script, but made into a onefile .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!
Published by cculianu over 2 years ago
This is an upgrade & enhancement release of Fulcrum. It provides a couple of new features, as well as some performance improvements and minor bugfixes. The database format remains unchanged and is both forward and backward compatible with previous versions of Fulcrum.
--fast-sync
, or conf option fast-sync
, default disabled). With this option enabled, Fulcrum will use a large UTXO Cache as it syncs, which should save on DB back-and-forth. The option takes a numeric argument which specifies the maximum RAM to give to the UTXO Cache, in MB. Larger values generally yield better results, but try not to exceed the system's available RAM. PR: #98.
--fast-sync
of 2000
on BCH testnet3 yields ~1.7x speed improvement over no --fast-sync
. Using 8000
for testnet3 yields a ~2x speedup.512
for --fast-sync
yield benefits on the order of 1.5x or more speedup.max_batch
, default 345
, which controls the maximum size of batches that are accepted. Set to 0
to disable batching (pre-1.6.0 behavior of Fulcrum).max_buffer
bytes (default: 8000000
), in terms of request + response size.db_max_open_files
default is now 40
(was 20
)db_mem
default is now 512
(was 420
)max_buffer
default is now 8000000
(was 4000000
)workqueue
default is now 15000
(was 10000
)max_subs_per_ip
default is now 75000
(was 50000
)250
blocks rather than 100
(on account of BTC blocks being bounded in size to at most ~1.7 MB of data).server.banner
, Json serialization, and other miscellaneous odds & ends.robin_hood
hash table library to v3.11.5
,Note to Linux server admins - There is an extant OpenSSL vulnerability in versions of OpenSSL 1.1.1-1.1.1j. If you are using Qt 5.15 with OpenSSL 1.1.1, it is recommended you update your system OpenSSL to 1.1.1k (or later). The Linux static build does not bundle OpenSSL, but instead loads the system OpenSSL at run-time. So please update your system to use OpenSSL 1.1.1k or later!
Windows static builds do embed OpenSSL, however, and they have been updated below with an embedded OpenSSL 1.1.1k.
Linux Ubuntu 16 (Xenial) static builds are compiled to look for the system OpenSSL 1.0.x series, which does not suffer from the above-linked vulnerability.
If unsure which OpenSSL Fulcrum is using, run ./Fulcrum --version
and it should tell you which libssl
version it found and is using at runtime.
I have provided two pre-built binaries for Linux:
Fulcrum-1.6.0-x86_64-linux.tar.gz
, which is compiled on an Ubuntu 18.04
system using Docker.Fulcrum-1.6.0-arm64-linux.tar.gz
, which is compiled on an Ubuntu 18.04
system (for ARM64 bit) using Docker.Fulcrum-1.6.0-x86_64-linux-ub16.tar.gz
, which is compiled on a stock Ubuntu 16.04
system (using Docker) but with g++ 7.3.0 installed from this ppa source: ppa:jonathonf/gcc-7.3
& ppa:jonathonf/gcc
All 3 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.
Fulcrum-1.6.0-win64.zip
- Pre-built, statically linked Windows version.
Fulcrum.exe
, built with jemalloc
, libzmq
, Qt 5.15.2
, OpenSSL 1.1.1k
, and gcc 7.5.0
.FulcrumAdmin.exe
is included which is the python script, but made into a onefile .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!
Published by cculianu almost 3 years ago
This is a maintenance release of Fulcrum. It provides a couple of minor fixes and a compatibility workaround for the Phoenix BTC wallet.
Could not create per-IP data object in ServerBase::attachPerIPDataAndCheckLimits
, which was wrongly being reported at error level "Error". It now is reworded to be less scary and is at the more appropriate "Warning" error level.
Note to Linux server admins - There is an extant OpenSSL vulnerability in versions of OpenSSL 1.1.1-1.1.1j. If you are using Qt 5.15 with OpenSSL 1.1.1, it is recommended you update your system OpenSSL to 1.1.1k (or later). The Linux static build does not bundle OpenSSL, but instead loads the system OpenSSL at run-time. So please update your system to use OpenSSL 1.1.1k or later!
Windows static builds do embed OpenSSL, however, and they have been updated below with an embedded OpenSSL 1.1.1k.
Linux Ubuntu 16 (Xenial) static builds are compiled to look for the system OpenSSL 1.0.x series, which does not suffer from the above-linked vulnerability.
If unsure which OpenSSL Fulcrum is using, run ./Fulcrum --version
and it should tell you which libssl
version it found and is using at runtime.
I have provided two pre-built binaries for Linux:
Fulcrum-1.5.4-x86_64-linux.tar.gz
, which is compiled on an Ubuntu 18.04
system using Docker.Fulcrum-1.5.4-x86_64-linux-ub16.tar.gz
, which is compiled on a stock Ubuntu 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.
Fulcrum-1.5.4-win64.zip
- Pre-built, statically linked Windows version.
Fulcrum.exe
, built with jemalloc
, libzmq
, Qt 5.15.2
, OpenSSL 1.1.1k
, and gcc 7.5.0
.FulcrumAdmin.exe
is included which is the python script, but made into a onefile .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!
Published by cculianu almost 3 years ago
This is a maintenance release of Fulcrum. It provides a few minor quality-of-life improvements for admins, as well as some minor internal fixes.
--compact-dbs
CLI arg.
.cookie
-file authentication.
--rpccookie
or -K
on the CLI (or rpccookie=
in the conf file) and supply the full path of the ".cookie" file that bitcoind generates. This file normally lives in the <bitcoind_datadir>/.cookie
.librocksdb.a
for linux aarch64
. Thank you @mainnet-pat .Note to Linux server admins - There is an extant OpenSSL vulnerability in versions of OpenSSL 1.1.1-1.1.1j. If you are using Qt 5.15 with OpenSSL 1.1.1, it is recommended you update your system OpenSSL to 1.1.1k (or later). The Linux static build does not bundle OpenSSL, but instead loads the system OpenSSL at run-time. So please update your system to use OpenSSL 1.1.1k or later!
Windows static builds do embed OpenSSL, however, and they have been updated below with an embedded OpenSSL 1.1.1k.
Linux Ubuntu 16 (Xenial) static builds are compiled to look for the system OpenSSL 1.0.x series, which does not suffer from the above-linked vulnerability.
If unsure which OpenSSL Fulcrum is using, run ./Fulcrum --version
and it should tell you which libssl
version it found and is using at runtime.
I have provided two pre-built binaries for Linux:
Fulcrum-1.5.3-x86_64-linux.tar.gz
, which is compiled on an Ubuntu 18.04
system using Docker.Fulcrum-1.5.3-x86_64-linux-ub16.tar.gz
, which is compiled on a stock Ubuntu 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.
Fulcrum-1.5.3-win64.zip
- Pre-built, statically linked Windows version.
Fulcrum.exe
, built with jemalloc
, libzmq
, Qt 5.15.2
, OpenSSL 1.1.1k
, and gcc 7.5.0
.FulcrumAdmin.exe
is included which is the python script, but made into a onefile .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!
Published by cculianu over 3 years ago
This is a critical bugfix release of Fulcrum. It fixes a crash bug that we thought we handled in 1.5.1 but it turns out we did not fix. It is recommended that all admins update to 1.5.2 as soon as they can.
MethodMap
.--version
now also prints information on which libssl
was loaded at run-time.servers.json
(BCH) and servers_scalenet.json
(BCH) to latest Electron Cash servers.Note to Linux server admins - There is an extant OpenSSL vulnerability in versions of OpenSSL 1.1.1-1.1.1j. If you are using Qt 5.15 with OpenSSL 1.1.1, it is recommended you update your system OpenSSL to 1.1.1k (or later). The Linux static build does not bundle OpenSSL, but instead loads the system OpenSSL at run-time. So please update your system to use OpenSSL 1.1.1k or later!
Windows static builds do embed OpenSSL, however, and they have been updated below with an embedded OpenSSL 1.1.1k.
Linux Ubuntu 16 (Xenial) static builds are compiled to look for the system OpenSSL 1.0.x series, which does not suffer from the above-linked vulnerability.
If unsure which OpenSSL Fulcrum is using, run ./Fulcrum --version
and it should tell you which libssl
version it found and is using at runtime.
I have provided two pre-built binaries for Linux:
Fulcrum-1.5.2-x86_64-linux.tar.gz
, which is compiled on an Ubuntu 18.04
system using Docker.Fulcrum-1.5.2-x86_64-linux-ub16.tar.gz
, which is compiled on a stock Ubuntu 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.
Fulcrum-1.5.2-win64.zip
- Pre-built, statically linked Windows version.
Fulcrum.exe
, built with jemalloc
, libzmq
, Qt 5.15.2
, OpenSSL 1.1.1k
, and gcc 7.5.0
.FulcrumAdmin.exe
is included which is the python script, but made into a onefile .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!
Published by cculianu over 3 years ago
This is a major "minor" release of Fulcrum! It adds a new index, some new RPC methods, and optimizes some of the internals to be faster.
blockchain.transaction.get_merkle
now no longer requires the height
parameter (but passing it is still recommended as a performance optimization).max_history
size that Fulcrum supports from 100M to 25M. Note that there are no histories on the blockchain that are large enough to hit this limit -- the limit is theoretical and more of a safety measure to prevent pathological circumstances. After we upgrade to protocol v1.5.0 in the future, this limit will no longer be in place since histories will be paged and status hashes will be computed differently.tx_hash
-> TxNum
(see blurb in the "What's new" section above)
db_mem
to 420 MB from the previous 384 MB (this is to account for the new index's needs).I have provided two pre-built binaries for Linux:
Fulcrum-1.5.0-x86_64-linux.tar.gz
, which is compiled on an Ubuntu 18.04
system using Docker.Fulcrum-1.5.0-x86_64-linux-ub16.tar.gz
, which is compiled on a stock Ubuntu 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.
Fulcrum-1.5.0-win64.zip
- Pre-built, statically linked Windows version.
Fulcrum.exe
, built with jemalloc
, libzmq
, Qt 5.15.2
and gcc 7.5.0
.FulcrumAdmin.exe
is included which is the python script, but made into a onefile .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!
Published by cculianu over 3 years ago
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.
zmqpubhashblock=tcp://0.0.0.0:8433
to your bitcoin.conf
(the port doesn't matter, pick an unused one).zmq
port and use it for notifications (requires that you are using a static build or that you built Fulcrum yourself with libzmq
).Qt 5.15.2
for the static builds (linked below).I have provided two pre-built binaries for Linux:
Fulcrum-1.4.1-x86_64-linux.tar.gz
, which is compiled on an Ubuntu 18.04
system using Docker.Fulcrum-1.4.1-x86_64-linux-ub16.tar.gz
, which is compiled on a stock Ubuntu 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.
Fulcrum-1.4.1-win64.zip
- Pre-built, statically linked Windows version.
Fulcrum.exe
, built with jemalloc
, libzmq
, Qt 5.15.2
and gcc 7.5.0
.FulcrumAdmin.exe
is included which is the python script, but made into a onefile .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!