SAFE Network Dev Update - November 14, 2019

You may have a couple of payday to go:laughing:


Documentation! :blush: great start and really easy to read and informative. Dig it.

Really looking forward to all the data types being exposed in the safe-api. Also data streaming for immutable data, network push, and for public containers. Big asks but these things will be so damn handy for fully functional apps. I know we’ll get there and the @maidsafe team are really delivering. Huge props and thanks for the dedication.

Happy to hear Qi secured an engineering role as he’s been a long time member! Congrats!

Curious @lionel.faber you had said the containers are being implemented with MD for now but I’m curious on some specifics (in a layman way for me if you don’t mind :smile:). I’m assuming the user has a master key (under a SAFEID or the like) and when an app creates a custom container on behalf of the user the user has control of that key and is shared with the app, which could be revoked? And if the app has access to this containers key to decrypt or manipulate data, can that application share that key with anyone effectively making that data public? Or does the user have to authorize anytime that key is shared? I’m assuming the latter but am wondering if there is a workaround for having a public container. We’ll need a good and easy way for a user to be under control of data they would like to be public and discoverable through an app, yet be able to revoke that if desired and possibly migrate to another app. I believe this has ultimately been a goal of the team for some time, correct? Just taking the necessary iterative steps to get there.

Anyhow. Helluva an update! Great work to all :love_you_gesture:


Great update! Welcome Qi! So much going on as always :slight_smile:

That reminded me of this:


Happy to explain @Nigel

Yes, you’re right.

Not exactly. When an app wants a container for the user we don’t let the “app itself” create the container. The request is sent to the authenticator which creates the container with the required permissions for the app. The details (address + encryption keys) are then shared with the application. The application will never be given ManagePermissions access to this container.

There’s nothing that the user can do to stop an application from sharing the key to others. However, even with the address and keys other users / apps cannot fetch the content from the containers. The GET requests should be signed by a key with valid permissions. Does that make sense?


Great work, everyone! Lots of solid progress and the first big Fleming shaped goal is in sight!

Brilliant to see @qi_ma on the team sheet again too! I always see lots of his commits on github, so glad he is here!


Great job as always :heart_eyes:


Yes, the Elders IP can be exposed in this way. There is no real way around that, barring vpn etc. for now. Adults and Infants will not be though.

Yes Sharon is sending these every so often. Just lots of busy work right now with the changes and office close etc.

If the explorer shows the coins there, then it’s all good. That is what Sharon uses to check.


:tada: Safe Network App, 0.0.4 is now available!. You can download from github, or just open the app to get an update notification in app! :tada:


Is the shared vault still operational? I’m getting errors from the authenticator.

$ ./safe_auth --test-coins
thread ‘main’ panicked at ‘called Result::unwrap() on an Err value: Request has timed out - CoreError::RequestTimeout’, src\libcore\ note: run with RUST_BACKTRACE=1 environment variable to display a backtrace.

EDIT: Replaced vault_connection_info.config with this one. Working now.


That’s the browser update available too.

NOTE: you cannot update from 0.15.2 from SNAPP. You’ll either need to uninstall / install via snapp, or use the browser’s baked in updater. Attempting to update via SNAPP will fail as 0.15.2 isn’t capable of background updates.


Is there a way to verify the version number of the Safe Network App or the version number of the Browser installed by it?


Depends on the platform. Mac has an ‘about’ menu under the application name in the menu bar.

Linux updates the file name (which has the version number within it).

Windows may have the same menu as mac, i’m not 100% sure. But its has a version file installed in the application directory which we check.

Does seem that we need a nicer/simpler way to check though :+1: (


Thanks @TylerAbeoJordan for the video :slightly_smiling_face:. I am a big Naruto fan :sweat_smile: and it makes me soooooo happy.


I’m on Linux, but I don’t see a version number in the name of any of the files associated with the browser in ~/.config. I did a clean install of SNAPP (Sorry if the abbreviation is impopular) and installed the browser through it.

1 Like

Good update.
Welcome @qi_ma
I wonder what David means about the community backing of engineers…hmmm.


I mean we need to properly set up code bounty rewards for community contributors. A push to decentralise SAFE development really. I still feel that even as we have become pretty solid for the next few years, just that growth spurt and cost explosion nearly caused great harm to maidsafe and then SAFE, so we need to start making sure SAFE has less dependency on MaidSafe. No great rush but I think it is what we need to do.

I would be up for a pot of the maid we borrowed to be set aside for exactly that. I need to dust to settle first, but I am thinking along those lines.


Investors will love this idea. That loan did prolly unfreeze a lot of MAID that was in long term HODL mode. We really would much prefer to see it spent directly on things where it won’t nessesirly get liquidated on the market right away. Refreeze some of it and still get value in terms of advancing the project in exchange. Music to my ears!


Is the meetup still going ahead this Thursday in Brighton? Will you be there @dirvine? Cheers!


Yes, I will be there via video conference.