MaidSafe Dev Update :safe: 3rd May 2016

The majority of the development team have been working and testing Vaults in the last week and are reporting back very positive findings even under aggressive churn. Another large scale test was started tonight and we shall update the community on our findings from this test later in the week. We hope to include the whole community in the next testing phase, which should begin very shortly.

##Crust : Vinicius / Andrew / Spandan

Because of the phenomenal success rate of TCP hole punching, we have decided to park uTP / UDP for just now and concentrate on TCP only for immediate iterations. Crust was built using blocking I/O because that is what we had when we started with Rust. However, blocking I/Os don’t scale much as is evident in the number of threads in our design. So Crust right now is undergoing a rewrite using async frameworks and will be made available in future releases. MIO is now stable and supported on at least three major platforms - Linux, Windows and OS/X. So we are in the process of brainstorming the best possible way to do async I/O (plain even-loop, co-routines, etc) and will code the library accordingly.


All development resources have been reallocated to other libraries this week.

##Vaults : Andreas / Fraser / Qi / David

Most of the Dev capacity is currently focused on Vaults. The team rewrote the refresh algorithm so that a joining node does not cause a flood of large messages and instead downloads the data it needs to store gradually over a longer period of time.
The guys then moved on to testing mixed networks with droplets as well as nodes behind routers; problems with asymmetric internet connections became apparent. We are now working on a few measures at several layers to deal with connections that have much lower upstream than downstream bandwidth, as is the case with most ISPs.

##Client : Krishna / Spandan / Shankar

The focus from the Client team continues to be on the log visualiser and roadmap from last week. @krishna_kumar was working last week to get the log visualiser running against the actual Vaults. Today we hope to be testing this in a scalable hosting platform to allow the log visualiser to handle large volumes of data. The log visualiser will be ready for the internal dev team to use tomorrow.

@shankar and @scott have been working on the roadmap changes that were suggested by the community. Also, changes to the website that will be needed to support up and coming releases have been designed and implemented.

The plan is to get back into the RFC discussions, followed by prioritising and scheduling for RFC work from this week.

##RFC : lightyear / Ross

Community contributor @lightyear made a proposal to simplify and improve the RFC process and then raised the PRs to implement the proposed changes. The previous structure of folders and status progression of RFCs made it difficult to link to an RFC and for that link to consistently work and not be dead. So @lightyear proposed we look at the:

Python PEP Process (which the rust RFC process is largely inspired by), how about adding a top-level field status instead like they do (and maybe one that mentions the release version once it was published)? This way, each RFC could stay in one place and be linked to.”

The team liked the idea and @lightyear raised the PRs (also raised a tidy up one as well) and the change is now implemented; he has also added a page where you can easily browse RFCs by status. A great example of community contribution - thank you @lightyear.

##UI Design: Scott

Last week, @scott worked on the design of a number of updates to the MaidSafe website and also on a network status dashboard.

@scott is now working on designing the changes to the MaidSafe website which were detailed and scoped out in previous weeks.

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


come on! First and read!


Great news, thanks for the update :thumbsup:.


very very cool :slight_smile: and big thanks -> @lightyear

yeyeeeeey :smiley: [quote=“polpolrene, post:3, topic:9034”]
We hope to include the whole community in the next testing phase, which should begin very shortly.

:heart_eyes: :sunglasses: :blush:


Thanks @Ross… looking at the transcript unusually there are several blanks. Are these folk away or …? And dare I ask how @Adam is getting on… blame David, he hinted strongly there would be some neat news on ARM :slight_smile:


Yip ARM is there chap :wink: One issue is it needs kernel version > 3.9 Ubunut/Debian ARM images currently are older kernels. Not a huge issue, but Alpine Linux for instance (which we use in the docker images) are smaller and possibly much more secure, are already at kernel version > 4.1. Apparently within a week ubuntu/deb updates will be available for arm with such a kernel as well. So all looking good for Alpine now and Ubuntu etc. next week.


@happybeing nope those folks are not away, I just didn’t chase them hard enough :wink:
@adam has done great work on ARM, we are waiting on a version bump in Vault and we are working round some minor kernel requirements. Looking good - hopefully more soon…


What does needing later kernels mean for Odroid (Ubuntu) for example - does it mean getting a new Odroid image or is there a simple way to “update” the current OS on them?

1 Like

Crust required a kernel version of at least 3.9 and all the official-ish odroid existing Linux images where below that. Hardkernel said they would have a 16.04 LTS image out in the beginning of May, but as @dirvine said we are also going to test Alpine which is already on a later kernel first.


You could always use arch for your odroid, I can’t remember which kernel they’re using, but I’m pretty sure it’s > 3.9.

Installation is super easy (just dd the image onto your SD or eMMC) and usage is also relatively easy.

EDIT: Just checked, it’s actually 4.5

I just bought a C2 to replace my C1 as the main home automation device, so I have a spare for SAFE now. :wink:


sudo update-manager -d should upgrade ubuntu type systems. You may need to do this in 2 steps, depending on how far back your version is. It’s automatic though and usually pretty good.

1 Like

Thanks Maidsafe Devs for your hard work and the update.

Sorry for this weird question in these busy times, but will a SQRL login for the SAFE Network follow or is it handy that a community member works on it to log into the SAFE Network. I need to know for an app idea that i’m working on.

Thanks again and keep up the good work :stuck_out_tongue:

Thanks - I think that is updating packages rather than the kernel? My Odroids are kept up to date with a regular “apt-get upgrade”, but I’ve never messed with a kernel update.

Am I right in thinking a kernel update is a whole different matter or can it be done with “apt-get” or “update-manager” (the latter I can’t use BTW as it is a GUI and I’m using ssh remotely :wink:).

EDIT: @Ross on the Odroid forum Hardkernel say they’re hoping to get 16.04 for U3 out by end of May. Shame we can’t use Docker on ARM :frowning2:

Ah no update-manager -d updates whole image if there is one available.

sudo apt-get upgrade - no kernel packages
sudo apt-get dist-upgrade include kernel updates for this version

That should do it, if you were a better skater you would know man, but there ye go :smiley:

[edit] I think update-manager -d will run in command line. I Think ?? Also if you wish you can pass -X to ssh to run window commands on remote boxes (if you are on a linux box)


Just a word of advice, this will update to the latest devel base of ubuntu/debian. Upgrading to the latest stable is done via:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

This will update to the latest LTS version, 16.04. But I’m not sure which kernel they’re currently using on arm for LTS. :wink:

1 Like

Fighting talk… things must be feeling good there I reckon :slight_smile:

You’re probably right, but then we will probably have to wait and see as with Satoshi!

I forgot about dist-upgrade. I’ll probably need reminding again though… aging brain.

1 Like

apt-get upgrade will also upgrade the kernel, if one is available.

check lsb_release -r to see your version, if it’s != 16.04, follow

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

to get to the latest (stable) version



But thanks for trying! I guess this means that Ubuntu have not released later than 14.04 for ARM?

1 Like

Huh, I just saw that the latest official release for the C1 for example is 14.04, which is an LTS release, but two years old now. There were upgrade in between, but still.

To give you an example, here is the installation routine for the C1

You should really give arch a try, it’s a great distro. (Rolling release, always up to date but still rock solid)

But we’re getting really off topic now, shoot me a message if you have further questions. Happy to help :slight_smile:

EDIT: For the C2, there already is a 16.04 release, that’s why I thought the others were up to date as well.


ARM is never off-topic! (I can say that now I’m not a mod :wink:)

Thanks for the help offer - I will fiddle with as little as I can get away with for now though. That will probably change when there is something to run though!