New Release: Vault Phase 1 (real vault)

We’re here - the final piece of the Vault Phase 1 milestone!! :raised_hands: As we mentioned last week, the final piece of this puzzle was to replace ‘mock’ vault with the real one. So with today’s release we have the SAFE CLI, ‘real’ SAFE Client Libs and now ‘real’ Vault that you can run on your machine!

We’ve also set up a public shared Vault for you to play with. To access it, you will need to point the Authenticator CLI to use it. Please find more details and instructions below.

What’s included today?

Today we’ve got new versions of the CLI, Auth CLI, and the Vault binary itself.

If you’ve played with the previous releases, you’ll need to update them with the new CLI releases to be able to authenticate against the Vaults - see instructions below.

You can download the new Vault release on GitHub. Builds are available for Linux, macOS and Windows.

How to update your safe-authenticator-cli and safe-cli

Thanks to our recent implementation of self_update crate in both the CLIs, if you already have a previous version of the safe-authenticator-cli or safe-cli on your machine to update them you can navigate to the directory that each binary resides, and for safe-authenticator-cli run with the --update flag ($ safe_auth --update) while for safe-cli you should run with the update argument ($ safe update).

If you don’t already have the CLIs locally then you can download them from their GitHub release pages:

How to run a Vault

With the vault downloaded, you can run $ safe_vault, and it will automatically create config files for you locally.

You can now run $ safe_auth --daemon 41805 --test-coins to create a local balance and run the authentication server (on port 41805).

In a new terminal window, you can now run the safe cli, to create websites, for example!

If you want to learn even more about the commands and use cases supported by the safe and safe_auth CLIs, please refer to the corresponding User Guides, we strongly recommend you to have them a read to be able to make use of all the functionality they provide:

Using the shared Vault

We decided to host a vault for the community to allow those of you who do not want to run your own vault to still have a go at using the CLI clients. Follow the steps below to configure your machine if you want to connect to the shared vault:

  • Download the vault_connection_info.config shared vault config file from GitHub
  • Depending of your platform:
    • If you are on Linux save this file to ~/.config/safe_vault/
    • If you are on macOS save this file to /Users/<USERNAME>/Library/Preferences/net.MaidSafe.safe_vault/
    • If you are on Windows save this file toC:\Users\<USERNAME>\AppData\Roaming\MaidSafe\safe_vault\config\

You will now be able to follow the instructions from the two CLIs User Guides here and here and connect your clients to the shared vault.

Upload timeout - local and shared vault

Right now Client Libs feature a timeout after three minutes, which means larger files on slower connections will not be uploaded successfully. This is a known limitation and will be dealt with down the line. This may be particularly noticeable when uploading over a slow connection to a busy shared vault.

Bonus product

Just like the end of the movie credits there’s often bonus footage … well here we have a bonus product for you - the SAFE Browser proof of concept for these new shiny APIs that form the basis of the CLI. You can download the POC over here for Windows, macOS and Linux. And it’s worth noting, this does not work with the alpha-2 network, nor does it feature a baked in authenticator page at the moment.

Feedback and support

As always, you can drop your comments or feedback below this post or, if you prefer, in GitHub in the corresponding repo.

If you need any support, don’t hesitate to pop your question below either and one of the team will happily help you out.


nnnnn hjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj

EDIT: Seriously, though. Thank you for the great update. I’ll start a vault tomorrow, but first I need some sleep. Nighty night.


FYI Covfefe stands for Communications Over Various Feeds Electronically for Engagement Act (COVFEFE Act).


Woah! :clap:

This is fantastic, and exactly as promised. Thank you team @Maidsafe you are… delivering!


Impressive… most impressive!

A bit too late for me to play with tonight, but I’m looking forward to having some fun over the weekend!

Amazing job guys!


I’m on it. Can’t wait to try this out. So exciting! Thank you Devs!


Started a vault … but it seems like it’s “stuck”. I expected to see something more happening. I also do not see any log files being created, or any activity, really.

It tells me it’s writing connection info and that’s where it hangs…



Tried to create an account. Got a "thread ‘main’ panicked at 'called Result::unwrap()

I was able to get a backtrace.


That’s timing out when trying to connect to the vault, and because the vault is not running then fails, can you please try restarting the vault and see if you get it to run this time? if not let’s see if some of the other folks can help with the vault issue.


Here’s a pic of both windows, showing that the vault is kinda-sorta running, but seems “hung”. In the other window is the timeout error. … I’ll try vaults from home later. Must be some issue with my work computer.



Yeah, I don’t think the vault is ready for accepting connections, the output looks incomplete to me…


Self update is really cool, but a minor discrepency. safe_auth is a flag, safe is a subcommand.

./safe_auth --update
./safe update

Will be very cool when “New exe download url” starts with safe:// instead of https:// :exploding_head:

With permissions, I think it makes sense that any files in /tmp/safe_vault (or the root directory configured by the user) should be 600, and same with files in ~/.config/safe_vault.

Calling ./safe_vault --help connects to the internet to check current vs latest version. Seems very iffy to me when simply calling --help. But the help is very helpful so that’s great!

I did a hello world test uploading some immutable data to a locally running vault, very simple and satisfying. safe cat is strangely awesome.


As @Tom_Carlson, cannot make work with my local Vault (Windows)

but work with the shared Vault…


HI @mav,

Thanks for that feedback on self update!

Regarding the issue with --help: I agree with you - having it connect to the internet before displaying the help menu isn’t a very nice user experience. I can get that changed.

As for the slightly inconsistent self update UI between safe and safe_auth, this is because the 2 apps are intended to be used a bit differently, and the code bases reflect that. safe needs to have a more complex UI, so the code is setup for using subcommands with positional arguments, but we only really need to pass basic options to safe_auth, so the code is only setup for using named arguments and flags. I hope that makes sense.




This is the expected output, the vault started and is waiting for connections from clients. If you want it to output a little more info of what it’s doing try setting the environment variable RUST_LOG=safe_vault=info in the terminal running the vault (before starting the vault)


Seems a specific windows problem. I’ve tried a local vault on Ubuntu and works. But neither in a computer with windows 10 nor in a VM in another one work.


Milestone day !! Congratulations @maidsafe team :sunny:

I’m in !

Checking target-arch… x86_64-unknown-linux-musl
Checking current version… v0.19.0
Checking latest released version… v0.19.0
Update status: 0.19.0!
Our connection info:
{“peer_addr”:“”,"peer_(etc etc etc …


Great news! Can we have an ARM version as well? So we can test it on something like a Raspberry? @bart created one for the community network that worked well.


@nevel we built the vault Linux binary with musl libc so I’m hopeful this will work on something like a Rasberry pi - do let us know if this is the case if you get to try (I don’t have one to test with).

With the cli clients we hit some problems trying to build them with musl libc and we’ll need to spend more time on that, but definitely something on our to do list.

See the musl libc mentions in the dev update from August 15th SAFE Network Dev Update - August 15, 2019

EDIT - @nice tried the vault on a pi and it didn’t work, though @happybeing suggests compiling for ARM and even has instructions New Release: Vault Phase 1 (real vault)


I just built the safe_authenticator_cli on a raspberry pi4, it works like a charm with the shared vault :+1:

Account was created successfully!
SafeKey created and preloaded with test-coins. Owner key pair generated:
Public Key = didyouexpectIwouldpastethis
Secret Key = andthistoo?
Exposing service on