MaidSafe Dev Update - December 20, 2016

Today we are posting the last dev update of 2016. The team will be working intermittently over the next couple of weeks due to holidays :christmas_tree: The next dev update will be on January 10, 2017 :slight_smile:

Let’s start by looking back at what we accomplished in 2016:

Community Engagement Program

In addition to the milestones mentioned above, another thing to mention is that we started the Community Engagement Program in July 2016. The purpose of this process is to match developers with immediate and fundamental SAFE Network requirements. We are going to expand the CEP process in 2017.

SAFE Browser

The SAFE Browser RFP was the first RFP (Request for Proposals) we posted and @joshuef’s SAFEr Browser(s) Proposal was selected by the community. Huge thanks to @joshuef for helping build the SAFE Browser! As mentioned in the previous updates, we are about to bring the SAFE Browser under the MaidSafe repositories.

Team expansion

We would like to highlight all the new team members that joined the MaidSafe team in 2016 :smiley:

SAFE Network apps

Huge thanks also to all the developers who are building SAFE Network apps :tada:

We are very grateful that developers and community members are using the SAFE API. You can see a list of apps that are compatible with Alpha 1 and Test 11 here.

Current priorities

Our current development focus is to enable users to run vaults from home.

The refactor of routing that we started was not complete when we already started implementing disjoint sections (previously called “disjoint groups”). As this was a much larger task than anticipated it has caused all of us to have an awful lot of pressure to complete it. We feel the pain of the community very clearly and it is in the front of our minds these days. We realise this technology is incredibly powerful and the progress we were making should have only got quicker. Instead the work in routing has really prevented us from maintaining that velocity of releasing examples.

Added to that, the refactor of SAFE Authenticator (previously called “SAFE Launcher”) and the core libraries, whilst happening at a very quick pace and with great progress is also a huge amount of work happening in parallel. This will enable devs to build apps that communicate directly with the SAFE Network, without the need for an intermediary such as SAFE Launcher (SAFE Launcher currently needs to run in the background and continuously proxy HTTP requests to the SAFE Network, but on some mobile platforms that wouldn’t necessarily be possible). SAFE Authenticator will only be used for the authentication/authorization process: Once an app has been authorized, it will be able to directly interact with the SAFE Network (using a language binding). This change will enable us to support mobile platforms (Android/iOS).

Also, on desktop platforms, SAFE Authenticator will be bundled directly within SAFE Browser. That way, users won’t have to download two separate apps. They could simply download SAFE Browser and use it to create an account or log in to an existing account.

And for app developers, it’s worth mentioning that the fundamental mutable data types (StructuredData and AppendableData) all converged into a single type: MutableData. This was a lesser change, but a change nevertheless. The advantage of MutableData is that it provides fine-grained access control and more narrow-scoped data operations. See this Dev Forum topic for more info.

The last few weeks have really tested our team and also the community, but the good news is that this is all getting closer to completion now and the bulk of the changes are behind us. A few of us will work over the holidays to clear some last bugs and ensure 2017 sees that velocity not only returned, but maintained from this point on.

A really tough one has been trying to not introduce data chains, which will bring us some critical features (such as data republish), but just adds a lot into the mix of this already huge change set. It keeps rearing its head showing us why some bugs would not happen with that design pattern. So this is also a consideration we watch, but are keen to phase in and not rush in with all the existing changes. Meanwhile, resource proof should allow us to resume testing vaults from home, in an initial form (later, nodes will be continually monitored and not only spot checked at startup).

This is why many of the keen observers will see huge amounts of work in the development branches of routing, safe_vault and the restructured client libraries. The team have scrambled like possessed beasts in the background whilst having nothing huge to tell everyone in terms of weekly deliverables.

2017 though sees the fruits of all this labour and the return to the rollout velocity we started this year. We are confident we will now be in a good place with all these pretty dramatic changes and not only that, also be able to handle all of the platforms we need to run on and allow developers to easily create more of the already growing number of apps, although some alterations will have to be made from the new APIs we will have. This will all lead to simpler more secure apps though and this is what we all want.

In summary, 2016 was tough, very tough but you reap what you sow and we feel we have got great foundations now with all the testing and feedback from everyone here, so thanks for that and we will all now begin to feel the benefits of this gruelling period we hope to complete in the (very) near future.

SAFE Authenticator

Team leader: @Krishna_Kumar

We are starting the FFI integration with safe_client_libs. Also, we are creating a new Node.js module called safe_app. We will be integrating it with safe_client_libs to expose the SAFE API to Node.js developers. Devs will be able to install safe_app from the npm registry and use it as a dependency for their apps. The example app will be using this Node.js dependency to connect with the SAFE Network.

In addition to starting the safe_app Node.js module, we are hoping to complete the implementation of SAFE Authenticator this week.


Team leader: @ustulation

safe_core was renamed to safe_client_libs since it’s now a workspace repository (it will be used to hold other client-side modules in addition to safe_core). Internally it has a crate called safe_app for integration with applications and a crate called safe_authenticator for integration with the frontend of SAFE Authenticator. These can be navigated from the dev branch of safe_client_libs if you’re interested to know more about them.

safe_app and safe_authenticator are now both ready for consumption and other languages should be able to tap into all their functionalities. Testing however needs to be done much more thoroughly for safe_authenticator and those tasks are detailed in JIRA (MAID-1903, MAID-1904, MAID-1909 and MAID-1910) and can be tackled in parallel to the frontend integrating with the given crates.

Although there are a few further tasks in JIRA for some additional features (MAID-1909, MAID-1899, MAID-1902 and MAID-1776), the way these crates currently are should address most of the features intended for the first iteration. The remaining JIRA tasks related to the additional features should be completed within this week anyway (so hopefully before frontend finishes their integration).

Routing & Vault

Team leader: @AndreasF

This week, we made some good progress with secure message routing, and the next-to-last chunk of work is now in review: The code is in place for sections to exchange their signatures of members of neighbouring sections, and to add the right signatures of the message itself for all kinds of authorities (groups, sections, sets of sections and individual nodes). What remains is inserting the signed member lists in each hop and validating the full chain of signatures in the recipient, linking trusted keys back to the message signatures.

The resource proof implementation is also step-by-step nearing its completion, as is the single event thread. And at the same time, we are continuing to test vaults with disjoint sections on droplet nodes.


Nice summary Francis, here’s to 2017 becoming an amazing year for SAFE! :beers:


Thanks for a great year! 2017 will be even better!


Thanks for an awesome year all at Safe HQ, it’s been a roller-coaster for sure but one hell of a ride and I am enjoying every minute. Enjoy the break :christmas_tree:


2017 will start with a bang!!!


thanks for a great year everybody! looking fw to lots of exciting tuesday evenings next year :wink:


I was going through GitHub/Maidsafe today and saw a huge amount of code being pulled into the repo. I know that this isn’t done before testing, debugging, and even more testing. Some of the merged pull requests were several weeks old with great tech discussions surrounding them. It’s really clear to me that you folks work really hard to make SAFE a great success. I have not a single doubt in mind that 2017 will be amazing. We’ll have Vaults from home in the coming weeks and I have no doubt they will rock the boat. So great I actually became a shareholder in 2016 in this amazing company :wink:.

Keep up the great work and have an amazing holiday :+1:.


Great Christmas holidays to the team… Can’t wait for 2017 :smiley:


Thanks for a great year, Team! You have been true role models, working on the bleeding edge of technology trying to bringing something miraculous to life. I find no other crypto project with such transparency, integrity and communication. You will have my full support and faith now and far into the future!


I thought the current API was pretty stable and not expected to change much?

What about safe-js? Is having my team / self learn safe-js a worthwhile effort? Will safe-js remain mostly how it is? Or will it change a lot / not be used in the future?

1 Like

Thanks for the continued efforts throughout the year. I hope the MaidSafe team (and the rest of the community here) has a nice break over the holidays. I will be looking forward to seeing what next year brings.


Thanks Maidsafe team for another great update.

Wow so much has been accomplish this year

Merry Christmas to the whole community you guys are the best

Let’s see if in 2017 we can reach 100K community members :stuck_out_tongue: because for sure we’ll have a SAFE Network with our superhero devs


Merry Xmas guys and thanks for all your hard work!

Enjoy some brief respite with your families and I look forward to seeing you change the world in 2017. All this work will be one of the most worthwhile things anyone has ever dedicated their time to if you can get it right. After all, it’s the seed of a total paradigm shift for society as well as for data. It can’t come soon enough, but we all understand there are no shortcuts on the road to greatness :triumph: Good luck!


Thanks for all the hard work over the past year and here’s to 2017.


The last months I worked on my Social, Realtime, Decentralized Energy app and the first PoC live. The idea is that if you consume a kWh of energy you buy it directly on the market from a producer of energy, this can be the solar panels from your neighbor, a windmill in your town or coal power plant when there is no sun or wind available. My house is already producing more energy then I consume and my profile picture is the awesome Zero SR electric motorbike. I investigate Bitcoin, Ethereum, IOTA and Safenetwork and Ill think the last is the best option for this service.

The coming months I start testing with end users and I want to port my Social Energy app to Safenetwork.

Ill be ready when you are ready… :slight_smile:

Thank you for all the hard work on Safenetwork this year, enjoy the Xmas and 2017 will be as least as exciting as this year.


@Yerontour this project sounds awesome! Any particular place we could learn more or should we just wait for the unveiling on the safe network? :smile:


Ill let you know when it’s running on safenetwork…Alpha 2…? :smile: But when it goes live I want to make it open source.


Thanks for all the amazing effort from the MAIDsafe team! 2016 has truly been an incredible year with all your accomplishments. Enjoy a well deserved break and make sure to power-off fully so that you are able to return with full steam in 2017 which I am confident will be an even bigger year with more accomplishments. Thanks for all the hard work and transparency in the fight to make this world more fair, decentralized and private for us all. Merry Xmas to the whole team and the amazing community members!


And Happy Birthday to you @Jabba !!!