New Release: Vault Phase 1 (mock vault)

We’re delighted to announce we have the next piece of the puzzle toward Vault Phase 1 milestone, ready for you :tada:

So far, on this particular milestone journey, we started with a focus on evolving the CLI (bringing you wallet, files, and most recently NRS related commands), all of which worked in tandem with mock SAFE Client Libs + mock Vault.

With the CLI in a great position we took on the next piece of the puzzle, which was to swap out mock SAFE Client Libs with real SAFE Client Libs. And today’s release is the result of this work. So today you’ll have two binaries to play with: SAFE CLI (including the real SCL + mock Vault) and the latest SAFE Authenticator CLI.

Also, a wee reminder this release still stores everything locally on your machine, so don’t go uploading 10GB worth of files, or it’ll slow things right down :snail:

Feedback and support

You know we love the community giving us feedback so don’t be shy! 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.

What’s next

We’ve already started work on the next release iteration of this milestone, which is swapping out mock Vault with a real Vault.

Working towards this, we’ve spent the last week identifying and fixing discrepancies discovered when running against a real Vault vs a mock one. So far only minor issues have been found. These include things like reporting back to the Client when uploading duplicate unpublished immutable data; the reason for balance refunds (which can happen for example when trying to transfer coins to a non-existent balance); apps with insufficient permissions should trigger access denied rather than invalid permissions; stricter checks for coin operations and the CreateLoginPacketFor RPC should report a transaction response.

The only slightly more involved fix was having to restructure the connection logic in safe_core to be able to juggle multiple connections to the same vault simultaneously. Again the SCL team delivered the goods!

As you can see, none of these are show-stoppers of any kind so very soon you’ll be able to run a local Vault instance and have your local client connect to it as when connecting to the real network. The next phases would then focus on assembling multiple Vaults into a full-fledged peer-to-peer network, step-by-step.

As a reminder, when this Phase 1 Vault milestone is completed, it will emulate the entire network in its fundamental state. In other words, clients will connect to a running Vault instance as if they are connected to the whole real Network.


This is incredible work team! So excited, thank you!


Note we rocking… or rocketing :rocket:

TLDR; this should allow SAFE CLI to work with data created in the mock Vault by other apps and vice versa… Or perhaps not? …if CLI uses new data types, different vault file, APIs?

@Maidsafe can you comment on the level of, or lack of, compatibility with data in existing mock vault? Or are we starting anew here? Is the vault filename the same or different from that used by SB Dev?


There is no compatibility with alpha-2 style mock vaults. It’s a new storage file.

Anything using the APIs should be able to interact w/ data put into the same new mock vault. (though currently, the scope of that is limited to the rust APIs the CLI uses, or the CLI itself). Though we’re on the way to having certain apps be able to fetch some data put there via CLI


Great to see this piece of the puzzle slipping into place!


So it’s just CLI at this point, but SB Dev? will migrate to this soon-ish. Anything else?

WHM seems redundant and tbh I still don’t know how to use it to upload a directory tree so would probably just use CLI.


Great to see this one out the door, been looking forward to it!


Yes, CLI for now, but as you spotted last week’s dev update we are already playing around with JS bindings on top of these new APIs and new data types which should allow us to have the browser to read this data as well, ofc. So not there yet, but in the path and with priority. There are no plans now to have WHM UI to be compatible yet, we’ll see how things evolve to decide what’s the best UI for the same commands supported by CLI to upload files and publish safesites, CLI supports all this for now.


It will be awesome just to push or pull a site with a few key strokes. Reminds me of git… which I suppose is rather neat, considering files will be versioned out of the box! :wink:


The team is ‘vaulting’ right over phase one! :wink: Great work MaidSafe team!


A post was merged into an existing topic: SAFE Network Dev Update - August 22, 2019

Wow team, you really are pulling out stops — it’s beautiful to see this come together, step by step.

Many thanks to everyone helping to make this possible!


Thanks, trying out. Can you give some basic command examples to start with? Or is there some documentation? (I always have trouble with the --help option on these kind of tools, just some examples is much easier to understand)


On running the safe_auth package in Windows it goes straight into a prompt for secret and password but doesn’t accept my existing ones, or any new combination I can come up with.

PS C:\Users\John\Documents\SAFEnetwork> ./safe_auth Secret: Password: [2019-08-22T19:26:43Z ERROR safe_auth] safe_auth error: Failed to log in: SndError(NoSuchLoginPacket)

I agree with @nevel a starter guide with examples would be handy, or at least some instructions prior to the password prompts.

Edit - same with Ubuntu.


Have you seen the examples on this page?


@nevel @JPL , we have a User Guide in the README itself as @draw was pointing out, anything you don’t understand there, or that you think should be enhanced/added, please comment and we’ll try to help you.


That’s because it’s assuming you want to login rather than create a new account. You cannot use any existing credentials since this is the Vault-mock, so it’s not shared with Alpha2 accounts or mocks, you’ll need to create a new one. To create a new one look at this section here:

In any case, it’s good to go thru both User Guides in this order and follow it:


Hi @bochaco - yes I tried that. I can create the keys but afterwards I can’t log in. I’ll keep playing. I’m probably missing a step.


Ok, just in case anyone else is having a similar issue as JPL, this seems to be working fine (for @JPL as well):

$ ~/Downloads/safe_auth --test-coins
Account was created successfully!
SafeKey created and preloaded with test-coins. Owner key pair generated:
pk = 881db434cef108b5aa7b46f1870b789f6b06f684c3271fbbb3b33d4d053cf21373aedd205d79d5c10cd839c3891459fd
sk = 63e3dbaf74a6b4160fa822fda563a366dce7df5657b3404e1d16f2431cf8776c

$ ~/Downloads/safe_auth 
Logged in the SAFE Network successfully!

But, to authorise the safe_cli app you need to run the safe_auth with --daemon as explained here:


This is the perfect opportunity for @jimmyhacksthings! :smiley: Jim do you happen to have the equivalent of a bat symbol I can shine out into the clouds? Would love to have a YouTube video to help me through this (I’m a visual and auditory learner) and to share with others.