MaidSafe Dev Update - December 13, 2016

We are continuing to make progress on the SAFE Authenticator plugin, the new paradigm of Authenticator-based interaction as well as our main goal of getting users running vaults from home. Nothing specific to highlight but lots of tasks are getting wrapped and prepared while the winter break is getting closer and more and more people are going to be on holiday soon.

SAFE Authenticator

Team leader: @Krishna_Kumar

We have implemented the tasks planned for the UI integration of the example app and the authenticator plugin. We will be starting to work on the Node.js API library and also on the authenticator FFI integration.

The SAFE Browser is ready to be merged, we are hoping to transfer the repo over to MaidSafe by next week.


Team leader: @ustulation

The App side of things is mostly done – NFS file creation is not yet exposed for FFI but ImmutableData and Self-Encryption are, so apps can use that to create files – the NFS File FFI API will just be there for a sort of “standard” way to do things. We’ve started implementing it in MAID-1879.

MutableData support is complete in mock-vault, mock-routing and in safe_core::app::ffi. Authenticator progress is a little slow unfortunately from last 4 days or so because of Nikita going to conferences and not being available for most of yesterday and today. But with one PR from him for MAID-1852, Authenticator will have progressed somewhat too and with MAID-1873 it will be fully functional (at least minimally).

Test cases this time are a separate task, so that with the functionality in place, frontend integration and test cases can be done in parallel. Usually we have code submitted with thorough testing, but this time we decided to just do very basic tests, with more thorough ones being a separate task. We had to do this because the test cases for auth/app, etc. are a little complicated and as time consuming as the task itself in many cases, and Spandan wanted to get the functional code in place before he leaves on holiday next week – because in the worst case, even if the test cases require us to make some code changes, it will be minor fixes (plus the test cases are very detailed – e.g. MAID-1835 and MAID-1863 – so if they reveal a bug, it should give an idea of what to fix and how to fix it).

The system_uri crate is meant to be used independently. It is currently being coded by Ben – it had lot of reviews so took time but he should complete it this week. After that, system_uri will be completed and can be tested by the frontend code too.

Routing & Vault

Team leader: @AndreasF

As expected, our ongoing effort to extend the test suite for routing keeps uncovering minor issues, as do the first tests on droplets. The former simulate more combinations of simultaneous joining and leaving, and splitting and merging. The latter create a network by instantly starting all the nodes at the same time: everyone then contacts node #1 and tries to join its network, retrying if it fails. All of those are pretty extreme situations that we need to prepare the network for, first by addressing them one by one to get to a basic working network as soon as possible, later perhaps by using more elaborate consensus algorithms inside each section of nodes, and maybe even by coming up with a new consensus algorithm for synchronising different sections with each other: any two sections need to eventually agree on the structure of the parts of the network that both of them are connected to.

Regarding the hacks we put in to test our “groups and sections” approach, the first cleanup steps have been made. Routing is now aware of the two types of node sets and allows the user to pick whichever is needed: In safe_vault, we use groups for managing data and user accounts, and routing uses sections for maintaining its structure, and soon for securely relaying messages.

The resource proof implementation is making progress as well: The new message flow for joining nodes with a dummy challenge is in review, and the implementation of the actual computational and bandwidth challenge itself is underway.

And Michael has started diving head first into all the most complex parts of our code at once and is refactoring the code to remove one of our major pain points by merging the routing and safe_vault event handling threads. These need to share a lot of data, and if all of that is sent through a channel where it may be outdated as soon as it is received, it is hard to reason about the code. Changing that will allow us to get rid of some inefficiencies and make the code simpler, avoiding bugs in the future.

Dev Outreach

We had a bunch of successful events in Amsterdam last week!

Thanks to everyone who attended, including @Seneca, @Krekc, @John and @draw :slight_smile:

The slides for Ben’s presentations can be accessed here.

Here’s a photo of Ben at the Front-End Amsterdam meetup:

Here’s a photo of Nick at the Bitcoin Wednesday Amsterdam meetup:


Great meeting some of the MaidSafe staff in Amsterdam :smile: I am now the proud owner of a MaidSafe t-shirt :heart_eyes:

I’m quietly hoping for some sort of (Alpha) release before the mentioned winter break :innocent:


Thanks for the great update!

Enjoy your winter break!


Great update as always. Hard working team, great focus for all the details as usual.

This is so important. This is what wakes me up sometimes in the middle of the night: SAFE being popular and thousands of new users every day. And I’m not even coding this stuff and it already wakes me up! Great to see all these tests and more tests being implemented. Very important to get this right.


Thanks for the presentation, answering my questions and the beer last Friday in Amsterdam.
Also good to add the slides. Now I know what I missed by being late :wink:

Keep up the good work and enjoy the holidays!


It was an honour to meet everyone from the core team, Nick, Project Decorum, and listen to the
presentations and debates in Amsterdam.

I thought you laid out your shop window (so to speak) very well, the sign looked stunning in the dark,
and guided me from the other side of the canal, to the door.

Amsterdam is a city that holds great
potential for SAFE, imo

Here’s to 2017 everyone, 2016 has been totally exciting.


Thanks Maidsafe team for another great update, hang in there devs, your the best!

Too bad that nobody recorded these presentations, I had a bounty of 100 euro’s for
whoever did. :frowning: Would have been fun, since most of us couldn’t be there. Nevertheless
thumbs up to all the SAFE Network hero’s that could attend. :stuck_out_tongue:

These are baby steps, but soon that baby will walk


Agree. Should be mandatory to tape all those things. Audience present = maybe 50 or 100? Guessing here. Youtube audience clearly much bigger. So, its really imperative to tape all those things and put them up. This is the job of the organizers obviously. But MAID should request this before going. All that work that goes into prepping the presentation etc.


Yes Bitcoin Wednesday was recorded, they add this into their YouTube channel once it has been edited so I think we should see this fairly soon.

Edited to add in the link to the Bitcoin Wed Youtube channel:


cant wait to watch it!

1 Like

Then the 100 euro’s goes to whoever recorded that sweeeeet, more important



Well done team. Keep up the great work. Hope to see Beta in early 17 :grinning:


Good job ancient history… GOOD JOB! Thank you David as well. The entire time line counts on US!


Screenshot (not clickable):

Here’s the poll on twitter:


All…(+20 characters)


Thx for the update! Keep up the good work :slight_smile: