Skip to content

Releases: cculianu/Fulcrum

Fulcrum 1.0.5b

23 Mar 20:18
39b2eeb
Compare
Choose a tag to compare

What's new:

  • Performance improvements - Made the bitcoind_throttle facility (introduced in Fulcrum 1.0.4) behave in a peppier and more efficient manner when the server is not under load.
  • Resiliency - A new max subscriptions facility has been added to make it nearly impossible for abusive clients to degrade performance for normal clients.
    • max_subs_per_ip has been added as a conf file variable. Default is 50000 if unspecified. If the number of subscriptions from a particular IP address exceeds this value, new subscription requests are denied from that IP until its client(s) unsubscribe or disconnect. Note that clients belonging to subnets_to_exclude_from_per_ip_limits are not subjected to this limit.
    • max_subs has also been added as a conf file variable. Default is 10000000 (10 million) if unspecified. This is a limit on the number of subscriptions the server will allow, server-wide, for all clients. If this limit is reached, the server will take measures to potentially kick the most-offending client(s) that it detects.
  • Interoperability - Added 7 new RPC methods to make interoperability with scripting easier.
    • All the new methods live alongside the existing methods but they now accept addresses instead of script hashes, and all are prefixed with: blockchain.address.*
    • These work identically to their blockchain.scripthash.* counterparts, but can be given Bitcoin Cash addresses (rather than the esoteric script hash).
    • These methods increase interoperability of this server software with various clients that may or may not have a full bitcoin scripting lib to translate Bitcoin Addresses -> script hashes.
    • See the protocol documentation for a description of the methods in question.
  • Minor bug fix - The ban by client ID command wouldn't ban. (But ban by IP address worked). Fixed.
  • Internal code refactoring.

Due to the above improvements it is highly recommended that server admins upgrade to this version at their earliest convenience.


Pre-compiled binaries for Linux

I have provided two pre-built binaries for Linux:

  • Fulcrum-1.0.5b-x86_64-linux.tar.gz, which is compiled on an Ubuntu 18.10 system.
  • Fulcrum-1.0.5b-x86_64-linux-ub16.tar.gz, which is compiled on a stock Ubuntu 16.04 system but with g++ 7.3.0 installed from this ppa source: ppa:jonathonf/gcc-7.3 & ppa:jonathonf/gcc

Both of the above binaries contains Qt5Core and Qt5Network from Qt 5.14.1 statically linked. They still requires 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 binary fails, try the second one (-ub16), which should work on older systems, hopefully.

Pre-compiled binaries for Windows

  • Fulcrum-1.0.5b-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 5.14.1 and gcc 7.5.0.
    • Additionally, 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!

Fulcrum 1.0.4

18 Mar 00:07
dcbd99b
Compare
Choose a tag to compare

What's new:

  • Upgraded bundled rocksdb to version 6.6.4 release. This version of rocksdb contains some stability and performance improvements versus the previously bundled version, 6.5.x.
  • Updated code to compile without warnings against Qt 5.14.x. Qt 5.14.x has many performance improvements and it is the recommended Qt version for Fulcrum. The pre-built binaries linked below are now statically linked to Qt 5.14.1.
  • Added a bitcoind-bound-request-throttling facility. This is controlled via the new configuration parameter bitcoind_throttle which throttles clients that spam requests that hit bitciond. See the description of the parameter here, but the summary is: this facility improves the stability of Fulcrum by not allowing any 1 client to monopolize resources.
  • Added two new commands to FulcrumAdmin: bitcoind_throttle and maxbuffer. See ./FulcrumAdmin -h for a description of these commands.
  • Bugfixes and stability improvements.

Due to the above improvements it is highly recommended that server admins upgrade to this version at their earliest convenience.


Pre-compiled binaries for Linux

I have provided two pre-built binaries for Linux:

  • Fulcrum-1.0.4-x86_64-linux.tar.gz, which is compiled on an Ubuntu 18.10 system.
  • Fulcrum-1.0.4-x86_64-linux-ub16.tar.gz, which is compiled on a stock Ubuntu 16.04 system but with g++ 7.3.0 installed from this ppa source: ppa:jonathonf/gcc-7.3 & ppa:jonathonf/gcc

Both of the above binaries contains Qt5Core and Qt5Network from Qt 5.14.1 statically linked. They still requires 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 binary fails, try the second one (-ub16), which should work on older systems, hopefully.

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 and Windows coming soon -- Until then you can always build from source!

Fulcrum 1.0.3

06 Feb 11:50
e561b1f
Compare
Choose a tag to compare

What's new:

  • Fixed a bug where RPC listunspent would not always take the mempool into account correctly.
    • Oops! This slipped through the cracks because Electron Cash doesn't even use this method. The impact of this bug is minor since this method is only used in plugins like CashFusion, and even then only when blaming due to a bad Fusion (which is a rare event).
    • Special thanks to Harry Barber @hlb8122 for catching this!

Pre-compiled binaries for Linux

I have provided two pre-built binaries for Linux:

  • Fulcrum-1.0.3-x86_64-linux.tar.gz, which is compiled on an Ubuntu 18.10 system.
  • Fulcrum-1.0.3-x86_64-linux-ub16.tar.gz, which is compiled on a stock Ubuntu 16.04 system but with g++ 7.3.0 installed from this ppa source: ppa:jonathonf/gcc-7.3 & ppa:jonathonf/gcc

Both of the above binaries contains Qt5Core and Qt5Network statically linked. They still requires 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 binary fails, try the second one (-ub16), which should work on older systems, hopefully.

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 and Windows coming soon -- Until then you can always build from source!

Fulcrum 1.0.2

01 Feb 22:17
5943794
Compare
Choose a tag to compare

What's new:


Pre-compiled binaries for Linux

I have provided two pre-built binaries for Linux:

  • Fulcrum-1.0.2-x86_64-linux.tar.gz, which is compiled on an Ubuntu 18.10 system.
  • Fulcrum-1.0.2-x86_64-linux-ub16.tar.gz, which is compiled on a stock Ubuntu 16.04 system but with g++ 7.3.0 installed from this ppa source: ppa:jonathonf/gcc-7.3 & ppa:jonathonf/gcc

Both of the above binaries contains Qt5Core and Qt5Network statically linked. They still requires 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 binary fails, try the second one (-ub16), which should work on older systems, hopefully.

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 and Windows coming soon -- Until then you can always build from source!

Fulcrum 1.0.1

19 Jan 20:43
88ce10c
Compare
Choose a tag to compare

This is the first update of Fulcrum.


What's new:

  • Tor / .onion support. Now Fulcrum is feature-complete. It can peer with .onion peers and also announce itself as a hidden service if so-configured. You need a Tor proxy for the .onion peering to work. See the new config file options: tor_hostname, tor_tcp_port, tor_ssl_port, tor_banner, & tor_proxy.
  • Bugfix -- It was possible for disconnected clients to remain as "zombies" for a time after disconnection. This has been addressed.
  • Fulcrum now has a man page! Special thanks to @hegjon for creating it and adding it to the .rpm spec file.
  • Added better formatting to the FulcrumAdmin script for the various "elapsed time" columns. Now it no longer shows you raw time in seconds, but rather a human friendly time in minutes, hours, days, etc.
  • Changed the synch. progress display to show txs/sec rather than ins & outs/sec.
  • Various internal nits and refactorings, plus some typos fixed in some esoteric error & debug messages.

Pre-compiled binaries for Linux

I have provided two pre-built binaries for Linux:

  • Fulcrum-1.0.1-x86_64-linux.tar.gz, which is compiled on an Ubuntu 18.10 system.
  • Fulcrum-1.0.1-x86_64-linux-ub16.tar.gz, which is compiled on a stock Ubuntu 16.04 system but with g++ 7.3.0 installed from this ppa source: ppa:jonathonf/gcc-7.3 & ppa:jonathonf/gcc

Both of the above binaries contains Qt5Core and Qt5Network statically linked. They still requires 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 binary fails, try the second one (-ub16), which should work on older systems, hopefully.

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 and Windows coming soon -- Until then you can always build from source!

Fulcrum 1.0 -- First Official Release

16 Jan 15:01
3b2f5ba
Compare
Choose a tag to compare

This is the first release of Fulcrum. It has been tested for a few weeks now by myself and a couple of other server admins and we are confident it is at a point where it can be used in production.

It is 100% protocol-level compatible with existing Electron Cash clients and behaves identically to existing Electrum servers (ElectronX and ElectrumX) from a client's perspective. It is very fast and we hope administering Fulcrum will be a familiar experience for server admins.

Tell your friends!


Pre-compiled binaries for Linux

I have provided two pre-built binaries for Linux:

  • Fulcrum-1.0-x86_64-linux.tar.gz, which is compiled on an Ubuntu 18.10 system.
  • Fulcrum-1.0-x86_64-linux-ub16.tar.gz, which is compiled on a stock Ubuntu 16.04 system but with g++ 7.3.0 installed from this ppa source: ppa:jonathonf/gcc-7.3 & ppa:jonathonf/gcc

Both of the above binaries contains Qt5Core and Qt5Network statically linked. They still requires 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 binary fails, try the second one (-ub16), which should work on older systems, hopefully.

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 and Windows coming soon -- Until then you can always build from source!