Hi all,
Short update about what was done these past days.
We have come to the functional testing phase, this is the phase where we no longer only test individual components but are now testing with real blockchains. Before we could do this we had to write custom software that is able to not only generate a full blockchain of varying transactions (so several GB's) but also be able to later confirm that each individual byte in each of the 5 million transactions was written correctly.
Since during testing we cant hold all transaction input data in memory (too much data) and since using a separate file to store all input data would later slow down the test too much when we confirm all blockchain data.
What we ended up with was a predictable transaction generator that could serve an endless number of transactions and when all transactions where written to the chain we would reset the generator and now it again generates exactly all the same transactions. (do I have a cool job or what
)
These latest tests where all still running at around 20,000 transaction/second write throughput and around 500,000 transactions per second read.
(all still on my relatively slow machine and without using SSD)
Right now I am completing the unconfirmed transaction pool, which is important to be able to scale up or down as we need it.
---
There was one nerd-hallelujah moment, although these things seem to happen more and more.
The 5 million transaction test
PASSED ON FIRST RUN! Celebrated with a nice cold beer