MaidSafe Dev Update - April 6, 2017

Today, we are releasing Test 16. :tada: See this topic to download the binaries for Test 16:

This testnet makes use of the invitation-based accounts feature we explained in last week’s update. This is a temporary solution that aims to prevent account-spam creation. We chose a solution that’s not too complicated and that we can easily remove later on when we start implementing test safecoin (see this dev update for more info on our short-term roadmap).

Since the invitation system has not been tested before, we’re starting off with 200 tokens split equally between the OAuth server and the forum mods. We’ll be watching the usage of tokens closely and, on a day-to-day basis, we’ll update available tokens accordingly.

Also, we are planning to bring Test 15 down tonight or tomorrow.

SAFE Authenticator & API

@Shankar and @Krishna_kumar have been working on implementing invitation-based account creation for SAFE Launcher. With this one out of the way, our focus shifts back to the new APIs and examples.

@bochaco has been exploring Redux and wiring up the email app to use the new Node.js APIs. @lightyear spotted an issue with the API on a Windows 32-bit machine and he’s trying to figure out the cause.

We finished porting the Markdown editor web example to use the new DOM APIs exposed by the SAFE Browser. @bochaco will be able to complete the email application porting to the new APIs by next week.

A new team member (@Kumar) joined our team earlier this week. He will be working on the Java side. He has been setting up some samples using Maven for dependency management and also to figure out the best possible approaches for distributing the Java safe_app library.

SAFE Client Libs & Crust

Invitation-based account creation is completed in Clients. It mainly affects the account creation functions and it is exposed via FFI for the frontend to consume. We have also updated the production code to use serde instead of rustc-serialize as that is planned to be deprecated in Rust 1.18. There were a few bug fixes that went into safe_client_libs, related to unclaimable StructuredData and re-claiming of deleted StructuredData.

Mutable-data support in routing is about to be merged into the mutable-data branch after a couple more changes (removing the requirement from clients to specify minimum section size) and safe_client_libs will be updated accordingly.

This Mutable-data PR is ready to be merged to safe_vault’s mutable-data branch. It’s a big PR and awaiting review at the moment, but we’re hoping to be feature complete with the initial proposal that we have for MutableData support and operations. We’ll then be able to move onto the initial stages of testing the same.

Routing & Vault

Continuing our work from the last few weeks, we extended our tests and fixed issues, particularly regarding tunnel nodes. New scenarios include unidirectionally blocked and delayed connections (e.g. A can establish a connection to B, but not the other way round).

We completed invitation-based account creation, so that test and alpha networks cannot be spammed by creating thousands of fake accounts, even before the introduction of Safecoin.

Using our new fake clock, tests can now precisely control the time seen by the production code, and can, for example, call some function, advance the time by exactly 300 seconds (without actually waiting for five minutes!) and then call another function. With that and other fixes, we hope to remove the last sources of nondeterminism from our automated tests, so that if a test fails somewhere, we can run the exact same scenario with enabled logs and test fixes with it.


am I really first this time ?

EDIT : wooo hoooo !! reading…

EDIT 2 :

Really glad to see you choose that simple way to go around the spam issue. It may not look sexy, it may not reflect what the goals of the safe network are, but it will allow to resume serious testing on a live network where we left it, and save precious man hours in the Maid offices. In the end we all know the invite and mail thing will be wiped off by safecoin.

Really nice to see solid progress in the mutable field, this is really where many of us have eyes pointed now ! This will be the real game changer :slight_smile:


Brilliant progress.

Well done for quickly implementing a temporary solution to make sure testing can continue unhindered.

I’m hoping this test demonstrates a highly stable & usable test network that includes vaults from home, which is a gigantic milestone in my thinking :smiley:

Then, with a stable platform to build on, I’m sure the developments will seem to come pretty quickly.

Looking forward to new APIs, Mutable data, then progress on Data chains & Data republish. Plenty to do, but the Safe Network is certainly beginning to emerge. Well done all the MaidSafe team!


This is really neat! Can test at an accelerated rate. Very excited for mutable data. I’m assuming example apps will still need to be ported to mutable data implementation but hopefully that is quick.


Welcome @Kumar! I look forward to integrating with your Java work!


Welcome @Kumar :+1:.


Great stuff thanks for the update and welcome @Kumar!


BOOM! And it’s my anniversary on this forum! Naaaaaw, must be fate :heart_eyes:


Thanks Maidsafe devs,

Welcome @Kumar it’s always good to see new core devs. :stuck_out_tongue:

It good to be on the SAFE Network again, let’s see if the attacker can play cute again.

Shout out to the brave ants who are always here doing there job (working on SAFE) :kissing_heart:


Another @Kumar ??? Lol @Krishna_Kumar

Looks like MaidSafe employees need to either be Davids or Kumars lol :stuck_out_tongue:

but a very warm welcome to this great team! <3


Looks like we need another David to even things out.


Thank you everyone ! Looking forward to contribute to my best of efforts here !


:champagne: Happy birthday :birthday:


Well done on the progress and welcome to the new team member @Kumar Keep shipping value!