Launch of a community safe network

I was talking about max possible size used by an account. This size will not be reached by a regular usage of WHM. But it could be reached by a user storing some videos (that happened in the past).

2 Likes

I wonder if there is a way to:

  1. Determine how much space any given account has consumed.
  2. Selectively grant more PUTs to accounts.

If so, perhaps someday the authentication/quota component could be modified to renew users’ PUT quotas periodically. So if an account is using under X megabytes, give them Y PUTs (up to a maximum of Z unused PUTs).

This is certainly doable but this is not what is currently implemented and I want to use Maidsafe code as-is, so that users can directly download and use vault binaries provided by Maidsafe.

1 Like

It would be great for testing if we could spin up a private safenet using VMs at home. Even if that required 20 or whatever number of separate servers. Is anything preventing this?

I was running a at home vault, but after needing to restart it I cannot join until a couple more nodes are up and running. It seems there is an issue with the resource test that requires a good number of nodes to be in the network if you don’t have Gb/s internet.

Thanks, I see, so the resource test is on workstation (hardware) level and each need to have a GbE port, connected to a GbE switch?

Considering that a RPi satisfies the hardware tests, its really down to the internet connection and for some reason the resource test has very slow overall upload speeds compared to the link speed. But it seems that with enough nodes in the network the overheads are more a constant delay and thus with less data per connection the slower internet link speeds (eg 40Mb/s up) are able to connect. For me it is about 15 or 16 nodes needed to exist with a 35+ Mb/s upload (tested) speed.

I was thinking of starting my on-premise safenet without internet connection. Is that even possible?

2 Likes

If you can have routing with different subnets for each vault (virtualbox can do this between VMs I believe) then it is easy enough by using current code.

If you cannot then there needs to be one change w/recompiling code, and that is to remove the limitation of one node per subnet.

@mav has done this with his performance tests

3 Likes

Thanks, then there is hope. A router on a stick config with a large managed switch and VLANs may be easier than re-building the software. It promises to be a major project though. If this materializes ever, I will post, but no promises. :slight_smile:

2 Likes

You don’t need to recompile, there’s a safe_vault.routing.config parameter “allow_multiple_lan_nodes”

Also you don’t need VMs you can just change the port number to run multiple vaults per machine or vlan.

You might want to adjust “chunk_store_root” in the vault config safe_vault.vault.config so each vault has their own unique storage directory.

https://github.com/maidsafe/safe_vault/blob/551d153c406eee09438a1634c8a3e14bf656aa4d/src/config_handler.rs#L24

Main difficulty is managing configs for lots of vaults.

Would be interested to hear your experience if you do end up doing this.

6 Likes

Thank you very much @mav, that would save a lot of time.
I will try to script all setup, and use containers probably (I like Sylabs.io’s Singularity a lot). I have noted down your ID, and I will start a new topic on this either after succeeding, or more likely after running into the first major issue.

5 Likes

Today I managed to build and run two vaults on a single Ubuntu 16.04 workstation. I had up to 5 running for a shorter while, but I need to figure out how to set different ports for each instance; I suppose ending up with only two makes sense.
Is the code the documentation or is there separate documentation?
(I wanted to create a how to but by the end of the day something had broken the build process already.)

2 Likes

By the way, if you want me to join the community network, I could try. Do I need an access key, and if so how do I request one?

Depending on the version of the vault (which in turn implies which version of crust). Alpha-2 is vault v0.17.2 (git checkout 0.17.2)

The way to set the port is in with tcp_acceptor_port in the safe_vault.crust.config file:

Then you can also set hard_coded_contacts to include any existing vaults as a list of "ip:port" strings.

3 Likes

Ah thanks, I will try it out next time. Wish I had more time. By the way, using the same default directory for storing vault data seemed to work ok.

3 Likes

You don’t even need to do that. I guess the port the number is ignored on a local machine because using the same port number just works. Demonstration of several vaults on the same machine here in asciinema.

(this video was a demonstration that a network with “min_section_size”=5 doesn’t work properly, which is the reason why I had to take “min_section_size”=8 for community network)

Exactly. With this in addition to the unique port number, you can reuse the same directory to launch all the vaults, like I did in the video.

2 Likes

@tfa Thanks. I will try to reproduce what you show on asciinema. My vaults did not behave as well, I guess because I used the same port number for each. I saw a lot of bootstrapping failures “Bootstrapper has no active children left”.

3 Likes

I’m in :slightly_smiling_face:

12 Likes

Congratulations! You have succeeded in spite of your IPv6 restriction.

5 Likes