MaidSafe Dev Update - October 18, 2016 – TEST 11

Today we are releasing a new/updated dev tutorial :tada: We now have enabled two comments plugins: one for permanent comments and the other for editable comments. Both plugins let people comment on content using their public name. They also enable the website owner to delete comments and block users.

The difference compared to the previous dev tutorial is that users now have the ability to update their own comments and to see the history of other comments when a website is using the Editable Comments Plugin.

The Editable Comments Plugin stores the comments using versioned structured data. This enables the plugin to fetch all the previous versions of a comment and display them in a modal window.

Since the Editable Comments Plugin shares a lot of code with the Permanent Comments Plugin, we decided to explain both using the same dev tutorial. Two new pages were added (Edit a comment and Fetch comment history) and some pages were updated to explain the differences between the two comments plugins (Fetch comments and Add a comment).

Also, the Permanent Comments Plugin was updated to use immutable data instead of structured data. Now, once a comment is posted, it can’t be edited (immutable data doesn’t have any owner). Previously, the comments were stored using structured data because the APIs for immutable data hadn’t been exposed in the SAFE Browser yet.

We are releasing this new tutorial as part of TEST 11. This test network supports the new deletion paradigm for Structured Data. See this Dev Forum topic for more details. Also, size checks are now enforced by the vaults (100 KiB for Structured Data and 1 MB for Immutable Data). To connect to TEST 11, you need to use SAFE Launcher v0.9.2.

We are planning to bring TEST 10 down tomorrow.

SAFE Launcher v0.9.2

Each client account is limited to 500 PUTs. A PUT is a request to store a single chunk on the network (a file may contain many chunks). The maximum chunk size is 1 MB.

Please be aware that this test network will be reset periodically, wiping all data that is stored on it. We will announce this in a Dev Update (when possible) prior to taking it down.




  • Requires safe_core 0.22.0
  • Versioned StructuredData API exposed to read a specific version
  • StructuredData Delete APIs exposed
  • API to validate size of StructuredData and ImmutableData added
  • Minor bug fixes

Known limitations

  • Only Rust logs are created. UI logs are currently disabled.
  • The dashboard UI update is not consistent and the graphs are not reliable.
  • Account storage section in dashboard has a typo and displays invalid date label.

SAFE Comment Tutorial samples

Enable comments on your SAFE website!

The new API functionalities of SAFE Launcher enable developers to build apps with dynamic content. To showcase these features we are providing a tutorial that enables users to comment on content using their public name. This tutorial uses Public Appendable Data. Website owners can delete comments and block/unblock users. The ability to block users is enabled by the filter field of Appendable Data. For this tutorial, we use a blacklist (as opposed to a whitelist). Everyone except the keys (people) listed in the filter will be allowed to comment (append data).



SAFE Demo App v0.6.1

You can continue to use the same binaries as TEST 10, the demo app hasn’t been updated. You need to use SAFE Demo App in order to upload the SAFE Comment Tutorial samples.

When uploading files using SAFE Demo App, the maximum file size is 25 MB per file.



SAFE Browser v0.3.5

You need to use the new version of SAFE Browser (v0.3.5) in order to interact with the SAFE Comment Tutorial samples.



SAFE Mail Tutorial v0.1.2

We had to fix a minor bug, so you need to use the new version (v0.1.2).

An example of an email app skeleton to allow developers to pick it up and add some basic functionality for a fully working email MVP. Then add further functionality using the APIs described in this tutorial, to make amazing communication tools in SAFE. We have tried very hard to not make a user-facing app as we want developers to see this as a tutorial and know they have everything they need for communications apps in SAFE and a bit more.




  • Unversioned Tag Type Corrected
  • Compatible with launcher version 0.9.2


If you need help with anything related to SAFE Launcher or SAFE Demo App, please use the #support category on the forum.

If you need help with anything related to SAFE Comment Tutorial or SAFE Mail Tutorial, please use the #support category of the SAFE Dev Forum.

Where should I report issues?

If you know which component a bug is associated with, feel free to report it on GitHub in the corresponding repo.

If you’re not sure where to open an issue, you can simply create a new topic on this forum and add the #bug tag. @lightyear and I are subscribed to the #bug tag, so we will automatically receive a notification whenever someone adds the #bug tag to any topic. We’ll take care of opening an issue on GitHub if necessary.

If an issue is specifically related to the SAFE API, then it makes sense to use the SAFE Dev Forum. But for issues related to end-user applications (e.g. SAFE Launcher, SAFE Demo App, SAFE Browser, etc.), it’s fine to use this forum ( Most users already have an account here :smiley:

SAFE Launcher

We will continue the discussion about the future of SAFE Launcher this week.

The approaches we have narrowed down for app authentication favor support of mobile clients. We want to ensure that Launcher / Authenticator or whatever it’s called can work on mobile, desktop…etc… We also found an approach that will help us speed up the deployment to mobile, however, there are still a few missing things that we need to figure out in terms of app permissions and app management. We want to choose a solution that provides a good user experience and won’t annoy users with lots of authorization prompts (also know as “auth fatigue” :stuck_out_tongue: )

Once that part is done, we will present a summary of the discussion to the Dev Forum. The ideas presented will still be open to debate by the community and we’d love to hear your thoughts and feedback once we post that topic :slight_smile: We will then write an RFC that explains the changes.


Many changes to support the new delete paradigm (including making a StructuredData unclaimable) have been put and tested in safe_core. Some new scenarios have come up due to the way users delete SD, such as sending a POST request to a deleted data or re-deleting a deleted data…etc… These required appropriate errors and test cases which have now been incorporated into the code.

New APIs are now exposed for claiming a deleted data and making an SD unclaimable.

The work for async safe core is progressing in parallel and will take some time to complete.

Routing & Vault

Last week, we had two full days of discussions about measures to make the network more resilient and stable enough to let users run vaults from home again, and how to securely send group messages across the network with the new group definition without causing a performance regression.

The core part of the Disjoint Groups implementation (but not yet the new message routing - see below) is nearing completion, and we have started adapting the network tests to it. This week, we will start debugging it and make the basic network functionality work based on the new paradigm.

After that, we will implement the new group message routing mechanism. It will be slightly different from the one specified in the RFC, however, delivering the same level of security but without the huge increase in the number of hops or hop messages.

We also agreed to move forward with the Node Ageing RFC. Before we start with its implementation, however, we will create a simple simulation to get a better estimate for the parameters (quorum size, group size, etc.) that will be needed to secure the network against certain attacks.

Dev Outreach

Work on dev outreach continues, and in addition to MaidSafe speaking at Bitcoin Wednesday on the 7th of December, @lightyear is also working on getting dev meetups started in 2 of Europe’s most influential tech cities, Amsterdam and Ben’s home town Berlin.

The event in Amsterdam will be around the 7th of December so your help and ideas to promote this event would be appreciated. Maybe you are aware of other like minded groups in the area that we can partner with, or maybe you are from the area and are tapped into a local group of developers. If you are a developer and are from, or can get to either of these areas please sign up via for more information.


With further funding now in place and the 4 developers hired during September/October settling in well, MaidSafe are once again screening CVs and preparing for another round of code challenges and interviews. The current focus is for Rust Engineers and Full Stack Developers. Scaling the team with the right individuals will obviously enable the velocity of development to increase and as the company grows during the remainder of this year and into 2017, expect additional roles to become available.


I win! lol first time for everything :stuck_out_tongue:

…aww dang Nvm, was undercut by a millisecond… :,( you guys are fierce!



1 Like

Awesome :tada::boom:


Yeah, I noticed that too. 90% of my online life is on a mobile lol!


Great update!! @frabrunelle I know the test networks are for testing and tech people. But I think we should make a little package with 1 map for all Apps, Browser etc. If people want to test the latest version of SAFE (in this case TEST 11) we scare them away a bit with all the different download links :yum:. Most of them will bite through, but still…

For the rest great to see all stuff going on :+1:


Amazing progress and one step closer!!! I’m so anxious to see the final pieces fall into place, they are all there. Disjoint groups, resource proof, node age, data chains. But of course to get this right these things need to be tested/balanced/refactored what have you. This is where it’s at!!!


I think to have the new comment plugins integrated into the demo app would give more non tech people some real fun also!



I know the test networks are for testing and tech people. But I think we should make a little package with 1 map for all Apps, Browser etc. If people want to test the latest version of SAFE

Maybe someone in the community could put together an installer and update after each release, then it can be added to the update next day or so? Nice little project for someone and a great way to help :+1:


Great update. I like to see MaidSafe set off the right foot!

Wishing you guys the best and believe with the funding there will be more time to focus on the important things and get more minds to finish this great project.

:airplane: :airplane: :airplane:


That will mark the tipping point from cool and geeky to explosive on all counts.


No doubt. Because we’re not alone… :wink:

1 Like

Haha, you pump and dumper :slight_smile:


DIY list of safe websites:
that with the editable option.

The option to put html into the comment remains, so for now can add wrapper to links as
<a href="link">link</a>

Beaker in Linux at least, seems still to need safe:// typed instead of defaulting to that.
Also, seems that closing a second tab, doesn’t just fall to the open one but gives blank page that needs to see browser closed to use again.

and now I shall read the update ;p


Editable comments plugin works a treat - very nice job :thumbsup:

An I too am excited that mobile is being worked on. That’s greeeeeaaaaaaat news :slight_smile:


Awsome update. Everytime people assume that “it’s just static websites” we should point to it.


Proxy setup is still part of the help section of the launcher :frowning:

1 Like

What does EPB stand for on the icon for the Safe Beaker Browser? @joshuef Can we use the SAFE logo instead?

Whoa, lots of new stuff. Going to have to start adding new folders like TEST11 to house all these new versions. Good job hustling and releasing this fresh update.


Tried to do the editable comments. Getting
“window.safeDNS.listLongNames is not a function”