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 can use the SAFE CLI to configure your machine. Please find more details and instructions below.

What’s included today?

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

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

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

How to update your SAFE CLI and Authenticator daemon

Thanks to our recent implementation of the self_update crate in the SAFE CLI, if you already have a previous version of the SAFE CLI on your machine, to update it you can navigate to the directory that the binary resides in and run it with the update argument ($ safe update). You can also use the SAFE CLI to update the Authenticator daemon ($ safe auth update).

If you don’t already have the SAFE CLI locally, you can download it from its GitHub release page. You can also download safe-authd v0.0.4 from that page. See the Authenticator section in the CLI User Guide for detailed instructions.

How to run a Vault

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

Make sure you’ve followed the instructions here to install and start the Authenticator daemon.

You can now run $ safe auth create-acc --test-coins to create a local balance. Then run $ safe auth login --self-auth to log in.

You can now use 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 CLI, please refer to the SAFE CLI User Guide, we strongly recommend you to give it a read to be able to make use of all the functionality it provides.

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 SAFE CLI. Follow the steps below to configure your machine if you want to connect to the Shared Vault.

If you’re using the SAFE CLI, you can use the safe networks add and safe networks switch commands. For example:

$ safe networks add shared https://safe-vault-config.s3.eu-west-2.amazonaws.com/shared-vault/vault_connection_info.config
Network 'shared' was added to the list. Connection information is located at 'https://safe-vault-config.s3.eu-west-2.amazonaws.com/shared-vault/vault_connection_info.config'

$ safe networks switch shared
Switching to 'shared' network...
Fetching 'shared' network connection information from 'https://safe-vault-config.s3.eu-west-2.amazonaws.com/shared-vault/vault_connection_info.config' ...
Successfully switched to 'shared' network in your system!
You'll need to login again, and re-authorise the CLI, if you need write access to the 'shared' network

Alternatively, you can:

  • Download the vault_connection_info.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 to C:\Users\<USERNAME>\AppData\Roaming\MaidSafe\safe_vault\config\

You will now be able to follow the instructions from the SAFE CLI User Guide and connect your SAFE CLI 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 SAFE Browser 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.

66 Likes

Covfefe!
nnnnn hjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
:slight_smile:

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

22 Likes

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

16 Likes

Woah! :clap:

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

23 Likes

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!

11 Likes

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

7 Likes

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…

5 Likes

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

I was able to get a backtrace.

6 Likes

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.

5 Likes

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.

4 Likes

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

4 Likes

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.

14 Likes

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

but work with the shared Vault…

7 Likes

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.

Cheers,

Chris

13 Likes

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)

14 Likes

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.

4 Likes

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”:“127.0.0.1:49356”,"peer_(etc etc etc …


12 Likes

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.

7 Likes

@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) - #24 by happybeing

15 Likes

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


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


16 Likes