When a blackbox test fails add the logs from the nodes
into the output of the log itself so they are all in one
place.
Especially handy for CI or docker usage where getting files
is a lot harder than getting standard-out.
The command really only accepts IP addresses, but we use 'localhost' as
an exception to bind to loopback for ipv4 and ipv6 at the same time.
Also improve logging of errors and avoid failing to start the API
service if a bind address wasn't an IP.
Where we wrap the old RPC code we need to revert the byte-order from the
strings created there for the uint256.
This simplyfies the code by introducing a helper method.
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.
This is rather embarrasing, but I have to ask why fully synching the
testnet created precisely for this fork (to the same height as the
explorers) didn't fail. Did it not have any schnorr signatures? Otherwise
this bug would have shown. What good is a testnet then?
All client apps (=connecting to a server only) now gained the verbose
and quiet command line arguments to select a different level of
verbosity.
Servers don't need this as they use a config file.
This also makes the --debug option only for debug builds as the logging
system already doesn't compile in debug statements otherwise, it makes
little sense to try to print them.
Should a user point to a config file with the option `-conf` then
we will read the testnet/regtest options from that file.
This does not change the old behavior. To be clear;
Should a user pass -regtest on the commandline (and not -conf) then
we will only read the config file from the regtest subdir
(~/.config/flowee/regtest).
Now everyone auto-connects to localhost unless passed the
option --connect=
Also make indexer find the logs.conf from the same dir as the
commandline passed config file.
This makes running it as a service more useful.
The rule is that all sha256s are serialized like they are printed (so
zeros first for a blockID), this updates various places in the API did
reversed this order.
Nodes that follow a different chain (and thus send us headers that we
already invalidated) now get an immediate disconnect whereas before
we could keep them around for an hour.
Also upgrade the cashier app with logging, ctrl-c catching
and debug + version command line arguments.
Last, this checks the server version and exits if the Hub
version is too old.
The test assumed at least 2 cores, if you go below that (as the CI
dockers did) then we need to be aware of race-conditions when checking
on the status of the validation.
Remove txIndex option, its move to Flowee Indexer
Also remove the GUI option for setting the amount
of "script validator threads". :D
Remove DBCash command line option too, equally obsolete.