SAFE Network Dev Update - August 23, 2018


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

  • Roadmap planning discussions have continued across the teams this week.
  • The RFC process is being streamlined and kickstarted by @dgeddes.
  • The SAFE Network: London meetup is taking place next week.
  • The front-end team published an initial proposal on the Dev Forum for supporting the use cases around file sharing with URLs, i.e. sharing files without the need of publishing them under a public name.
  • The PARSEC milestone 2 implementation is now ongoing. We merged @bart’s pull request that uses the proptest framework for PARSEC’s integration tests.


Planning has continued this week around the roadmap, releases and messaging. And, as you might imagine, digging deeper has led to us building out a number of different strands of possible activity across each of the areas. This is part of the reason behind the newly-announced search for resources in the form of a Marketing Strategist at HQ.

We’ve also been creating a video this week in which we run viewers through a graph visualisation that will illustrate the PARSEC consensus mechanism. The video should be released over the next couple of days and this visual approach is part of the broader push to raise the profile of certain SAFE Network components (PARSEC, Crust, etc.) so that others outside the project can benefit from the hard work we’ve put in over the years.

With all that has been going on recently, we’ve also identified that the use of the RFC process has tailed off in recent months. As a reminder, the RFC (Request For Comments) process is intended to provide a consistent way for managing how new feature requests are submitted, considered and, if agreed, implemented across the project. @dgeddes has picked up the work in this area over the past few days and we’ll be sharing further details with you on this very shortly.

Last call for any late signups for the SAFE Network: London meetup next Wednesday (29th August) when @dugcampbell and @pierrechevalier83 will be giving an introduction to the SAFE Network and diving into PARSEC in a little more depth. If you’re planning to come along, please confirm by next Tuesday at the latest so that we can let the venue have final numbers (and of course bring the right amount of swag!).


As the safe_app_java library slowly takes its form, we’re demonstrating cross-platform compatibility with the sample desktop application. We also have started scoping out tasks for the API documentation and getting started guides to help developers kickstart app development.

We developed a Xamarin.Forms mobile app demonstrating the authentication process flow and various Mutable Data operations on the mock and test networks using the MaidSafe.SafeApp NuGet package. A pull request is under review to add this app in the safe-getting-started-dotnet repo.

We continue our research in relation to how to expose APIs which can help app developers to store the data generated by apps in RDF format. We started triggering some discussions with the Solid community as we believe they can help us understand many of these concepts based on their experience with it. This will be an ongoing effort for the next few weeks, and we plan to share some more details of the APIs design once we feel comfortable with the approach, to gather feedback and ideas from everyone in the community.

During the last few months we were also trying to come up with a proposal for supporting the use cases around file sharing with URLs, i.e. sharing files without the need of publishing them under a public name, and we finally were able to start digging into it in more detail during the last few days. We are now working on some PoC code based on an initial proposal that we just published on the Dev Forum, and we expect to get feedback and ideas from as many of you as possible, probably based on the type of applications some of you are already planning to develop. In the next few days, we will be formalising this proposal in the form of an RFC, which we will be sharing, along with the functional PoC. We believe that sharing a PoC will help us all understand much better what’s possible and achievable with this proposal, as well as hopefully unveil what use cases we may want to also support that we are currently not.

SAFE Client Libs

This week the Client Libs team, with help from @pierrechevalier83 and @jonhaggblad, has been working on updating our code to use the latest stable Rust compiler version 1.28 that was released recently. This is an important step for every project in the company because it should bring the ability to use proptest, the testing framework which depends on the latest compiler features. It is currently being evaluated by the Routing team, starting with the first successful integration into the PARSEC test suite. We intend to eventually bring it into SAFE Client Libs and some of our other projects too: it should make our libraries even more robust and stable.

We have split our ffi_utils crate into its own repo. As several of our crates outside of SAFE Client Libs now provide a foreign language interface (FFI), we didn’t see any need for ffi_utils to remain part of SAFE Client Libs, especially since changes to ffi_utils were requiring us to wait upwards of two hours for Continuous Integration. In addition to this, we are considering updating the license of ffi_utils to be more permissive so that the wider Open Source community can utilize it for their Rust FFI needs.


This was another busy week for the Routing team.

We have been taking part in company-wide discussions about the features of the SAFE Network, both at launch and beyond. It is an exciting time to be at MaidSafe as the road in front of us is becoming more and more visible. The outcome of these discussions will be shared with you, the community, in the near future. Exciting times! :smile:

On the coding side, the PARSEC milestone 2 implementation is ongoing. We merged @bart’s pull request that uses the proptest framework for PARSEC’s integration tests.

This task required a compiler upgrade as proptest relies on features in the latest compiler. @jonhaggblad and @pierrechevalier83 used the opportunity to learn about the compiler update process and participate in a general update for all our crates.

In the meantime, @anon86652309 and @qi_ma tracked down a bug in our implementation of the common coin that caused rare failures in our integration tests with soak testing. We are looking forward to adding functional tests as part of milestone 2 so we can catch these kinds of issues faster. Fixing this single bug fixed two observed test failures: this one and that one.

With these high priority items sorted, we took some time to prioritise a few dozens of tasks so we can now dive fully into the implementation of milestone 2. This should keep us busy for the next little while and you will be able to follow our progress in our GitHub repo as we raise PRs for these.

We also had some very nice interactions with the community last week as @Andre_Gerome generously spent his time reviewing the PARSEC whitepaper. We have a couple of actions to follow up on these comments that will see the whitepaper being made clearer. Thanks again, @Andre_Gerome :smile:

There was also an interesting technical thread started by @Nigel about a recent blog post by Vitalik Buterin about Byzantine consensus. The conversation took a very interesting turn, including a noteworthy comment where @dirvine explains how Sybil attacks are handled in the SAFE Network.

Following up these positive interactions with the community, @pierrechevalier83 is looking forward to meeting more of you next Wednesday (29th August) with @dugcampbell and @SarahPentland at Rise for the SAFE Network London meetup. If you haven’t booked your spots yet, please make sure to do it before Tuesday as we will need to give a list of attendees 24h ahead of time to the venue. As a side effect to preparing his slides for this meetup, @pierrechevalier83 prepared a SAFE Network themed presentation template using remark.js. This allows to easily create a presentation using markdown while remaining true to our branding. Feel free to use the template for your own presentations and to submit any pull requests if you can think of improvements :slight_smile:


This week we fixed the Crust panics (crashes) in the compatibility layer and now we are able to proceed with further testing. As a final step, when all Crust specific tests pass, we run end-to-end tests on a test SAFE Network on DigitalOcean. If all such tests pass, we presume Crust hasn’t regressed. We have Node.js scripts to run such test networks in an automated way. Since encryption was introduced into Crust, its config has changed: now we need to specify the public keys of hard-coded contacts we want to bootstrap off. Hence, we’ve been also working on updating our test network deployment scripts to adapt to the latest Crust changes.

In the meantime, a new safe_crypto version was published and we will be integrating it into Crust soon. Then we will be running even more tests :slight_smile:


I’m so first it hurts :sunglasses:


First… 20 char
Damn… Soo close


Seconds between us. Next time my friend!


Thirds20 charachters


Could you please explaine what exatly this means ?

Thanky ou for long update!


Unfortunately I’ll be on holiday or I’d be cheering from the front row. Hope it goes well.

By the way - August is a terrible time to arrange meetups. Would it be possible to repeat later in the year?


@Mendrit, this is in the introduction of the linked dev forum post, I hope that helps?

Currently the safe-app-nodejs API, and our SAFE browsers, support fetching safesites and files published with the DNS system, from URLs like safe://<service name>.<public name>/<path> , but it’s not possible to fetch data using their address on the network, i.e. the XOR address of any data stored on the network, without publishing it under a public name.


@JPL I think @opacey’s plan is to get the London meetups going monthly so you should be in luck :slight_smile:


That’s good to know!


Very nice work on the XOR URI proposal. This is an invaluable feature - can’t wait for the PoC and I took the liberty of sharing it with the Solid team for feedback. They know URIs as well as anyone!


Seems like week after week the comments and excitement are dwindling some and people just aren’t as engaged, I’m not sure I understand why. Feels like real progress is being made and we are starting to “poke the bear” a little bit for a waterfall of good news as we edge closer to completion. Great work guys!


Another solid update guys and gals—thanks as always!


My understanding is that many people are waiting for something they can engage in. Like a alpha release or similar. And I can fully understand that. Its not so much they lose desire for the project, just the waiting.

BTW: great update as always.


Another positive update bringing the network ever closer, great job team :+1:


Agreed. Further more for those who are not technical…these updates can be dry. Does not excite much. This makes the wait harder since the technical jargon is hard to relate to. Since its going to be a network based on adoption i hope it starts to connect with more less technical people.


I think this will be delivered in terms of tasks not timeline. Providing a timeline will be out of character for Maidsafe. Mind you I hope I’m wrong


Well done Maidsafe devs and SAFE community :smile:

Xor Url is really great to have (amazing to see all these boxes being checked 1 by 1)


This is a brilliant idea. Already getting more attention from others in the open source community with PARSEC and licensing changes :slight_smile:

Go David! I miss reading RFC’s

This is exciting! I can’t wait to see community mobile apps.

Change ownership of MD’s and multi-sig??? :grin:Those will be important eventually.

Good luck with the presentation @pierrechevalier83 The team is killing it across the board. I am so anxious to hear the company vision of what SAFE will deliver getting closer to launch. There’s a lot getting done quick and on many fronts. The patience and hard work is really paying off.

Shout out to @anon86652309 and @qi_ma who are veterans of SAFE and keep things ticking.

Keep it up ladies and gents of @maidsafe!


Well…There seem to be a few thousand top notch Marketing Strategists active on this forum. Should be an easy spot to fill…:rofl:

Joking aside, isn’t @Sotros25 a marketing specialist? If so, seems like a no-brainer to me, considering her enthusiasm and the fact that she organised the Chicago meet up. That should give her an edge at least. If she’s available ofcourse…:slightly_smiling_face: