SAFE Network Dev Update - October 11, 2018


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

  • @povilasb arrived in the office today and will be spending a couple of weeks working closely with Spandan and Nikita on Crust.
  • The Crust test will be open to the community next week.
  • Progress on PARSEC milestone 2 is continuing with the malice handling tasks.
  • The SAFE Client Libs team is working on detecting mock authentication requests so that the Authenticator returns an error if an app built for the mock version of the network sends a request.
  • The MaidSafe fork of Peruse will now be known as SAFE Browser.


This week we’ve been focused on working through the communications around two areas - the road to Alpha 3 and the upcoming release of the Crust Test. That has involved writing content for various Medium blog posts and creating Crust reference material for the DevHub website. In addition, we’ve also been working on the help documentation so that those who want to get involved with the Crust test have the smoothest possible experience.

The Crust test will be going public next week and once again we would really appreciate your help in running the Crust binaries we put out to help us understand how successful our networking library is at connecting peers. Along with the test, we will also be including a dashboard that will display the connection attempts and provide our engineers with real-world experience that will be extremely useful moving forward. As mentioned previously this will be the first of several releases we have planned so it looks like being an exciting time with plenty of new SAFE toys to play with.


Yet again, all those involved in recruitment are being kept busy this week.

Marketing Strategist - @dugcampbell and @victoria have now completed all of the 2nd stage interviews for this role and they have now shortlisted the candidates for the final interview.

Executive Assistant - @Victoria has created a shortlist of potentially suitable candidates for this role from the applications received. She has started to conduct initial telephone interviews and is looking to conduct 2nd stage interviews this week.

Rust Engineer - as mentioned last week, we offered a candidate the role of Rust Engineer with the Routing Team and we can now confirm that he will commence employment with us on November 1 :tada:

Network Engineer - the team here and in Chennai are continuing to look for this elusive engineer and we will update you on this when there has been some progress.

Assistant Manager - we have started to receive some CVs for this role and on Friday @krishna, @nadia and @victoria will conduct the first couple of interviews for the role.

Software Test Engineer - unfortunately, we are not any further forward with this role than we were last week. This role has been more challenging than initially anticipated. Finding Test Engineers who have experience with writing automated test scripts and who are willing to travel outside the cities for work has been difficult, but we’ll persevere until we find the best candidate.

In other news, @povilasb arrived in the office today and will be spending a couple of weeks working with the team here at HQ. Welcome back Povilas :flag-scotland:

@victoria is away next week for a holiday in the :sunny: but fear not another member of the team will pick up the recruitment update in her absence.

User Experience

This week @Shankar joined back the team after his wedding celebration. The Crust Testnet analytics dashboard is close to completion, and @JimCollinson is working closely with the Front-end and Crust teams in updating/enhancing its UX.


The MaidSafe fork of Peruse will now be known as SAFE Browser. Several enhancements have been made to stabilise the browser and to give a user experience that may be expected from other browsers. Even for the smallest of enhancements, much of our time is spent on developing a comprehensive test suite in order to assist in the process of stabilising SAFE Browser and to prevent potentially breaking changes in the future.

This last week has seen the addition of some much-needed end-to-end test suites, checking the ability to create accounts and save/receive data from the network. As well as adding in checks that this data cannot be accessed by another account.

We have completed the getting started guides for developing Java apps for SAFE and they are under review. We are now looking into improving our packaging and release process to help developers quickly get the safe_app library included in their development environment.

@happybeing has voiced his concerns about our engagement with the SOLID community in this post. Mark has made a really good point here and we will be stepping up our engagement with the SOLID team in the coming weeks. Both technologies complement each other extremely well and we are therefore really keen to maintain our collaboration as we believe it benefits both projects. This issue highlights our need to have better systems in place to ensure we are engaging sufficiently with third party developers, many thanks for the kick up the bum, Mark!

SAFE Client Libs

This week @marcin has been finishing up the move to case insensitive encodings for authorisation URIs, which involved writing some tests after @nbaksalyar did the initial implementation. This will be a breaking change, as the new version of the authenticator will be able to decode requests from old apps but it won’t encode responses using the old encoding. We also worked on detecting mock authentication requests so that the Authenticator returns an error if an app built for the mock version of the network sends a request.


The Routing team is continuing to implement the detection of various kinds of malice and writing functional tests for these scenarios. We’ve made good progress through the initial tranche of tasks, with several having been completed, and work ongoing for handling and testing more complex cases such as forks and invalid accusations of malice.

One of the larger parts that got completed this week is keeping track of peer lists of the other peers in the section. This will enable us to reliably judge whether all peers only accept events from valid senders and is an important piece in the whole malice detection picture.

It’s a strange phenomenon that much of the production code we’re writing here is designed to deter malicious users from ever calling it. For example, the fact that we detect and kick out a node which gossips a forked event means a hacker will see that it is futile to write an attack which creates such a fork, hence our fork-handling code should probably never be executed.


We’re continuing to work on bug fixes and tests for the NAT traversal. We have built a special version of the test binary to use the original P2P crate and we are comparing it against the newer P2P implementation. We have found some bugs in the bootstrapping process: as we’ll be using the same approach we used for Alpha 2 (i.e. registering on the invite server with your forum account to participate in the test), it requires to have a list of allowed IPs. Currently, the bootstrapper doesn’t work as expected though, and we’re trying to investigate the cause of it.


got it… weeeeeeee :grin:


I am very excited! Very good work team @maidsafe!


What an update! Great news on the community tests! It will be really great to start running something again!


Nice! Catch some fresh “Ayr” up there! :smile:

Nice^2 Looking forward to! :slight_smile:

Following this closly. The guys are rushing through this like bersercs! Keep up the good work!


The fork? Will Peruse continue in conjunction with “SAFE Browser”?


Well done, willing to see real progress.


Have a good vaca @victoria don’t forget the sun screen! Excellent work across the board @maidsafe. PARSEC is really coming along and excited for next week!


Peruse will be stripped back down* to be a simple extensible react/electron browser in my repo, yep (where some safe dev was happening prior to getting the merge to the safe_browser repo sorted).

Should anyone want to use it for something else or build more dweb (or non dweb… if that’s your bag) extensions, it’s open/available for them.

  • at some juncture in the future when I get a mo :stuck_out_tongue:

Is the purpose to have a more stable base for Safe Browser? Or something else?


So I actually started work on Peruse somewhere between finishing the CEP for the original SafeBrowser and starting work for maidsafe. It was my attempt to build a browser from scratch and keep it open / extensible (something that was dropped from beaker later on).

So it’s simply to maintain that original goal.

And yeh, hopefully it might attract someone to build atop/extend it (more than the heavily SAFE-ified version that is the SAFE Browser now), which could lead to improving Peruse which we’d be able to benefit from in the SAFE Browser, yep.


Could do with a little

There is just so much going on to be fair, terrible problem having so few hours in a day.

Great update yet again!


This is getting juicy! What comes after PARSEC malice handling again?


Awesome :slight_smile: this should create some news in the crypto community.


Super update Maidsafe devs.

Crust test, Crust test, Crust test :partying_face:

:x: files:

Strangely enough this morning I saw an “calculator” on my mischief phone that has been installing silly software games on itself independently for a while. The funny thing is it never installed a calc before, so what a calculated move :rofl:

But maybe if a bored hacker did this -wow amazing that you can do that- can you please also hack on this code?


Maidsafe devs really deliver. Super exited for the Crust test…


Some new is good…and hopefully some upward movement for price too :slight_smile:


Exciting to see new people joining the Team!
Excellent choice to name the fork simply Safe browser!
And what about the Crust test… Well, can’t wait to see the results!
Great job @maidsafe keep up the good work!


Well, we’ve still a bit to go on the malice-handling, but the next big things are integrating it into Routing (so actually using Parsec, which will be nice! :smiley: ) along with looking into its performance and possible optimisations.


This is it, isn’t it? Make big efforts to keep the bad folks out. Keep up the good work :+1:


Thanks @Nigel with my Scottish pale skin I will be coating myself in the highest sun cream factor I can buy :laughing: