As the compile may or may not link to GMP, using projects
need to link to this too. Dynamic libs handle this, we ship
static libs and thus we need to handle this ourselves.
We reuse the NetworkManager lower level code in order to connect
to the Bitcoin P2P network.
This implements the basics for anyone wanting to be a player on
this network.
From now on, make sure that the minor always has at least 2 digits
which allows us to use string compare of versions even if we have
more than 9 releases in a year.
Move some files back to the server "library".
Merge the 'console' lib with server, as it doesn't really make sense with
just one file and nobody exclusively linking to it.
The server "libary" is not really a library, its the place we put all
the files shared by hub-qt hub-cli and hub.
We no longer depend on these files from other places (mostly due to
moving to the new logging framework) and as such we can move the files
back.
The very famous bitcore project presents an JSON based service which
presents blockchain data. This application aims to duplicate all the same
functionality but by using Flowee services instead.
On MacOS compilation requires linking in bundles from the Qt libs,
which on the testers computer didn't happen and as such I'll just
disable the GUI compile for now on MacOS so focus can be had on
already working stuff.
For service applications that bind to networks (currently
only indexer) this allows users to pass the address:
0.0.0.0
to bind to. The effect will be that we find all the network
interfaces in the system and bind to all of them.
Notice that we already had "localhost" as an alias to bind to both
v4 and v6 loopback interfaces.
This new feature depends on optional dependency QtNetwork.
Upgrade the code to check not just if the compiler supports, but
try the actual system too.
Also add a new cmake option 'reproductable_builds' which, when set
to true, will not include any optimized hashing algorithms.