SAFE Network Dev Update - September 6, 2018


Here are some of the main things to highlight this week:

  • Dug, Pierre and Bart will be presenting a deep dive into PARSEC at the next Work on Blockchain event in London on Tuesday, September 11.
  • We are delighted to welcome Nikita (@nbaksalyar) who took the decision to relocate to Scotland all the way from Russia.
  • The Routing team have started working on the code for node add/remove in PARSEC. This is a critical path item in order for Milestone 3 to begin (in parallel with the remaining Milestone 2 work) and therefore deliver Alpha 3. It is a rather complex piece of code and the team are relieved to have it so well specified in design.


Today, we’ve finished production of a video which lets you use the generation of graphs to visualise consensus as it occurs using our PARSEC algorithm. We’re now tweaking it slightly to make a very minor change. This is in the process of being done and the video will be released tomorrow - we’ll update this post as soon as it’s live. The video provides more context for those wanting to poke around in the PARSEC code in a bit more depth - so please give it watch and feel free to share any suggestions or feedback on any other information that you feel might be useful.

@dugcampbell will be speaking at the ‘Mathematics for Industry: Blockchain and Cryptocurrencies’ conference at Manchester University, before joining @pierrechevalier83 and @bart in a deep dive of the PARSEC consensus mechanism at Kings College London next Tuesday (September 11).


We are delighted to welcome Nikita (@nbaksalyar) who took the decision to relocate to Scotland all the way from Russia. Nikita was here earlier in the year for DevCon and has said that it feels like he never left and is happy to be back. It’s wonderful to know that our devs want to come over to Scotland and having Nikita located in Ayr will enable even better collaboration with the rest of the team based at our HQ.

We are also recruiting for a number of roles at present: Rust Engineer (can be remote), Rust Engineer with Networking experience (can be remote), Software Test Engineer (based HQ), Dev Ops (based HQ) and a Marketing Strategist (based HQ).


We are moving the SafeAuthenticator mobile app to a new repository: safe-authenticator-mobile. A pull request is under review to move the code to this repo. Also, the safe_mobile repo has been renamed to safe-email-app-csharp and will contain an example email mobile app.

The documentation for safe_app_java is slowly taking shape. The in-code comments being added will generate the documentation using javadoc. In parallel, with the help of the Client Libs team, we are also investigating the Android/JNI issues to get the Android tasks back on the road.

Peruse v0.7.0 is almost ready to be shared with all of you, we’ve been working on minor fixes in our CI and automated tests for Peruse and it’s now ready for some more internal testing before being published. This version will also include the PoC features we’ve been working on recently, like the WebID switcher, and APIs needed to allow Patter and the WebID Manager app to work. This is the very first time we are trying to expose things which are still not finalised but that we’d like to share with everyone to get very early feedback. We saw that having the Peruse PoC and the Peruse mainstream release separate was causing some confusion and that’s why we are looking at other ways of being able to evolve the apps with stable features while at the same time being able to get the community engaged in the early stage of the development of new features. We believe that if we get this right we will get more feedback, more people testing our new features early on, as well as encouraging everyone to participate in the process and hopefully contribute also with code :slight_smile:

SAFE Client Libs

During this week we have been laying the groundwork for the integration of SAFE Crypto into SAFE Client Libs. While @povilasb takes care of having SAFE Crypto integrated into Crust and Routing, we are moving towards the integration into the SAFE Core and Self-Encryption libraries. This will not be a quick process because the Rust-Sodium and SAFE Crypto APIs do not translate 1-to-1, so in the process we might need to raise a few PRs for SAFE Crypto too.

While SAFE Crypto remains a priority, in parallel we have been working on improving the debuggability of Client Libs on mobile platforms, and on Android in particular. By default, the standard system error I/O stream (stderr) is muted on Android, so we needed to provide a new API to redirect errors to Logcat, which is an Android tool to get system logs. This also helps us to pinpoint and fix the bugs discovered by the Mobile team.

We also made some improvements to our minor crates, such as get_if_addrs. We reviewed and merged a small pull request improving the stability and safety of the library. We intend to do a wee bit more work there to get rid of unsafe Rust code where possible.


We’ve been continuing towards Milestone 2 of Parsec again this week. We’ve got all the refactoring done now, and the dot parser we mentioned last week has nearly landed too. Once we get that merged, we’ll be able to conveniently write functional tests which will help us maximise the efficiency of implementing planned features as well as build comprehensive coverage over time. While that’s ongoing, we’ll be adding the functionality which is more or less central to Milestone 2: namely supporting dynamic membership. In fact, we’ve just started on a couple of these tasks today!

We’ve also set up a framework (criterion) which will allow us to run benchmark tests. The point of these is to allow us to get a realistic idea of things like Transactions Per Second (TPS), but they’ll also be useful for checking that we don’t regress performance-wise as we make further changes to Parsec. This is still in the early stages - we don’t yet have a detailed plan of how we’ll achieve these, but it’ll be all the easier now that the framework is in place.

Things should progress a bit faster now in Routing, since not only did Bart restart after his holiday, but Adam has returned from paternity leave and has been drafted straight into the Routing team (from the frying pan into the fire?).

Finally, Pierre and Bart will be presenting a deep dive into PARSEC at the next Work on Blockchain event in London on Tuesday, September 11; following a snazzy introduction to the SAFE Network by Dug. This talk will be a longer format followed by an extensive Q&A. Join us if you feel like getting technical :wink:


This week we did some more changes in safe_crypto required to integrate it into Routing and eventually published new version. That allowed us to finish the safe_crypto integration. Also, we were very eager to integrate the Crust dev branch into Routing but unfortunately we faced some obstacles: Routing uses public signing keys to identify peers whereas Crust has no idea about them. That won’t be fixed immediately though as @povilasb is going on vacation for 2 weeks to fully recharge his motivational and creativity levels. So stay tuned and you’ll hear from us soon :slight_smile:


No one has shouted “First” yet?!


No cuz we know its dead now

More great work everyone—looking forward to the PARSEC video tomorrow, and congrats to @nbaksalyar on his new position!


Nice, anything that makes it easier to understand the dynamics behind SafeNet for non techy people will be of great addition to the community. Hopefully also encourage more people to engage themselves instead of simply waiting for maidteam to deliver. :slight_smile:


Sounds like PARSEC is taking form nicely! Keep up the great work and enjoy Scotland, @nbaksalyar! :slight_smile:


Thanks Maidsafe devs for all your hard work, you rock.

@povilasb have and good vacation super ant, well deserved.



Watch out! They really like beer in that country! :stuck_out_tongue:

But great update, as always. Really like to see the parsec video. This is a great video as well about parsec. Really takes time (at least for me) to really get it. So all videos are welcome.


Oh it’s going to be sweeeeet. Great update. Looking forward to the video! Welcome back @adam and to Scotland @nbaksalyar! Have a good vaca @povilasb! Amazing work coming out of @maidsafe as usual :smiley:


Great work Maidsafe.

I’m tempted to come to the Manchester or London event. Will look into how feasible it is. Sounds like the London one will have more Maidsafe talks.


I sometime daydream about the days when we would just go to nearby store and pay with Safecoin. At the current state of crypto it feels years away but these dev updates are like the shinning beacon of hope. Keep up the good work.


Did i read Alpha 3 somewhere…:heart_eyes::hugs:


I am already sold on Irn-Bru :smiley:

Thanks everyone for the kind words!


Damn, you guys really do a lot and I can really appreciate that :slight_smile:


Hi @dirvine @nicklambert @pierrechevalier83 I’m thinking of coming down to the meeting on Tuesday in London. It says it is for techies only. I am a software controls engineer (PLC’s, Robots, etc), so although I am a techy my knowledge of your field is very limited, but I want to learn, hence why I want to come. Do you think I’ll get something from coming or will it be too deep for me?

Edit: if anyone can help with this please do.


You will indeed be welcome and I imagine you will pick up a lot of useful insights and understand much much more fo the network. I would say please do go and ask questions, they are nice guys you know :wink:


Great to hear. Thank you. I’ll get everything booked in the morning. :slight_smile:


Just looking to register and it is asking for my LinkedIn and GitHub, which I do not have either of them. How shall I answer them?

1 Like

Maybe the event organisers can help you with that one @Sonder.


Hi Sonder,
I completely agree with David. You’re more than welcome to join. The talk will be technical, but by being a regular on the forum you’ll probably have more of a context than most attendees. Also it’s an occasion to meet and have a chat around a beer after the event :beer:

If the field that asks for LinkedIn or GitHub can’t be skipped, I would create an empty LinkedIn profile and if there is a field with “additional comments”, I would explain there that I’m not on the platform but am into tech and follow the SAFE Network.