Safe Network Dev Update - October 29, 2020


Here are some of the main things to highlight since the last dev update:

  • The Safe Network has been voted the Most Exciting dWeb Project award at the Noonies 2020. :tada: Many thanks to everyone who voted.
  • We’ve been adding our first proptests to sn_routing and sn_data_types, and are enthusiastic at the value they will offer the project.
  • Internal testnet progress continues, with the focus switching slightly towards improving performance.
  • More significant refactoring and solidifying in sn_routing, mainly surrounding the DKG process.

Safe Client, Nodes and qp2p

Safe Network Transfers Project Plan
Safe Client Project Plan
Safe Network Node Project Plan

Following on from last week, we’ve implemented a change to remove PublicId and ClientFullIds from the sn_data_types, instead just relying on Keypairs to identify clients and nodes. This change has been propagated through the various crates and is now in place.

With that done, we’ve also started to more thoroughly test our data types, beginning with setting up proptests for the sequence data types - see our PR here which is currently working through our peer review process.

On the testnet side of things, we are now seeing consistent results during network startup and section formation. We are now focussed on optimising and improving some things under the hood to boost performance during network deployment and churn. A couple of refactors are underway regarding DKG sessions during the network start-up phase which aim to boost the speed of the initial section spin-up. We are also bringing back exported tests that incorporate the client test suite into sn_node and help in continuous integration and testing.

This week we also completed the implementation of the --fresh and --clean flags that help us prevent the use of older qp2p configurations. The --fresh flag keeps the older configurations on disk without using them. The --clean flag clears all older configuration files on disk. Both flags use the default configuration or the new configuration passed via other command line arguments. This is now working its way through testing and review in sn_node and qp2p.

Meanwhile, work is ongoing at solidifying the transfers system, with regards to consistency, performance and anonymity. :hammer_and_wrench:


Project Plan

This week we got a bunch of refactoring work merged, mainly surrounding the DKG part of Routing. The Refactoring, more tests and fix DKG work removed the rng module, replacing with the rand::thread_rng instead, and refactored some other modules and helper functions to simplify the code. The Extract most of the DKG logic out of Approved and into DkgVoter work further simplified the lengthy, and expanded the DKG test suite to cover more scenarios.

We also decided to remove the routing specific log_ident, as we believed it could cause confusion when looking through the code, and it was inconsistent with other crates.

It is also worth mentioning that we introduced our first proptest into the Routing codebase. This demonstrates the usage of proptesting with an initial example. This paves the way for a more thorough test suite, helping to locate issues that unit testing just wouldn’t catch on its own. Website Updates

A quick note to let you know about a couple of updates to the website made this week.

Firstly, we added the UK based crypto brokerage firm BC Bitcoin as a new option for buying and selling MAID. You may notice the link to their site has appeared on the Safecoin page, as well as under a couple of our FAQs.

The second update PR, which was merged today, was an attempt to bring the site content a little more in line with the current status and direction of the project. This website (and others) have been neglected in recent times as we focus all our energy towards the Fleming goals, which we know you understand. We thought it was worthwhile taking just a little time out to make a few quick updates which had been suggested in the forum a few times recently. We realise that there are still several further updates required, indeed we think that much of the content could do with an overhaul, but we don’t want to be distracted too much right now so we’ll come back to that in the near future, when time permits. Some of the low hanging fruit that was picked off:

  • removing mentions of PARSEC,
  • removing outdated press kit images,
  • switching Twitter and Facebook social links to point to maintained accounts,
  • removing Medium blog links,
  • removing the newsletter signup option, and
  • various text updates to try to better reflect the project’s current status.

Useful Links

Feel free to reply below with links to translations of this dev update and moderators will add them here:

:bulgaria: 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!


First reply :slight_smile:


yay… Thursday!

Drinking beer and browsing and up pops a favourite read…


Well, that’s no surprise :smirk:

woh… where did that come from! Nice surprise! :+1:


we are getting close!! My respect to maidsafe devs!!



Thanks for the great work!


If you have consistent network testing results (so far) and working on improving tests & even adding performance. Whats the barrier stopping a public test net?


BC Bitcoin looks amazing… MAID to UK bank direct!


Exciting to hear the internal testing is progressing smoothly!

At least something went right in 2020 with the Noonies win too. :smile:

Spreading the news below:


So true… reasons to be cheerful centred on Safe Network atm.


It’s pretty low, there are a couple of fbugs right now in startup being addressed.


Thanks for another great update Maidsafe devs.

These read ups indeed make the thurdays special.

And well deserved the dweb award, hopefully it get people pouring in by the billions

Keep up the hardwork superants we’re almost there. :stuck_out_tongue:


Thanks so much to the entire Maidsafe team for all of your hard work! :racehorse:



Congratulations on your big win, these updates are getting more and more exciting, we are getting So close! Great work once again team!


It sounds like the new test net is close. I hope sticks around for a while, as we really need something for people to grab hold of, then witness the potential.


This all sounds so promising, I know the CRDT experts work will have to be added into the mix and tested thoroughly as well so a bit more time but what an exciting time.

Can’t wait to see the front end naming of network components that @JimCollinson is fleshing out. He never ceases to amaze. No pressure Jim :wink:

Where does hole punching in qp2p lie on the priority list? Saw that on the TODO on GitHub the other night and it got me wondering.

I’m looking forward to the day we get labels, and indexing, and front end fun on a healthy live network! Not to mention getting a simple CRUD version of JAMS up and running.

Great work @maidsafe
If anyone wants a progress bar just look to how short these updates have been getting since focusing on the engineering. They are getting shorter and shorter which means we’re getting closer and closer to that engineering end goal. :goal_net:


To me this seems like a final push for refactoring, since so many pieces being in place for a public test net, along with a few more functionality tweaks and minor additions. 2021 will be the year of the public test net, for real this time. (Wasn’t PARSEC part of the last public test net [I don’t remember]? I think the removal of PARSEC is the cause for the delay from the first most recent PTN?) Glad and surprised the website was updated with anything beyond even the most necessary adjustment of removing PARSEC.


Hold your horses. Dont book the Lambo yet. I’ve seen close before :grin::pray:


:laughing: :laughing: :laughing: yes … so true!

1 Like

Thank you for the heavy work team MaidSafe! We have the best dev team and the best community!

I add the translation into Bulgarian in the first post :dragon: