Yesterday we launched our latest testnet to analyse the effect of encryption on node memory performance. This builds on the previous QuicNet, which saw a move from TCP to QUIC, and drew a rapturous response: “Blazing fast” enthused @DavidMc0, “As fast as duck” observed @aatonnomicc, and “very QUIC” quipped @DeusNexus.
QUIC is evidently the future. Nevertheless, this being cutting-edge engineering, for every step forward the law says there has to be half a step back, in this case odd memory spikes that were spotted in some nodes, which is what we’re checking out now. Hold off those one-star reviews, please! (Indeed it seems like NoEncryptionNet
has proved out the theory that it was indeed the node-side data encryption that was causing issues; so we’ll be exploring alternative paths there).
Elsewhere, we’ve been working on creating a rudimentary filesystem based on the new architecture, and we continue to make client-side data handling improvements.
We’re also focusing on DAG nodes that store the history of transactions on the network. What should they do and when should they be introduced?
Behind the scenes we’ve moved to node_manager
for local development and deprecated the old sn_testnet
crate.
In PR corner, many thanks to @mav for his PR introducing changes to the faucet. At startup the faucet now creates distributions of tokens using a snapshot of Maid addresses + balances + public keys.
And high-five to @happybeing for his register upgrade to enable multiple users to chat in a simple app.
The community continues to step up in areas where we lack coverage or time to make changes. This is exactly how open source is meant to work. A massive thanks to all of you for your continued help and support.
General progress
@bochaco made good progress on the folder download command for the CLI (yes, folders are back!), getting a working version in place. He’s also working on consolidating register payments into single transactions.
@roland has focused on improving testing in our internal continuous integration, to enhance automated testing and live testnet deployments. He also worked on optimising the register payment flows and associated test cases.
Also on testnet deployments, @chriso fixed an issue in the node_manager
reported by community members, and he reduced the startup time for local networks.
Also in this general area, @bzee looked at node_manager
running testnets with QUIC to study Identify
and AutoNAT behaviours and see how we should approach those with QUIC. AutoNAT, while not a show-stopper, remains an area where we’d like to see more progress in libp2p
.
@anselme continued to push ahead with DAGs for auditing transactions and preventing double-spend. This week, he implemented functionality to detect orphaned and inconsistent transactions in the DAG, for offline auditing purposes. He also worked on identifying invalid spends and submitted a PR #1259 to those ends.
@jason_paul created new test documentation and reviewed suggestions on the CLI codebase. He’s starting to dive into implementing new client features as well.
@joshuef explored options to avoid chunk encryption in-memory on nodes as a potential performance optimisation.
Picking up on community feedback and our own monitoring of the last testnet @qi_ma has been looking at how key stability and performance metrics including node memory usage, payment handling and upload errors are related.
Also, thanks to community input, the team had been considering data persistence probabilities and tradeoffs related to reduced chunk sizing.