MaidSafe Dev Update - November 23, 2017

We have progress to report in a number of areas this week with the front-end team delivering a few upgrades. As you will see, the SAFE Browser v0.8.0 is being tested internally, along with new versions of the Web Hosting Manager and the Email app having incorporated the latest changes from safe_app_nodejs and safe_client_libs. These will be pushed out just as soon as we have verified they are working correctly. The new custom browser Proof of Concept (PoC) is also going through internal testing and while basic seems very functional.

The Routing design discussions continue with particular focus being given to managing section merges with the integration of Data Chains. The team continue to consider edge cases to cover as many scenarios as possible. It is much more efficient for us to plan this stage very carefully as moving to code/tasks too quickly and failing to consider a particular event will only cost us more time in the long run. Things are moving in the right direction, there is skeleton code in place as a baseline and we hope to have more progress to report soon.

SAFE Authenticator & API

We finished making the required changes in safe_app_nodejs to upgrade to the latest code from the safe_client_libs and system_uri libraries, and we were able to successfully package and publish v0.5.0 of the safe-node-app package on npm for the first time using the automated scripts. This new version exposes some new useful functions in its API for applications to not only generate sign keys but also sign and verify content with them.

Both the safe-app and safe-authenticator browser plugins were also updated to work with the latest versions of safe_app_nodejs and safe_client_libs, and they were also packaged and published on our S3 servers with the new automated CI scripts.

A new version of the current SAFE Browser, which makes use of the latest packages mentioned above, has been made available today for internal testing. Tests to make sure that current data in the Alpha 2 network is still accessible after the changes we made in our packages need to be performed. This is also the case for new versions of the Web Hosting Manager and the Email app which are also going through an internal testing phase.

The first and early-stage version of the custom browser has also been made available today for internal testing. Even though some aspects of the UI are still very basic and functional, this first version is already allowing the user to log in to the Alpha 2 network, browse safe:// websites and authorise standalone applications with its embedded authenticator, just like our existing SAFE Browser & authenticator. We are performing tests on all platforms so that we can share it with the community ASAP.

Some of our next tasks are related to moving forward with the automation of our release process, focusing now on automating the packaging and publishing tasks for the browser on all supported platforms, with versions for mock and non-mock routing. We are also resuming some other activities in relation to enhancing our tests’ code coverage in safe_app_nodejs as well as some internal refactoring of the package.

The existing APIs in safe_app_csharp are being updated to work with the safe_client_libs master branch. safe_app_csharp currently supports the mobile iOS and Android platforms, we are also working on adding support for the desktop platforms which should be live soon. We are also working on expanding the test cases for the existing APIs. JIRA tasks were created for adding the missing APIs to complete the safe_app_csharp library.

The progress in Java APIs has been more focussed on packaging and distribution practices. @joy will be using the Java bindings to start wiring up the APIs from early next week.

SAFE Client Libs

We’re making progress with language bindings: this week we produced first results for both C# and Java/JNI. This hits a big milestone but there are still some small things to be completed. First, JNI structures have to be mapped to our native Rust structures. Second, C# bindings need to be accommodated to Xamarin to work on mobile platforms (and on iOS especially, as this platform has some extra requirements). After we’ll be done with that, we’re going to work closely with the front-end team to improve upon the generated bindings and produce some small working examples of the API usage; we’re expecting this to happen early next week. For Java, we’re also working on merging some changes that we made to the JNI library to the upstream.

In parallel, @marcin has been working on improving SAFE Client Libs’ nuts and bolts. After we made this change to the way URIs work in the inter-process communications between apps and the Authenticator:

there was no apparent way to provide an unregistered app ID within a request, so the front-end part of the Authenticator didn’t really know where to send the response. This has now been fixed by making it possible to put arbitrary data (including the app ID) along with the IpcReq::Unregistered request.

Another function that SAFE App API lacked was a routine to get a name of an app’s container. This introduced unnecessary hardcode on the front-end side and complicated usage of testing functions which create apps with random names. The deficiency is fixed by this PR. Testing functions have also been updated to follow our API convention.

Routing & Crust

The Routing efforts are still mostly behind the scenes. We have been continuing to detail how the network will be handling section merges after the Data Chains are introduced. It is especially challenging to figure out how to handle various network events that could happen during merges, and for that we have been considering multiple possible scenarios, exploring what could go wrong and how to prevent it.

Last week we started integrating p2p into Crust to get more reliable NAT traversal which has been taking longer than expected. It’s mainly due to the differences of p2p and Crust semantics. Also, we’re trying to avoid any regression from what was done in themaster branch and that takes a little bit more care and discussion. In the meantime, some issues in the p2p crate were noted for future refining and we’re happy to see the Crust codebase being reduced in size.


first this time again! bääääääm

already rough implementation proposals :thinking: nice



Second!! If that’s worth a claim!


Third. Likely not worth much, but I get excited when I see a new progress report. Well done all!


I love to read these weekly updates. The team looks like these icebreaker boats , horsepower slowly but surely cutting its way through the frozen seas of alledgedly impossible network coding. Above the dark and cold waters of the moribond web, home of the doubt , greed, and rumors, a bright sun shines on the vast white and nothing can stop the boat.


Great to hear!

Thanks for the update, as always :+1:


Very smart way to progress: exploring multiple possible scenarios to prevent problems. Great work! Take your time.


Thank you for all your hard work.
Can we please, please have all the new packages in the Debian repository? Pretty please?


Everyday there seem to be more news of hacks and failed security that strengthen the case for this world changing project.

Thanks to the team for all the late nights!

Great update …again!


Thanks for the great updates, as always!!


Thanks Maidsafe devs for all your hard work

Everything is realy moving at breakneck speed, hang in there ants :stuck_out_tongue_closed_eyes:


That is beautifully poetic and truthful too!


Go team maid! Always a pleasure to read the updates here.


MaidSafe is a necessity… willing to learn, share (and buy) … :slight_smile:

Thanks for your work !


Does routing hijacking(BGP attacks) can affect or disrupt MaidSafe somehow?

1 Like

Can you guys jsut release Safecoin already,
Not the onmi token - Maid.
Just release SAFECOIN and connect it too vaults and farming and stuff later.
IF that was the case, hte market would react to updates.
But as of 4 years - maidsafe is still an OMNI token.
Investors are not happy

1 Like

How? There is no way for it to be done at the moment

Where do you think it would be stored?

What use would it be without farming and vaults?

Even if it were possible the value would be nothing since there is no network for transactions.


Investors are every possible emotion, size, colour, age, race, religion …

None of them are anyone’s master and none of them speak for the rest. Investors in maidsafecoin are people who invest in a token and doing so support the project in a huge number of ways. Equity investors have shares in maidsafe and by extension (due to some smart moves by that company) are also safecoin holders on launch of safecoin. All of these people talk to us and we try and help, if any of the make a demand or otherwise howl at the moon we (or specifically me) tend to try and calm them down and explain that the howling only slows us down. Our equity investors are huge supporters and don’t imagine we are not working as hard as we can and as quickly as possible for mere humans.

In terms of release safecoin now!! we are not a project that makes marketing statements about empty tech or some veiled release that has zero value. We are the long hard walk, like tesla, solid, spacex, beetles, flight, cars, phones, television, Internet etc. some things are well worth waiting for. If it is quick then its less likely to have such a major impact on humanity. Unless you want a quick bash script or python POC that is hard to use, fails and is insecure.

As Steve Earl says, “we’re the other kind”, in short this is no quick buck story, this is way more serious than that. In terms of returns well you need to consider what this is, IMO SAFE can be transformative for mankind, beyond many before launch perhaps, but then so were all the projects, innovations I mentioned earlier.

So gamblers may not like maidsafecoin and visionaries will see exactly the trajectory here. I think its fine and its also a great thing for nature to have created. I want the visionaries to be rewarded beyond their dreams and then to support more visionary projects that will move this species forward. What a great way to have people who recognise real change and in doing so give them the ability to increase their impact through more visionary investments.

It takes all sorts and that is absolutely fine with me and as it should be.


I have been very happy to read the updates for the last months, not because I understand most of it but for the increase of progress that has been shown for the last months updates. It seems that the scaling of the team and organisation has proceded well and gives good results. In every update for the last months, much progress has been shown.


Cool :+1: Thanks and keep up the good work guys!

1 Like