Make things more foolproof by having similar items in different namespaces
use the same number.
Remove APIs for the wallet as that is not a shipped component of the Hub
when we get a hash from the JSON wrapped RPC interface it is a string
and it is in reverse order.
This makes sure that the generate() will create the same
hash as other parts of the API.
Checking if my database file is full can not be assumed to only happen
on end-of-block if blocks get really large.
I'm taking a small performance hit to check this on insert and
flushSomeNodesToDisk on a more regular basis.
for internal purposes the network manager used std::list instances
for things that essentially were FIFO queues.
With high volume of packages being sent this causes a large overhead
and even a crash or two.
So I replaced them with ringbuffers which means that the normal
sending
of data will remove a large selection of mem allocations.
The txVulcano wallet is currently really not fast,
so this code made the first mistake of network programming;
a big task was handled blocking the network handling.
The workerthread eventqueue is now used for this.
As we don't intent to have a perfect wallet on this side, the
transactions failing to validate on the Node is a direct effect and
expected and Ok. As such the client is now more tolerant.
This is a partial app which has as goal to generate transactions
and fill up blocks. A needed tool to test bigger blocks.
Secondairy goal is to test the Hub APIs in actual production
setting.
In applications we typically set a debug section
that is the default for that application so devs
can just call logInfo() without any arguments and
get the debug section for his app.
This now works with MessageParser::debugMessage() as well.
Add a filter option to allow clients to send addresses
and match outputs against those bitcoin addresses so
only transactions that spend those outputs match will
be incuded in the result.
Add a session state so clients can send a filter
and just reuse that filter in subsequent calls.
Demote the old RPC one to Legacy.
The old is still useful as it allows the 'verbose' version, but it uses
lots of deprecated tech and thus doesn't scale.