Safe Network Dev Update - September 17, 2020

IMO, it would be great to state what is left to do and the progress towards it in the updates.

The detail is interesting, but many folk will just want to know how things are progressing.


I’ll chime in here too as another non-techy, I read the updates and understand extremely little, but there’s two things which help me, one is (when I’ve time and am feeling brave, it’s doable but requires a bit of ‘come on you can understand this a little at least’) looking up little youtube tutorials or just searching definitions and stuff. I encourage anyone in the same boat to do the same. It is possible for a non-computer-science person to get a rough picture, with a mild occasional effort.

The second is when the people on here who do understand either roughly or quite well ask questions under the update. I’m always excited for the thursday updates, and always even more excited for the thread, hoping that people who know what questions to ask ask the questions. Different maidsafe people get involved responding and explaining, and it’s often absolutely excellent stuff. So I would encourage those who almost understand to push for the finish line with questions, and any maidsafe team member who wants to jump in pleeease do!


I dont think anyone really knows the answer to that one

Probably true, but I think there’s a balance to be had. While not everybody understands the technical jargon, I think it has a place in the updates for people who are interested and as a show of faith in the commitment to openness on the part of MaidSafe. On the other hand, the part of the community which doesn’t concern themselves with the atomic updates should have something to grab on to as well.

In my opinion, week-to-week progress is very hard to see unless you’re in the nitty-gritty of the details, at which point many people lose the ability to follow (e.g. lots of technical things). Progress only becomes easy to see (and understand) at larger time scales. Maybe once a month or once a quarter, a high-level retrospective on all the progress made could address the need for more understandable updates among the more detailed/techy updates week-to-week?


On the other hand, the testnet releases usually give quite good overview for us non-techies, and I expect to have then becoming a regular thing soon. Then the talk will be about what one can do with the network, various apps, etc.


Agreed Toivo, the business and customer use-cases should be well-defined, communicated, and marketed heavily! Of course, all in good time…

As a non techie, it would be good to have a few dot points on what needs to be done for MVE with them being ticked off as the milestones are reached. Maybe this already exists somewhere?

1 Like

AFAIK we have all the features we need for testnet/Fleming in place. We are looking at making some containers more complaint and error free, but it’s all small tasks of varying lengths. So you will see some boring updates in the line from now till testnet at least. Wee techie bits and bobs, but all cleanup and testing.

So here’s a 10,000 foot view.

We had a codebase that was based on parsec and worse that that stuff like timers, poor error handling and severe lack of real world tests. We attacked that recently and put the design right again.

So we have that done now, the path is clear and most stuff exists as we would imagine it would in production. So great news.

What we do now for speed is end 2 end (e2e) tests. So imagine a car, you test the carb, the wheels, the engine etc. and you should. What e2e means for us is we are running up networks, so saying yip the car works, everything must be Ok. So good and bad.

There will be bugs, there always will. We probably have bugs in our carb that we are not noticing, they could have long term implications.

So this is where we are. We are getting the whole thing up and running, making small tweaks to data container types in the code to test them with known mathematical properties to see if they hold up to those properties and then we have proofs they are as the papers and research suggest they should be (i.e. not perfect, but have properties we can rely on being true).

At the same time we are also testing the smaller bits that are not well tested right now. The data types, crdt tests are vital there and we will use quickcheck and proptest to test for random failures, We don’t want to run networks with a seeded random number generator (yes we were doing this insane thing) but we do want effective property based testing and fuzz testing to ensure vast amounts of stress are put on the components we have written.

While this is all happening an e2e test will look “good enough” for community bashing it about and we will package that and say, here is a testnet, it’s all the Fleming properties, but we are rushing though Qa on this, can you help.

That’s how close we are, so no milestones as such (upgrades perhaps), but pulling all the pieces together and testing the whole thing but also increasing code quality and testing in each smaller component.

Hope that helps?


Thanks David. So apart from the testing of everything arevthe components in this roadmap still relevant. I found it after I posted my query. If they are, I will use it as my guide.


The unchecked items are in place and being tested/refined as part of this whole screed of work. So assume All Fleming features in test right now.


Thanks a lot for this overview, clarified a lot.

What do you mean with this:

Is there something a non-techie can do to help you? Qa is quality assurance, I presume? Can I idiot-proof something :wink: or maybe later?

Edit: I’ve been browsing Github lately, and I have not seen ticks for Idiot-proofing tests anywhere. Would be good feature to have. And now I’m imagining all the profile pictures of professional ‘proofing-idiots’. :slight_smile:


Now that I understand. Great news and many thanks


I’m not sure the are ways to help with testing yet and assume David is referring to trying things out when we get a new public test network.


Yes, basically use the network. This is where app devs save us. So create websites, browse sites, play with messaging apps and more. Running a node and farming and possibly seeing the action in vdash like Vdash preview for those playing with `safe vault run-baby-fleming -t` will all help us considerably. It will help app devs too as feedback can be started there.

Yes, sorry my assumption was we are talking about testnets/fleming.


Really great to hear this. That is exactly what I wanted to hear, personally.


Will there be Maxwell, Beta etc or just launch after testing?

1 Like

I think there will be a Maxwell, to get upgrades in place and tested and most likely tweak farming. Then Beta is a pure bug fix, but again will probably tweak farming, maybe. I hope these are short releases though as the Engineering part is limited.


Thank you for the heavy work team MaidSafe! I can’t wait to see what happens!

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


What about Safe Network App? This looks like a big task. Will you release Fleming without it, to let developers work on their apps earlier, or wait for full user experience?


They released a version of the Safe Network App back in January and think it’s further along than you think - They might have released more information, but this is all I could find so far.

1 Like