Maidsafe Dev Update :safe: 6th July 2015

Hey guys,

Just sometime back we saw the end of a great rust-2 sprint and had some exciting stuff coming out of it which we hope was as exciting to the community as it was to us :).

We are now just about to start Sprint-3. We not only had a good planning week, which ended yesterday, but also very important RFC discussions. These RFCs are going to impart solid technical finesse to the core concepts of SAFE Network. To start with, the implementation of the RFCs will reduce the amount of code considerably. This in turn has far reaching implications, the smaller the code the less complex the system. Reducing complexity also reduces the number of bugs and is therefore a big step towards ensuring even more security. Now that the RFC discussions are finalised and agreed upon, most of the crates are going to benefit from these changes. However, the beauty of this simplification is that not only will it benefit the development of the modules by the MaidSafe team directly, but it will also have a positive impact on future developers and users of these libraries.

Unified StructuredData for instance adds a significant amount of flexibility. As mentioned in the RFC description, it will aid defining new data types and ability to link such data. We might even see a crate or two greatly slimmed down if not completely removed as a result. Hopefully, by the end of the sprint, developers will be able to code a nice demo to show some cool features that are now made possible as a result of these RFCs, fingers crossed!

So, this sprint will see the implementation of these RFCs as its main objectives and is therefore going to be an important one, simplicity and future-scalability has always been our focus. Additionally, by the end of this sprint, we might see some interface lock-downs so that app developers and other users of these libraries can get an idea of public-interfaces and APIs. Either during, or at the end of the sprint, QAs also anticipate the delivery of binary installers that will run the examples with ease while also connecting to the network of droplets, enabling further testing of the examples. That will hopefully make running these examples much less gruesome for those who aren’t really interested, or able, to clone and manually compile the code. The sprint starts this week and will run for between 3 and 4 weeks. Beyond that many goodies like the App Launcher, messaging…etc…are in the pipeline for the next sprint.

Wish us luck and stay tuned :slight_smile:

The RFCs and objectives for this sprint:

Unified Structured Data - Reduced network traffic, increased scalability and reduced complexity
Public Key ID for all messages - Enables the client to be recognised by its public key via a signed secret key
Name Service - The SAFE Networks indexing mechanism locating data to a name (DNS Lookup)
Reserved Names - Outline and maintain type tags for Unified Structured Data. Anyone is free to choose the tags not reserved for their own customised types.

Here’s the dev-transcript.


Tesnet 3! Although not called that way anymore :wink:


The objectives changed during sprint planning @JRN, so App Launcher and messaging will not start until Rust-4. During planning we released we were probably going to bite off more than we could chew.


Yes getting the RFC’s in place makes all of this much simpler, so no point in coding it to change it immediately. So we have opted for the RFC’s (Which by default almost provide these things like dns safecoin etc.). This is even faster progress, but this sprint will be tough, not as tough as last one but very important.


This all looks fabulous. I’m digging in to try to understand it all as best I can and have run into a term that recently started appearing but can’t seem to find the definition for. Can anyone direct me to an appropriate definition of “crate”?

1 Like

You can consider it a library really. is a nice site of packaged libraries.

Thanks, David.

I understood that we only have a few libraries, so that eliminating any would be a really big deal. Or could these crates be considered subsets of our major library groups?


Yes this is key, the simplification at the moment is incredible and each step means more security with greater efficiency. We have to be careful of over Engineering, but we are nowhere near that. These steps are vital and with the RFC’s people will see not only simpler and more secure but dramatically more features.


I am a bit confused on the progress update this week, are you guys still working on the “Dev Bundles” as the roadmap shows or are the sprints taking a different direction? I am very anxious for the installers to be available for Windows/Linux/Mac and was just wondering if these have been completed or will be available after the updates/changes discussed above…

YEs :slight_smile: Ok more words, this is exactly the dev bundles sprints, the confusion is that this sprint is required to make the bundles easier to use and with many more features that are easier to implement. So this sprint points were around 680 which is too many so we dropped the public Id parts (about 80 points) and some crust parts (about 60 points) and are looking at extending to a 4 week effort to get all the remaining tasks in place.

I am heading for a sleep right now to let the guys complete something I need & then will get up in a few hours to work through. This is my personal attack on the sprint from the side, so have created (over the weekend) all the types, tests and wrapper for rfc0 and intend to integrate with routing API before tomorrow morning, so that will include rfc1 (passing public key in messages). The Engineers are planning like mad and hopefully this will be a nice surprise if I can pull it off. It should help considerably as I wrote the rfc so should be able to implement it fast. We will see, I am known for optimism :wink:


Ahh! Gotcha! thanks so much for the additional info. Crazy respect to you and the team!


Ditto. I am by no means a programmer or developer whatsoever, but with these dev updates and their comments, I’m staying in touch with this awesome project. I’m hoping someday I can contribute my part (functional testing of network and apps maybe?*) but meanwhile I’m reading, reading, reading… Keep up the good work everybody, hats off to you!

  • or visit MaidSafe HQ and bring drinks and snacks by surprise? it seems open 24/7 soooo… :smiley:

Will udp be in the binary installers? I wasn’t expecting that so quickly unless that spans over the next two sprints

If you mean uTP support to CRUST, then it is not planned for upcoming sprint. There is ongoing work happening (parallel to Sprint) on it though and we will have it integrated soon in CRUST.


Thanks for the response Prakash. Yeah I was referring to Niall’s work in the transcript, it mentions udp (for hole punching/prevent blocking). Is that the parallel work you are speaking of? Don’t feel pressured to answer I was just curious really if udp was going to be ready for the installers. I’m guessing it will taking a little bit longer than this one sprint but like said just curious::smile:

I fixed the typo in the doc now :slight_smile: uTP is built on top of UDP though.
Yeah, Niall is working on it parallel to the Sprint, so hopefully we you will hear some good news soon.


Okay I wondered if that was a typo since it came out of left field. Utp is exciting none the less :smile:

1 Like

@ustulation I just wanted to point out an error in your post; the second link of the post “Public Key ID for all messages” should link to


Probably going to sound like a cheerleader, but what the hell… FANTASTIC work gentleman! Only been here 7 months, but what a thrill it has been. One day I will tell my girls I was there watching it all come together.


Fixed, Thanks !! :smile: