Two tremendous top-ups to the team to tell you about this Thursday. First, we are massively pleased that @shu has agreed to join us to help out with monitoring, observability and visualisation of operations. Most of you will know @shu as the dashboards-whizz who with every testnet comes up with some new and powerful graphical way of visualising network stats. Now he’s going to be doing just that with our internal tests, showing us exactly what’s happening where, which in a decentralised system is no simple task.
Secondly, we’re delighted to welcome Nic, who joins as product manager. This is an essential role as we move out of the R&D phase into delivery, and Nic is going to be crucial in honing all our codey dabblings and helping us mould them into a solid product. It’s great to have him on board.
On beta news, we are close to having the initial reward flows in place now, i.e. being able to track how much each beta tester is earning through their activities, so they can be awarded accordingly.
On testnets, it seems that randomising the relay nodes that allow nodes behind a NAT to join has worked, as there have been fewer errors this time. We are also introducing UPnP as a default in this regard. Nodes from home are not quite there yet. Some of you have noticed continued errors and nodes failing to earn. This is because communication with nodes behind a NAT is still less reliable. UPnP should be an improvement there.
Speaking of improvements, the new release of the TUI code is out and is another step on the way to allowing those unaccustomed to CLIs to join beta testing, and to generally demystify the whole process. Also we’re dealing with the issue that’s seeing some uploads stalling with MaxRepaymentsError
. This is a result of both initial payment and follow-up payment being made to unreachable nodes. It will diminish as hole punching improves, but for now we are playing with increasing the parallelisation, so the whole upload does not stop waiting for one chunk, and bumping up the number of allowed attempts.
Don’t forget to look at docs.autonomi.com, our new home for all documentation including the primer, FAQs, guides and more.
Thanks as ever to all you lovely testers, special mention to @stout77 for his PR identifying potential wallet corruption . We’ll be looking into this shortly.
Anyway, over to you Nic…
Hi, I’m Nic, a product manager from New Zealand. I have come from fintech companies where I got to play with some Web 3.0 ideas. Now I have joined Autonomi to really dig my teeth into Web 3.0, and to get products launched and out into the community.
General progress
@shu has hit the ground running, getting all the code base for monitoring to run under proper services (i.e. making sure each service InfluxDB, Telegraf and Grafana is running under its own user profile). He added a new panel to the dashboard to indicate network size over time.
Last week’s new boy, this week’s old hand, @mazzi has been doing a lot of background reading to familiarise himself with the code base. He’s already made a good start on documenting the architecture.
@qi_ma has been mostly working on the beta testing flow, including collecting the payment statistics, so we know who has earned what. Together with @roland, he’s also been looking at the reasons payments to home nodes are commonly failing with the MaxRepaymentsError. This error is triggered if the client has already made more than “n” payments for a single address. Currently, clients can make multiple payments to a single address. If one fails, they try paying another node in the same close group. However, payments are currently limited to two attempts and if the two attempts are to home nodes behind a NAT, there is a chance that both will fail. When this happens, the entire upload will stall and needs to be restarted, which is not ideal, obvs.
As well as the above, @roland has also been looking at the binary signing process for Windows and Mac. We need to register our code with Apple and Microsoft (and pay them, of course) for their OSs not to block us. Plus @roland has been working on the TUI, at adding support for multiple HDDs and at the auditing process.
Over in Dagland, @anselme has started testing our initial implementation of the DAG, in preparation for auditing for beta rewards. An app will read Discord usernames from a file and identify and log transactions found in the DAG that are destined for each username. This is obviously a very important part of the beta flow.
@joshuef has also been working through the flows for beta testing, in collaboration with the rest of the team. In addition, he’s been digging into testnet connection errors, to see where they are arising. If we’re seeing a lot of people reporting healthy nodes being flagged, we may need to be more tolerant in bad node detection. This is an ongoing balancing act. Plus, Josh has been exposing metrics so that Shu can get to work.
@jimcollinson has been fielding typo queries for the new autonomi.docs GitBook and updating it. For clarity, there will be just one version of these docs, which incorporates the primer and many other things, because keeping multiple docs synchronised and updated is a nightmare. Plus, he’s been head down in beta planning.
In response to some community observations, @chriso added a new --upnp flag argument to the add command of node_manager
, as well as tidying up some buggy behaviour.
Finally, @bzee has worked up a NAT detection binary and is building the test infrastructure for it and figuring out how best to run it. The binary will help a machine figure out its NAT status.