MaidSafe Dev Update - February 1, 2018

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

  • We will use the additional amount of funds raised for the Safecoin Video CEP to work on two different videos - the first video on Safecoin as planned and a new one on the SAFE Consensus mechanism.
  • We’re launching a Community Member of the Month competition - more details can be found in this post.
  • The first version of the SAFE UX Guidelines document (for app developers) has been published here.
  • The front-end team is releasing a new version of safe-node-app (v0.7.0) as well as a new version of Peruse (the custom browser that will eventually replace the SAFE Beaker Browser). You can download the latest version of Peruse (v0.4.1) here.
  • The Routing team has outlined the JIRA tasks for the Milestone 1 implementation. The tasks are still work-in-progress and are being updated as they’re constantly continuing to improve the design.
  • The Crust team is in the process of bringing encryption to Crust. Some parts are already functioning but a few other things still need to be considered (bootstrap connections, LAN discovery messages, address echo service request/response encryption, etc).


Website Update

Work continues on the new MaidSafe website. We have received the first version of the sitemap and wireframes back from the website agency this week. We’re now pulling together our comments and sending these back to the agency by the end of this week as per the project plan.

CEP Summary

There was a significant donation to our Safecoin Video CEP as the deadline expired, taking the total raised to £9,422 across a combination of MAID, BTC, Bitcoin Cash and Ether. After some discussion, we’ve now agreed that the winner, HyperCube Studios, will use the additional funds in order to work on two different videos for us - the first video on Safecoin as planned and a new one on the SAFE Consensus mechanism.

We’d also like to thank the various members of the community who have spent their time by submitting translations for our most recent video.

Community Member of the Month

To celebrate our amazing community (and to have a bit of fun…), we’re launching a Community Member of the Month competition so that we can highlight people who have gone above and beyond the call of duty every month in supporting the Network and helping to grow our community. Each month we’ll be looking for nominations and the winner will receive a unique prize - more details can be found in this post.

Out and About

A few of the team (@povilasb and @marcin) will be out at FOSDEM 2018 in Brussels, Belgium this weekend where @nbaksalyar will be giving a talk on demystifying Rust parsing (Sunday 4th February). If you happen to be heading along, be sure to say hi!


Finally, The Guardian published a great article today on the battle to reclaim the internet from our giant technology overlords, following a visit to the HQ and interviews with @dirvine and @nicklambert. As you can see from the number of comments already on their site, this is a high-profile article on a top media site so please share, comment and join in the discussions online wherever you can!

@sarahpentland has also had another article published, this time on ‘The Block’ website, explaining how the SAFE Network can be used to tackle the looming problem of data ownership as we move towards an era of autonomous vehicles. Again, please favourite, like, retweet, upvote, comment, share, pin - or whatever it is that you’re happy to do. Every little bit helps!

SAFE Authenticator & API

@shankar and @shona have been working on putting together a design guideline document which will be useful for application developers. The first version of the document is published here.

A new version of the safe-node-app (v0.7.0) package has been published which incorporates some additional tests and support for retrieving partial content with webFetch by providing a range of bytes.

Peruse master has been updated with a few branches and feature sets we’ve been working on in the last weeks.

Peruse v0.4.1 is available here.

The new release features:

  • Save/Retrieve Peruse Browser state to/from the network.
  • Partial Content can now be handled via the HTTP Range header (in a limited fashion, there’s no support for multipart requests yet).
  • React 16, Electron, Webpack and React-ecosystem dependencies have been updated.
  • API Constants added to the DOM (window.safeApp.CONSTANTS).
  • Support for fetching specific byte ranges in the webFetch function.
  • Logout clears tab history, bookmark data, etc. (including open tabs).

See the changelog for more details.

There’s also been a lot of refactoring to the application flow to make it more testable (and subsequent test additions). Which puts us in a good place to start focussing more on other aspects of the browser in the coming weeks.

Due to some enhancements made to the DOM API in Peruse to make sure there is no mix in the return types of some functions, the snippet codes in the playground tool for these APIs were adjusted to remove a now unnecessary conversion from ArrayBuffer to Uint8Array. We also adapted its styling to be in line with the first version of the design guidelines document.

The scope of the tests for the C# API bindings have been expanded and the unit test cases are passing. The bindings are not updated in the master branch of safe_app_csharp yet. The authenticator and messaging applications are being updated to use the latest C# API bindings. We will be testing the applications with the latest bindings before we get the changes merged upstream. The scope of the applications is not being expanded in this iteration. The aim is to get the applications updated to the latest C# bindings so that we can test them on Android and iOS.

SAFE Client Libs

As mentioned last week, this section will be shorter from now on as most of the team has moved to work on Routing. This week, @marcin has been investigating two issues reported on Jira: 2446 and 2447, the latter of which has been confirmed to not be an issue on the back-end.

Routing & Crust

The ageing simulator is continuously being tweaked, especially the relocation algorithm, to figure out what will be the best rules to achieve a healthy network. Thanks to @mav again, a list of network health metrics is proposed, which brings in a more quantitative measurement to allow the network to carry out behaviour adjustment by itself.

We’ve outlined JIRA tasks for the Milestone 1 implementation (they’re marked with the dc-1 label). The tasks are still work-in-progress and are being updated as we’re constantly continuing to improve the design. So for the time being, consider these tasks a preview. We should finish fleshing them out pretty soon though.

Since we started porting Crust to Tokio we’ve been missing some functionality that is present in the master branch. One of such features is encryption. Crust will be a reliable and secure peer-to-peer communications library. We spent this whole week on bringing encryption to Crust which is happening little by little and some parts are already functioning. However, there are still things to be considered: bootstrap connections, LAN discovery messages, address echo service request/response encryption, etc. Also, it’s worth mentioning that we’re using the sexy libsodium crypto library with the combination of Curve25519, XSalsa20 and Poly1305 algorithms which is the default in both NaCl and libsodium for their high-speed high-security properties.




Thanks so much to all of the team! Keep up the good work!


Thanks for the update! Great!!


Nice update! Maybe I visit FOSDEM sunday afternoon, I’ll see (must be on time, or Rust room will be full probably).


The article in the Guardian is one of the strongest yet, imo.
Well constructed , made it a fascinating read.
And a great new resource to point people to.

And, as always … thanks to everyone developing the Safe Network.


Thanks for the fun update Maidsafe devs



oh - that is cool Oo i didn’t recognize this was the plan but it makes a lot of sense!

is always a joy to see some of the progress there in the dev forum :slight_smile:


I suspect it will make sense for a lot of apps in the future, especially multi device apps.


Great to hear! Is there any news on the Java bindings?


The Guardian article is exactly the kind of killer articles, interviews we need. Safe is cutting edge, and it can make a huge change to influence the future. Punk never died, it just morphed into thousands of different musical styles and niches. So too will the safe network grow. A lot of people signed up today to the forum, coming directly from that article! A few well-placed articles is enough to get the ball rolling. Great work once again team!


Great update. :slight_smile:


Can confirm, punk is alive and kicking :wink:


Hi Everyone - My first post here. Been invested in this project for sometime and like the vision etc. I have a question about the development. Based on this update, tasks are being added for milestone 1 for alpha 3. Does that mean the work for alpha 3 is yet to start or just not represented on JIRA (BTW the link above does not show any issues. Looks like nothing is labeled with dc-1 yet).

Thanks in advance!


No progress there yet. The priority now is to get the existing apps and bindings to latest state before picking up new bindings. We will pick it up as soon as the csharp apps are updated.


Tasks are currently getting spec’d into JIRA for milestone-1. Work for alpha-3 has been going on for ages, design being the main part of it, impl work as well in the data chains crate had already been going on. These milestones are for the impl into routing itself.

Looks like there was an issue in JIRA with the filter for tasks for anonymous access. It should hopefully work ok now though via same link from the original post


Very nice that Maidsafe (@povilasb, @marcin and @nbaksalyar) are there at FOSDEM 2018. It is a pitty that the only talk is in the developer rust room, or did I get that wrong? The other room “Decentralised Internet and Privacy devroom” could have had a bigger influence. One of the key notes is about “[The Next Generation Internet]”. What would your response be to those initiatives? I am planning to go to Fosdem. So far I have seen MaidSafe as the best initiative to really make a better and new internet. But how does the rest of the open source communities see this? What are the main reasons that SAFEnet is better than the other initiatives?


fyi, they had a more generic talk last year:


Thats awsome! I hope somehow we can bring initiatives together and eliminate the ones which are not resolving the complete picture. Is MaidSafe allready in contact with NGI (Next Generation Internet)?

Love the design guidelines. I can’t wait to be further ahead in my code learning journey and start making some cool stuff for the Safenet :slight_smile: