where the UTXO allows you to find an output based on txid+output, the
spentoutput DB turns that around and allows you to find an input that
spends a certain output.
This also fits perfectly find into the UTXO database class, so this
creates a new dir "spent" which is filled as expected.
This C++ library is a small framework which creates a full
http(s) server.
This is imported code from the qhttpengine open source project.
I modified some core components in order to make this framework
multi-threading and changed some APIs for cleanlyness. As such
it is not source compatible and getting it accepted upstream is
not realistic.
This adds all the header ints to chunked messages, solving the problem
of losing RequestId on roundtrips if the answer was too big.
Added a unit test for this "new" features.
This makes callbacks all use shared_from_this() in order to avoid
callbacks being done on deleted instances (thanks boost!).
Last, special case when the user doesn't connect but just sends messages
which caused a send of data, only to realize the connection wasn't open,
and then a connect.
This makes sure we immediately start a connect on queue of a message.
When a user sends a signal SIGHUP, we parse the configs again
traditionally on Unix.
We already use this for log-configs.
This signal allows apps to get notification and reload their
own configs.
The "UAHF" one used to be "more equal", mostly just because it happened
to be the first.
This makes them all equally equal.
Specifically this removes the special casing and the enum for the 201708
HF (aka BCH fork-point).
We select the right branch now purely based on the historical check-
points.
The "Greater than 6 blocks" can be off when we are doing IBD where
headers and chain are not pointing to the same block. Make sure this
works for such an occasion as well.
before disconnecting.
As this only applies to IBD, we can take into account that we have a
higher number of connections typically and this helps stability.
A disconnect would cause the socket to close which caused a
callback which triggered a timer to reconnect after half a minute...
This makes sure that after we manually disconnect we honor that.
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.