New Release: Vault Phase 1 (real 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.

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)

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

Not sure if this is related to the move to musl but on Debian 9 I got a GLIBC_2.25 not found error when running safe_auth. Fixed it by following the final post in this thread. Leaving this here in case anyone has similar issues.

.

6 Likes

I just tried, the released vault linux binary doesn’t work on the pi. I’ll try building it

5 Likes

The authenticator isn’t built with musl yet - only vault is for now. We have plans to remove a C dependency that is currently preventing us from building safe_auth and safe with musl, but we’re not quite there yet.

10 Likes

I think you will also need to compile for the ARM (v7?) processor architecture for Raspberry Pi etc. I’m trying to find topics on this atm. With Rust cross compilation this is fairly straightforward (famous last words).

Here’s one - I believe you can ignore all the stuff up front about libsodium now so it might be trivial!

11 Likes

@happybeing Nice one, lots of useful information in there! Thanks for taking the time to put that together.

Funnily enough, it’s actually libsodium that was preventing us from building safe and safe_auth with musl. Did you ever have that statically linked at some point?

7 Likes

so I just built the vault on the pi4 , it works without any problem either.

11 Likes

I can’t remember but there may be other topics that I didn’t find. I’ll check my in notes in case they have more info.

@chriso update: I have a long page of notes which suggest I did get things linking although I can’t be certain. Also note that it was in the very early days. The notes include the following (I can PM them all if it might help):

Static libsodium build:

mkdir ~/src/libsodium-1.0.3/target/arm-unknown-linux-gnueabihf
cd ~/src/libsodium-1.0.3/target/arm-unknown-linux-gnueabihf

export CC=arm-linux-gnueabihf-gcc-4.9
…/…/configure --enable-static LDFLAGS=-static --build=x86_64-unknown-linux-gnu --host=arm-unknown-linux-gnueabihf --target=arm-unknown-linux-gnueabihf
make v=1
sudo make install
sudo ln -s /home/mrh/src/libsodium-1.0.3/target/arm-unknown-linux-gnueabihf/src/libsodium/.libs/libsodium.a /usr/local/lib

Any maidsafe examples built (with libsodium.a in /usr/local/lib) with have libsodium statically linked in and not need anything else to run on the target.

Dynamic libsodium build:

mkdir ~/src/libsodium-1.0.3/target/arm-unknown-linux-gnueabihf
cd ~/src/libsodium-1.0.3/target/arm-unknown-linux-gnueabihf

export CC=arm-linux-gnueabihf-gcc-4.9
…/…/configure --build=x86_64-unknown-linux-gnu --host=arm-unknown-linux-gnueabihf --target=arm-unknown-linux-gnueabihf
make v=1
sudo make install
sudo ln -s /home/mrh/src/libsodium-1.0.3/target/arm-unknown-linux-gnueabihf/src/libsodium/.libs/libsodium.so /usr/lib/arm-linux-gnueabihf/libsodium.so
sudo ln -s /home/mrh/src/libsodium-1.0.3/target/arm-unknown-linux-gnueabihf/src/libsodium/.libs/libsodium.so.13 /usr/lib/arm-linux-gnueabihf/libsodium.so.13

Maidsafe Rust libs and examples for ARM can now link with libsodium.so, but for them to work you need to copy libsodium.so onto the ARM device (e.g. into it’s /usr/local/lib).

7 Likes

Honestly, this is a great feature not a bug. There is ABSOLUTELY NO NEED for the native vault code to be supported by the devs on Windows at this stage or any future time. The reasons for this are too many to list.

The virtual machine issue is separate, and I would be surprised that it isn’t working as usual on an Ubuntu host or debian host in something like virtualbox. Vault operators intent on using windows as the native host to try out SAFE software can then be directed to a debian or centos virtual machine on top of vbox, which are all FOSS. So Everyone is included and given an easy onramp, just in a more streamlined fashion that makes the development less of a hassle or induce other more serious bugs…

1 Like

To summarize, I succesfully managed to build the vault, the safe-authenticator-cli and the safe-cli from git on the raspberry pi4, simply using cargo build
In order to satisfy dependancies I just had to apt install libssl-dev

The safe cli now gives me a sweet

Authorising CLI application...
SAFE CLI app was successfully authorised
Credentials were stored in whereithastobestored

Awesome work @maidsafe team !

11 Likes

WSL could be another option. Also free. Did anybody give that a try?

2 Likes

If anyone is up for downloading some music from the shared vault,

safe cat safe://hbyyyynndgnwyik7t6mba3ojxti5ar6r35mbzs9ek6erby8iaqc975b9j4 > a-song.mp3

I’ll let the song be a surprise :wink:

14 Likes

Don’t agree. The average windows user must have the same rights to run a Vault as any other user with linux or OSX without the need to complicate with VM.

I can’t understand this kind of xenophobia of operating systems. The more people get to run a Vault, the better. Period.

13 Likes

With Windows making up 80% of the desktop OS market it would be mad to exclude it if the aim is to get as many vaults as possible operating in the shortest possible time. Most non-Mac-owning non-techies I know wouldn’t go anywhere near Linux or Virtualbox. It’s a huge additional barrier, even if arguably a psychological one.

10 Likes