MaidSafe Dev Update :safe: 15th March 2016

The updated SAFE test network, SAFE Launcher and two versions of the SAFE Demo Application released last week have been very well received and have provided the team with a plenitude of useful feedback. The updated binaries addressed a lot of issues reported from the first phase of community testing. As you will see from this update, most of the team’s focus is on testing, in particular focusing on churn testing and these are very much the final stages of preparation before releasing the MVP.

It is also great to be able to report that we have documented and are sharing APIs exposed from the SAFE Launcher. This has been requested for a long time and we are all looking forward to seeing what apps the dev community create and run against the test networks. This is another example of the project reaching another milestone and we anticipate that the APIs will evolve and improve over time based on your much appreciated feedback.

##Crust - uTP / API : Vinicius / Andrew / David

This week the guys have been testing and improving Crust. This has resulted in a few minor bug fixes and improvements to Crust’s tests and examples. There has also been work on having Crust attempt different connection types, thus widening the potential number of connections and allowing this to happen in parallel, making this process a lot faster.

The team have also enabled the STUN-like servers for each node that fires up. This means an improved P2P NAT traversal like experience. We hope to release a new version soon so every other library will make use of our improvements and the MVP test shall include uTP / rendezvous / hole-punching, enabling users to run Vaults from home.

##Routing - Vault Integration : Andreas / Adam / David

We finished and tested the tunnel node implementation to work around failing direct connections (e.g. due to NAT devices). We also added tougher automated tests and did some successful smoke testing with nodes going on and offline. Finally, we started brainstorming how to better split up Routing into smaller modules to make it easier to understand, maintain and extend.

##Vaults : Brian / Fraser / Qi

The main thrust this week has again been on testing. There are now more unit tests targeting specific Vault personas, with work ongoing on that front. These tests revealed a couple of bugs which have since been fixed.

@qi_ma has also spent a lot of time running the larger integration test suite, which spawns a small network of Vaults and a testing Client which then performs various actions. A significant part of this test suite involves a “churn phase” where individual Vaults are started or stopped at random intervals. Since handling churn is one of the thorniest issues Vaults have to deal with, this is a critical part of the test. It should prepare us for the future network iteration where Vaults can join and leave at will.

The test appears to indicate that given reasonable rates of churn (we start or stop a single random vault at intervals between 10s and 20s) the Vaults should handle the transfer of accounts and data.

##Client - Launcher : Krishna / Spandan / Shankar

The safe_launcher version 0.4 and demo application versions 0.2.0 & 0.2.1 were released. The releases were intended to resolve most of the issues previously reported by the community and the results have proved to be very positive. There are still a few open tickets in the JIRA Customer Support project, which will be tackled in future releases. We thank everyone for testing the binaries and reporting the issues which helps us to keep improving them.

Last week, logging was improved in the safe_core and the changes needed to support the logging have been implemented in safe_ffi and also in the safe_launcher. These logs will be of great help when it comes to troubleshooting issues in the future.

APIs exposed from the Launcher have been documented. The list will be growing in the weeks to come. The APIs at present would be helpful for creating personal blogs, DNS management application, etc. We hope this will help eager devs to start building applications for the SAFE Network.

##UI Design : Scott

@Scott worked closely with @Shankar who’s currently implementing the roadmap and there has been progress made here where we fixed issues with spacing, fonts and how features are entered and displayed. There is still a lot of work to do on the roadmap implementation as it is quite complex and not a simple task. @Shankar is currently assessing some of the more complicated aspects to see how they can be made closer to what was originally conceived in the design.

We are currently working on a promotional video for the Launcher and the app examples. This video will be simple and aimed at interested users who have not yet downloaded or seen the Launcher. The idea for the video is to show Launcher and its use case, along with some context to give people a feel for what the project is about.

@Scott also worked on updating some of the company branding on the YouTube and Twitter accounts. The aim here was to bring the style closer in line with the website and also to improve brand recognition on these sites.

##Customer Support : Ross

Thanks to both the core dev team and the client dev team, over two-thirds of the open issues that had been raised in the first iteration of the testing phase were fixed and could be resolved. Thanks to the ongoing involvement of the community more issues have been identified and shared with the whole team helping shape the next releases. You can check out the Customer Support dashboard to see how we are doing. It is worth noting that we are conscious that the RFC process has been a little neglected recently, mainly due to everyone’s focus being on MVP release. We do plan to rectify this soon to give it the proper attention it deserves. Thank you to everyone who has taken time time to contribute; rest assured your efforts have not fallen into a black hole.

So another good week - it is very satisfying seeing regular progress and receiving mainly positive, constructive feedback from both the current community testing phase and also from the dev team’s internal testing. Also sharing the documented APIs with the community and wondering what will be created …is quite exciting! Everything is most certainly moving in the right direction.

Thanks as always for the ongoing support, here is a link to the transcript.


Getting place! Nice to read it every week!


Is the vaults data wiped out?

Edited: I guess so.

This is great news, the present releases will just keep getting usable. Working hard here to keep up; Cheers @maidsafe


Many thanks, much excitement, unprecedented progress.

Fun fact: this update had 12 likes in the first 6min and I definitely think that’s a record


Great job devs and other coders and testers.


Good stuff… it’s all going to start to snowball soon :slight_smile:


First time on this forum but I’m getting very interested in learning more. And thanks for these updates. Some semblance of stability/predictability in the crypto universe is much appreciated – a real value.


Be sure to grab the updated launcher and demo app and play around for sure! :slight_smile:

(instructions here!!)


step by step the era of the creative is rising

#the ants are coming


Very nice, great seeing some more detailed API documentation, with more coming soon. I’ll be integrating this into the JS library so as to remove as much complexity as possible, such as authorization, for app devs.


Great to see the API docs!

I assume the launcher could authenticate a javascript app, running in a local web browser too, then? If so, a personal blog would be a short step away! Very cool - I need to find some time to play! :slight_smile:


They’re using libsodium which can be run directly in the browser, so I’d better hope so :smile:


Nice! I was just googling to confirm it wasn’t restricted to node.js or some such.

Officially excited now! :smile:


Yeah there’s a library compiled to pure JS which can be run in the browser: GitHub - jedisct1/libsodium.js: libsodium compiled to Webassembly and pure JavaScript, with convenient wrappers.


I just had a Eureka moment!

Publishing a website with a JS application that can authenticate against your local launcher is a fantastic concept. The user just authorises it and can then create a blog (it whatever) in their own storage space, which would immediately be accessible by others.

Mind. Blown.


Yes, it truly is our internet;

Not the internet anymore, owned by big companies.

You want a website? Just put it up! On our internet!

By us for us :slight_smile: minds will be blown!


Man I hope not. I haven’t checked, but I hope CORS isn’t enabled (web proxy is 8101, API is 8100). This is an open vector and if anything should be opt in. IMO people are relying on the web proxy too much for their stuff which has many security issues (I have mentioned this several times, along with my belief that the web proxy should be a separate app).


There are demo web apps using the noBackend, remoteStorage, unhosted and CouchApp architectures, and similar, which provide a starting point for exactly this. I just wish I had been able to get time to look into them further.

I’m sure others will do so. I think there is also a micro-blog demo (twitter like).


“Hmm I understand some of those words…”

So what is your proposal to bypass the proxy to access to the safenet? And what is your proposal to replace CORS?