Testnet time is here again! This thread explains how to join the first community testnet (joshnet) using our new architecture, what we are looking for, how you can help, and current limitations.
General progress
This week the team has been mostly engaged in tracking down node discovery anomalies. We don’t think these will be an issue with a full scale test net but they can make testing on a smaller scale tricky. Put simply, messages sent out by nodes are held in a buffer and it seems like without enough activity to push things along, we were not seeing that message. @qi_ma and @bochaco have been digging in there, and it looks like a solution has been found as we were misusing some of Rust’s async functionality there.
Regular async messages between nodes are essential to keep the routing table (RT) updated, but we want those messages to be valuable, e.g. checking balances, rather than only for updating the RT, which would be wasteful. This is something @anselme has been looking at this week.
As David has mentioned, with Kademlia some issues don’t scale linearly, meaning you can’t see the true picture until you have a few thousand nodes in the network. We don’t want to make any ugly kludges that might potentially hide underlying issues, particularly if it’s not something in our code. However the team is also combing through our codebase looking for any potential deadlocks and RWlocks, which, as we know from experience, can be a real pain.
New boy @aed900 is off to an excellent start in another area of discovery, reviewing the code around identities and mDNS - the broadcast DNS protocol. He’s also looking at setting up testnets on AWS, as is @ChrisO. As you may know, we are working with both Digital Ocean and AWS clouds and Chris is working on automating that process as well as getting tracing working properly. Currently logs and traces produced by nodes are not particularly usable, so that’s something that needs refinement and optimisation. @Joshuef is doing something similar for Digital Ocean.
Useful Links
Feel free to reply below with links to translations of this dev update and moderators will add them here:
Russian ; German ; Spanish ; French; Bulgarian
As an open source project, we’re always looking for feedback, comments and community contributions - so don’t be shy, join in and let’s create the Safe Network together!