MaidSafe Dev Update - January 10, 2017

To reflect the fact that each dev update is a collaborative effort between multiple members of the MaidSafe team, we are going to start using this forum account (@maidsafe) to publish the MaidSafe Dev Updates. Also, to give us additional time to write them, upcoming dev updates will be posted on Thursdays instead of Tuesdays. This means that the next dev update will be on Thursday, January 19, 2017.

First, we would like to wish a happy new year to everyone involved in the SAFE Network community!

Our main priority is still to get users running vaults from home. We are getting very close now. The disjoint sections implementation is pretty much done (the first droplet tests are looking good so far) and we are now working on resource proof.

SAFE Authenticator

Team leader: @Krishna_Kumar

We are integrating beaker-plugin-safe-authenticator and safe_app_nodejs with the FFI bindings for the authenticator and the Node.js API. We are hoping to wrap the initial implementation of the authenticator browser add-on by the end of this week and to complete the Node.js API by mid of next week. Once we have these ready, we will begin to integrate the Node.js API with a demo application and we will do end-to-end testing against mock-routing.

We also created a new MaidSafe repository for the SAFE Browser application.


Team leader: @ustulation

So we’re a bit short staffed this week with both Adam and Spandan on annual leave. Spandan is back this Friday and Adam is back in February. However, we’re not delayed by any means since we’re done with all our estimated tasks to support Mutable Data :smiley: We’ve got the dev branch updated to support the new data type and also got the project structure in place to provide the FFI libs for the various sections such as Authenticator and App modules. The FFI (foreign function interface) allows integration of SAFE easily into many developer platforms, such as JavaScript, Java, Python, etc. The front-end team is using this to create npm modules for easy integration into existing applications (e.g. desktop apps built with Electron).

All our previous tests and new tests have been updated and work fine against the updated mock-routing implementation in safe_core. Once the new data type is tested against the live network, we’ll get the dev branch merged to master.

Currently we’re working to provide the front-end team with any missing features we might have missed and also looking into helping the Routing & Vault team with the implementation of Mutable Data for safe_vault. As it stands, the front-end team would be able to test the new APIs with the mock-routing interface and once we get support for Mutable Data in the network, the APIs should remain the same while working against a live network.

We’re also currently updating the master branch of safe_client_libs to compile against routing master to allow for network tests with the new version of routing currently against the disjoint sections implementation and soon the resource proof implementation too.

Routing & Vault

Team leader: @AndreasF

The first droplet tests with the mostly finished disjoint sections implementation are looking good: The routing invariant as well as the data chunks survived simultaneously starting nodes and a small amount of churn. We are now starting to port safe_client_libs to the new routing version, and once that is done, we will intensify the tests, use actual vaults instead of the routing example application, use the safe_core example client to automatically store thousands of data chunks, and run with increased churn.

We merged the huge PR that merged the routing and safe_vault event handling threads, and already replaced two messages that were sent between them with simple method calls.

The first step of resource proof will be merged soon as well: It will adapt the join process and introduce a voting system so that the new node’s section can approve or disapprove of it, depending on its capabilities. The actual resource challenge itself will be inserted in a later change, after we’ve tested this on droplets and determined what the minimal requirements for a routing node are.

Glasgow University

As we mentioned in the Autumn, MaidSafe are partnering with Glasgow University, a world renowned and local University, to work with their professors and students to enhance their understanding of decentralised infrastructure and of course the SAFE Network.

Under the guidance of Dr Inah Omoronyia, Lecturer in Software Engineering and Information Security, MaidSafe will be providing a workshop to the University’s 170 second year Computing Science students. The workshop is scheduled to be delivered during the first week of March, from which the students will have a further 3 weeks to submit their assignments.

While we still need agree on the specific assignments, the students are working in Java so we will need to cater for that in the run up to the workshop. We anticipate this being the first step with the University and we have discussed scaling this learning to the rest of the students, specifically with regard to working with teams of their third year students on long term (1 year) projects within a Professional Software Development (PSD) program. We’ll continue to keep you updated as things develop.


There are currently 14 candidates going through the initial stages of the recruitment process. And 2 developers are currently in the final interview stages (to join the Rust side of the team).

Over the last few months we added 3 new team members to Andreas’ team (Routing & Vault). Now we are focussing on adding more resources to Spandan’s team (SAFE Core) and Krishna’s team (SAFE Authenticator).


Love it! First comment of 2017 :smiley:

This sounds good, but I just wanted to make sure safe-js was still going to work, or receive updates so that it will work with the new Authenticator paradigm.

Will it? I love safe-js :smiley:


I think they are giving us more options on the table other than safe js. Of course, safe js will have to be refined for the new API. Or perhaps, both could work together beautifully?

Thanks for the update. I’ll continue to mess around with react, redux, and safe js.


sounds like the ship is in shape to sail fwd thru 2017 (:
regarding the maidsafe a/c dev posting… it still would be good for whoever writes that weeks report to name themsleves… @frabrunelle do we thank you for this week’s ?
… goid luck with the Troon winter all up there !


yes I would like that too if possible; the @maidsafe tag is a bit impersonal / corporate :stuck_out_tongue:

Thanks again for the well written update!
A question: is the team name ‘SAFE Core’ still ‘correct’?
Because the repository with that name has been renamed to safe_client_libs if I’m not mistaken.

1 Like

well as explained, it’s multiple people that are writing the updates. usually each team leader will write their individual section and other people will help write the other sections. I mostly just make sure that the update gets done by sending messages to people on Slack :stuck_out_tongue: I also fix typos and try to make sure that the update is easy to understand. e.g. today’s update was written by @Krishna_Kumar, @dirvine, @Viv, @AndreasF, @nicklambert and myself. so feel free to just thank @maidsafe :slight_smile:


Thank you for the update and for the hard work of everyone on the team. Best wishes for success in 2017!


Much goodness to start the year with, feels like full steam ahead is right around the corner!


Great update as always. Keep up the good work and soon we’ll start the new Vaults. As far as I know all chunks are stored at least 8 times so I’m very curious how this works out.


fair enough a truly decentralised effort ! then all makes sense…


So exited for everyone working on this, the community, and all who will benefit in the long run. You’re doing great and keep up the amazing effort! You’re working on something insanely important, and I can’t wait to see the impact the fruits of your labour will have!


Great update as usual! We all know what is looming beneath the surface and honestly I can’t wait to see what everyone here in the community has built tobe running on a most recent test network and then see maidsafe be back on a better rolling release (I know they are as anxious as we are). Can’t come quick enough it seems but we’re getting there :slight_smile: keep it up @maidsafe!


Thanks Maidsafe team for all your hard work.

I’m too super charged/exited to even think straight :stuck_out_tongue:



I’ll be giving a Workshop at (Jan 28th @ 10am, no direct link available) and a Talk at FOSDEM (Main Stage, Feb 5th @ 12pm). If anyone will be at either of those events, come up and let’s have a chat!


Heh, glad it’s loved! :smiley:

Not sure if safejs will be needed with the new browser / api setup.

Safejs bascially just provides a wrapper and some error handling around the API calls to localhost:8011 where the safe REST api lives in current versions. As this changes to a direct FFI interface safejs wont be needed in the browser for api calls (though I’d assume most of the calls will remain the same in the browser).

Depending on the setup though I might look to making safejs compatible with the FFI eg. (I could see a need for this in the node ecosystem at least).

I’ve also been toying with setting up a CLI interface for SAFE.

Something like safejs will exist in some form, but let’s see when the new testnets roll out.


The team expansion is the update I like most :slight_smile:


I agree. Especially so, as in the ‘early days’ David and Nick showed every sign of being frugal Scots (no offence guys!) and being able to manage on a shoestring, so the fact that they’re more comfortable opening the chequebook now is a very good sign IMO. As a former investment banker (cue the hissing and rotten tomatoes!) I watched a lot of companies play offence and defence and saw the effects weeks and months later on their financial results. This looks like very aggressive offence to me.


No offence taken! One of the many benefits of having available capital is that you can be more strategic in your thinking, both with regard to recruitment and other aspects of the business (sales & marketing…etc…). We will continue to be prudent, but can certainly be more aggressive in some aspects of the business.


Once development branches further, having a front end team, core team, app/examples team, I think progress will be seemingly exponential :smile: then with these partnerships and CEP on top of marketing the ecosystem will grow beautifully. Obviously the groundwork is still being laid with resource proof, node aging, data chains but after that and testsafecoin I think speculative interest will spike the price of maid and hopefully the team can further benefit from that, not only financially but also from the added attention it will bring.