SAFE Network Dev Update - August 22, 2019

Vault Phase 1 (mock vault)

We’re delighted to announce we have the next piece of the puzzle toward Vault Phase 1 milestone ready for you :tada:

We actually debated whether to wait until all of the pieces of Phase 1 were done, but we’ve tested all the ‘happy path scenarios’ and we’re too excited to wait any longer - so we’re releasing the next piece for you today!

Head over to this standalone post where we explain all, as well as give you a sneaky little taster of what’s to come…! We hope you are as excited about this as we are!


The team have been out at the Web3 Summit in Berlin most of the week, sharing the story of SAFE. Amongst a sea of developers, investors and the simply curious, with speakers including Edward Snowden, Richard Stallman and David Chaum, we opened up their minds to SAFE’s vision and what’s possible beyond a blockchain. And there was that fantastic feeling of hearing someone say ‘cooool’ when we said ‘I work at MaidSafe’ :wink:. Here’s a couple of snaps, courtesy of @dugcampbell, including one of him on the panel, in which he spoke about decentralised storage solutions alongside Fluence and Arweave.

And a last-minute reminder that @jimcollinson is in Brighton this evening, so why not head down to the The New Unity Pub from 7pm. Grab a beer and get ready to learn about all things UX/UI.


Project plan

This week’s big news is of course the release of safe-cli and safe-authenticator-cli with real SAFE Client Libs :tada: click the links to each to view and download for your OS.

This was completed with the merge of this PR yesterday.

QA have been busy putting the safe-cli and safe-authenticator-cli through their paces after safe-cli was switched over to work with real SAFE Client Libs. We hope we’ve caught any obvious bugs, but we know that no software is bug free so if you come across anything that doesn’t behave as expected or you want to provide some feedback, good or bad, then please let us know in the dedicated release thread

This week our DevOps/QA team added self_update to the latest safe-authenticator-cli code. This uses the self_update crate to pull in new releases from our GitHub release page, if any are available, every time the user runs ./safe_auth --update , saving the need for you to download any new releases manually. This brings it in line with the safe-cli.

SAFE Network App (SNAPP)

Project plan

It’s been name-dropped before, and you’ve seen it appear in past Dev updates: the SAFE Network App. Its first iteration will be a simple helper app, enabling the download, installation and management of the various types of SAFE apps and utilities that are already out there, and that are coming down the pike.

The dev team have been working hard and this first phase is coming close to being ready for the QA to run some final regression testing, and run it through its paces.

And that’s just the beginning for this app. It’ll start life as a test bench for a suite of core applications, but it’ll ultimately become like a start button to the Network. Not essential, but a highly useful transient application that comes in and out of view when needed. It’ll encompass things like logging in, authentication, profile management, and of course account creation itself.

So that’s where we now find ourselves, designing the flow and methods through which users will onboard to the network for the first time, in a permissionless way, no servers involved.

Perhaps you start a Vault behind scenes, or maybe you get an invite from a friend who is already on the Network. But it all needs to be understandable, smooth, and work across a variety of devices too.

We’ve also assembled a wider reach team to tackle the SAFE Network application, and we’re designing and building across both mobile and desktop platforms from the start. This is another area where regular user experience testing is a must; so stay tuned!

SAFE Mobile Browser

Project plan

This week we finally merged the dark-mode PR :smile: to the master branch. This will provide the option to the user to enable/disable the application-wide dark theme on both Android and iOS devices.

Last week @Zoki reported an issue in Android browser app where users weren’t able to fetch some websites from the SAFE Network because the app was converting the numeric public names into IP addresses. We found the root cause and resolved the issue. The fix will be available in the next release.

Last but not least, we added a new feature in the mobile browser for iOS users which will enable them to navigate back and forward between pages using navigation gestures.

SAFE Client Libs

Project plan

We have made some really good progress with the quic-p2p integration testing with the real Vault this week and we’re excited to see that there are no more failing tests and known issues. During the next week, we’ll be polishing the code and making sure everything works smoothly for the next release of the SAFE Client Libs.

This week, @marcin’s main focus has been fixing bugs and reviewing PRs. He raised a PRchanging the CreateCoinBalanceFor request to return a Transaction response in the Mock Vault. He also worked on a minor refactor of the Client trait, reducing some unnecessary duplicate code and making the Client::full_id() method return a SafeKey instead of the Routing::FullId type, reducing our dependency on Routing. Finally, he raised a PR making small improvements to the documentation here and there.

In conjunction with work on SAFE Client Libs, we have been making changes to the safe-nd crate, such as fixing permissions validation for AppendOnlyData and refactoring the error_response function so that it correctly returns a Transaction error response type for the CreateLoginPacketFor request. We published a new version of safe-nd with the changes, so that it now stands at version 0.3.1 .

Secure Message Delivery

Project plan

Continuing with last week’s work, we mostly merged PRs focusing on additions to the functionalities of the end-to-end Secure Message Delivery solution. The main work includes cleanups to avoid adding the identities of the elders sending the message to every message. This was a lot of overhead, instead we now only send this information once to the section that needs it. Every message contains the much lighter single (emulated for now) BLS Key and signature. Another work is to sign and check single-source messages with ED key, which is for the validation of messages from a single node.

We also identified the reason for the recent test failure discovered when running with real Parsec instances. It is due to the tie-breaking algorithm used in Parsec. We created a test in parsec which can now expose the issue earlier and are currently testing a fix.

Useful Links


second .20 characters

lol … i saw bridge typing and thought i had lost.

Its a nice update to be first on though :slight_smile:


Second ! First time :slight_smile:


Need to edit for first place now :wink:


Congrats on the mock vault release and getting the word out there! So much exciting development. I’ll be tinkering with a mock vault tonight!


good progress with the vaults. I wish the routing pieces could move faster, as there is still so much to do (SMD and node aging). When will this become the priority?


Ditto, we all do, especially those working on them.

Welcome to project planning, when they are in the critical path to next launch is the answer. this is iterative launch and the plan dictates the process and its agreed and published. You can focus on a part not in the critical path and worry away about that or look at how it all comes together, managed, focussed and deliberate.


cool thanks for insight


Great work team! It sounds like vaults from home are almost in touching distance, with the other related pieces already in place. Exciting stuff and thanks to everyone in the team for pushing so hard!

Good to hear some more minds were opened up to SAFENetwork at the Web3 summit too. I am sure they will thank you for it in due course!


Now we’re cooking. :slight_smile:
We are on the radar.


Maybe not “essential”, but definitely “highly useful”.
Up the SNAPP!


Ludicrous SPEED! – At this rate, the MaidSafe team will be done before they started!


Good work. Getting close now.


These updates get better and better - still after several weeks! It will be a challenge to keep this up much longer. Hats off to the team. :+1:

Anyone from Gloucestershire, see the following post (although we had two people from Shropshire last night):

[Thanks @JPL]


Loving these awesome updates! Hopefully the Web3 Foundation recorded Dug’s talk so we can watch!


Congratulations on the completion of Vault Phase 1. Onward and upward.


Great work! Thanks for the update!


Slowly but surely the jigsaw is clicking into place. I shouldn’t really say slowly as the ants have been killing it. They must have matchsticks holding their eyelids open.
Appreciate if Dug Campbell could expand on how his talk in Berlin went down.


Good stuff, we may see Fleming it seems likely before the fabled “altcoin season” comes around at the pace MaidSafe is grinding right now. That will be good for confidence in the project for sure and enable folks to really get hands on and test basic capabilities of the SAFE Network at a time when non-bitcoin projects get some shine.

Then once network is done completely the evolution from
shitcoin(plain proxy ico token) -> altcoin -> THE COIN(#SafeCoin) will be complete.

Like a beautiful butterfly being born from a hard working caterpillar :joy:.

Also like seeing the bad man himself Pierre C. here liking this post and still participating in the forum, sup dude :wave::smile:.


@Cryptoskeptic @feinberg just to be clear, it wasn’t a talk on SAFE as such at Web3 (so don’t expect fancy slides or a strong clear narrative structure :wink: ), it was a panel discussing a few aspects of decentralised storage solutions with guys from Arweave and Fluence. As far as I know, it was recorded but not streamed live and will appear in due course. So, pretty informal in that sense - but led to many good conversations afterwards so definitely worth taking part. Overall, the conference has a heavy weighting towards those within the Ethereum/Web3 community so it’s always good to remind/let people know about the sleeping giant that’s about to burst out the cave… :laughing: