MaidSafe Dev Update :safe: 14th September 2015

Another busy week in MaidSafe, as usual. We are in mid sprint now with the stabilisation sprint. This is to allow larger, although still only directly connected, networks. It will allow us to confirm vault, routing and client logic in a larger test across hundreds of nodes. While we wait on the NAT traversal appearing in Crust, this is an opportunity to include logic and test the network without being held up.

The team were delighted to have released the DNS examples and a first example application, however, we pushed straight into “RUST-4” sprint with the following objectives:

  • Code cleanup
  • Run RustFmt on all codebases
  • System stabilisation (API and tests to prove APIs)
  • Client installers
  • OSX vault installer
  • Launcher RFC (see below for more info)
  • Churn handling and testing (routing clients and vaults)

We didn’t want to run out of work, so we also added a few stretch goals as follows:

  • Address relocation fully activated (i.e. moving a node once it connects, so that it doesn’t get to choose where it connects to the network - making it harder for attackers to try and form authority groups)
  • Further work on Windows vault installers. We have working installers for Windows 8.1, but we need to do a bit more work to get these polished and we also need to ensure they work for Windows 7 onwards on 32-bit and 64-bit systems.
  • Implement UTP hole punching
  • Design TCP hole punching
  • Update Routing’s connection management to accommodate NAT traversal

The final three points will likely be added to the upcoming RUST-5 sprint. These will allow Vaults to be run and tested from behind most routers - i.e. from your home - so another big step forward.

As usual, you can follow the ongoing progress of the sprint in the Jira dashboard. Despite Jira’s burndown chart (normal pattern for middle of sprint), the developers are generally confident that we’ll meet the objectives of the sprint on time.

Both Routing and Crust have seen a few more changes to their APIs, but we’re hopeful that there shouldn’t be as many ongoing changes to library APIs in the future - indeed that’s one of the points of this sprint!

The Launcher RFC has now been submitted. The Launcher is effectively the gateway to the SAFE Network for any app. Among other things, it will allow end users to create accounts, log-in, and store and retrieve data via their apps. I’d encourage anyone interested in developing client apps for the SAFE Network to have a look and add any pertinent comments or concerns.

We’ve seen a lot of activity in the form of Community members offering pull requests. We’ve paid out six bounties totalling $220 so far to four devs, who should all be getting a T-shirt for their efforts too. While this scheme is still in its infancy and will doubtless change over time, I think we’re off to a very promising start. The more eyes we have on the core codebase, the better the end result will likely be.

This is a great way of sharing the knowledge and has shown us that we do need to specify our tasks in a more detailed manner. At the moment many tasks read more like Engineer mental notes, which is fine for the in-house team, but we are now larger than that. So a great start and lessons learned; we suspect this will increase in popularity in the next few sprints.

A final note, you may notice the forum a bit quieter in the next two weeks as David is going off line and taking a break. He says he will switch off the computer and get some real rest, which is probably overdue. He never takes breaks from the work and this is now the calm before the storm and it makes sense to be fully recharged for the next step.

As always, here is the transcript of the weekly meeting.


@anon86652309, thanks for the clearly to read update!!! Also readable for the non-tech people where we stand at the moment. Thumbs up!

I’m watching the Jira status on daily basis and it’s working on a very addictive way lol.
Can’t wait to check the app launcher!

History in the making! :wink:


Well deserved :smile:

Happy vacation David


Fill your mind with peace David! Very excited for Rust-5


It should come almost completely from RFC’s which will now take centre stage in the planning process. Before an RFC is accepted the code has to be included in the RFC to a stage where it’s almost cut and paste into production code. So expect a lot of work in RFC’s and those to become much more in depth.

And with that I sign off for 2 weeks. See you all soon fully recharged (first 2 week break in 10 years, so I should be).


To the high seas my friend!


Short on time atm but I’m keen to see a 32bit Linux install… are we still need to compile those?.. Was there some Rust issue holding that back??

i might be wrong - but i think the main problem is that the firefox-addon is atm 64bit only … so even if you had a precompiled version of the 32bit-vaults you could only see things happening inside a terminal …

I don’t think there are any known problems with any of our projects on 32-bit Linux. We do have issues with 32-bit Windows for some of our client projects. They boil down to Firefox only being available as a 32-bit build, and one of our third-party crypto dependencies has a bug which causes a runtime error on 32-bit Windows.

In fact we’re currently testing Apt and Yum installers for 32-bit and 64-bit Linux, for the SAFE Vault and the Client examples.


oh - great to hear that :smiley: i apologize for my incorrect statement =) (i should have mentioned i don’t have access to any 32bit linux pc … and didn’t invest the time to test it with a VM)

very very cool - i love apt :slight_smile: makes updating so comfortable!


Great work! JIRA is very active these days! I can’t wait to see the network working.


As one of the ‘community developers’ I just wanted to pop in and say this would be amazing. Quite a few times I’ve overlooked tasks with lacking descriptions only to look at the pull request after and realise I could have easily done it. I will definitely be contributing a lot more if I can find the tasks!


Me too. I have looked at the Jira tasks a few times and couldn’t understand them.

Then this week I saw someone completing a task that I could have done easily (when I looked at the PR the changes were a simple search and replace). I tried to find where the detail was - the task has no description, just a two word title which obviously wasn’t enough for anyone to assess without more knowledge.

I wasn’t sure at the time if this was me not being able to find the info, or if Jira hid the description once a task was taken/completed etc. Now I’m pretty sure it just wasn’t specified, yet someone outside the team got the detail - presumably by asking for a task to try.

I expect some, like me, have read the “if you don’t understand the description of a task then it’s probably above your competence” and been discouraged. There are no doubt others like me who have not used Jira before, so there are multiple hurdles for new contributors to get past, not just the descriptions.

I think it would help a great deal if you were to specify tasks, with a description someone completely new can use to decide if it is worth following up. It should bring more coders into the project.

I see several people have been taking part, but am not sure if they just got lucky with some well described tasks I haven’t seen (I didn’t go through all of them), or if they were given detail after approaching the team - which I’ve been reluctant to do when I’m just interested rather than definitely going to help.


Devs - OSX vault - will it run under OSX 10.5.8? Seven potential processors and a mess of RAM/Hard drives on a gigabit network to add to the network if so:
I have 3 later model dual processor PowerPC G5s in my basement that could easily/quickly be recommissioned/deployed as nodes (the economics of running the old Dell server with 8 core Xeon processor down there next to them are a bit nebulous at the moment, so I’ll wait a bit before I go installing Linux on it… And then there’s the G4 laptop, also 10.5.8…)

1 Like