Auteur: Eric Voskuil Datum: Aan: libbitcoin@lists.dyne.org Nieuwe Onderwerpen: Re: [Libbitcoin] v3 update Onderwerp: [Libbitcoin] v3 update
Just wanted to give a quick update on our v3 progress. I didn't make my
target date before heading off to Mongolia for a couple of weeks. After
getting back I started back up on validating the new network protocols
work. I resolved a couple of issues in the new implementation and it was
going great. At that point I decided to fully validate the mainnet and
testnet chains, as I like to do before a release.
As many of you know, the blockchain library is slated for a major rework
in v4, so we've been deferring optimizations in that code. For example,
we don't even parallelize script validation. But v3 has been looking so
good in other areas this started too look even worse by comparison. So
we decided to take a week or two to redesign the block and transaction
validation code, allowing us to get some significant optimizations
implemented. This is coming along nicely and I hope to have some
improvements to report soon.
Once we complete this work we will need to finish protocol validation.
The incoming block protocol is done, working perfectly. We've written
the other major protocols, including outgoing block and in/out
transaction, just need to verify them as well. The minor protocols have
been implemented and working well for some time. I don't spend a lot of
time documenting, because there has just been so far to go in just the
code. But believe me, it's getting really good.
For example the network redesign has allowed me to isolate protocols by
version and implement robust version negotiation based on config. So you
can specify protocol version min/max in config and the node will
perfectly implement that range. So it can simulate older and eventually
newer node behavior. It's also really easy to see protocol behavior
through source inspection, and will get even better before it ships.
Right now I'm thinking about 4 more weeks until we can complete the
blockchain work and get back to validating the remaining network
protocols. Sorry about the scope creep, I just couldn't help myself :).