Another day another testnet
We’ve got a 20 node testnet up. Each node has 50GB of space. But joins will be tempered by filling up that space
Goals
Once again we’re aiming to ensure that we’re not losing data until nodes are full - apart from the known case of registers hitting a limit. But we’re not going to allow unbridled churn as we did last testnet.
Like last time, we’re asking you to avoid larger uploads. We’re not enforcing it this time but please keep them under 10MB, so we can rule out large files being the cause of ansafe networks switch public
y errors.
Churn
After the last testnet, we’re back and limiting churn again. The limit is set to allow joins, but only after the first 20 nodes fill up. Which should let us test normal join conditions, but without having to go through a split.
Getting involved
We really want to make it as easy as possible for everyone to get involved, but understandably it’s a daunting prospect for some. Below are some detailed instructions for Linux, macOS and Windows. Follow these and it should work, or at least fail in an understandable way (probably router related). Whatever happens it won’t blow up your machine!
Two modes - upload/download and storing
You can help us with this testnet in two ways: (1) by uploading and downloading data; and (2) by offering your device as a storage node. If you’ve not done this before we’d recommend you start with (1) and move on to (2) if you feel inspired. We’ve provided instructions for both.
Uploading/downloading
To upload and download (PUT and GET) data to the test network, you just need to install the safe
binary on your operating system. See the instructions below.
Linux and macOS
Installation
If you have run safe before you need to delete the old version.
# Delete the existing `~/.safe` directory.
rm -r ~/.safe
# Check that safe has been uninstalled
safe --version # --> should give a 'not found' message
If not it may be installed in /usr/local/bin
:
sudo rm /usr/local/bin/safe
[password]
To keep things simple, we’re now going to recommend running the installer as the root user. It puts the binary at /usr/local/bin
, which is always on PATH
on any Linux/macOS distribution. For future updates the installer will just overwrite it, so you won’t need to clear anything as an additional step.
On Linux:
curl -so- https://raw.githubusercontent.com/maidsafe/safe_network/master/resources/scripts/install.sh | sudo bash
safe --version # should be 0.68.2
safe networks add public https://sn-node.s3.eu-west-2.amazonaws.com/testnet_tool/public/network-contacts
safe networks switch public
On macOS:
# switch to sudo shell
sudo su
# run install script
curl -so- https://raw.githubusercontent.com/maidsafe/safe_network/master/resources/scripts/install.sh | bash
# return to your own user profile
exit
safe --version # should be 0.68.2
safe networks add public https://sn-node.s3.eu-west-2.amazonaws.com/testnet_tool/public/network-contacts
safe networks switch public
All subsequent instructions are the same for both operating systems.
Uploading
Uploading a file
# Upload a file in your current directory
safe files put [filename]
e.g. safe files put examplePic.jpg
Uploading a container (a directory plus contents)
Choose a directory (e.g. /home/[yourUserName]/Pictures
) or make a new one and add some files. Then cd to the parent directory (e.g. /home/[yourUserName]/
) and run:
safe files put ./[directory] --recursive
e.g. safe files put ./Pictures --recursive
Downloading
Downloading a file
Use safe cat safe://[address] > filename.txt
to download a file:
Try running this!
safe cat safe://hygoygym7tsj5hhyyykd1aqpw3djxea6om6xku568ahm7hy7gfn6q5gy7xr > coast.jpg
Downloading container (directory plus contents)
safe files get safe://[address?v=version]
# For example this will download the container to your current directory. This is just an example, it's not live data)
safe files get safe://hyryyryikpk16oxay7wa1midtbkibxoec6eg4fsgd853gx5xuhs19ujmgzwnra?v=hc7xjae7f8o96xk9446gzyy13j9z7es47rpqdcu81iap61jdcu6no
Running a storage node
To run a storage node (an adult) you need at least 50GB free disk space plus a router that allows you to connect.
safe node install
safe node bin-version # should be 0.72.6
Now download the testnet config file and switch to that network by running:
safe networks add public https://sn-node.s3.eu-west-2.amazonaws.com/testnet_tool/public/network-contacts && safe networks switch public
Now try to connect to the network with:
RUST_LOG=sn_node safe node join --network-name public
If that gives an error try:
RUST_LOG=sn_node safe node join --network-name public --skip-auto-port-forwarding
If that doesn’t work it may be you can’t join from that machine / router.
If successful, the folder ~/.safe/node/local_node
will start to fill up with new folders and chunks.
Windows
Installation
Press the Windows key or click on the Start button and type “Powershell”. Then right click on the Windows Powershell
entry on the menu and select Run as administrator
.
Paste the following text into the terminal by right clicking on the bar at the top of the window, then select edit → paste:
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/maidsafe/safe_network/main/resources/scripts/install.ps1'))
Now hit enter to run the install. If you have a previously installed binary, you’ll be asked if you want to overwrite it. Say yes. Now exit the session.
Start a new session without administrator privileges and now run safe --version
. It should be at 0.68.2.
Then add the public
network and switch to it.
safe networks add public https://sn-node.s3.eu-west-2.amazonaws.com/testnet_tool/public/network-contacts
safe networks switch public
Downloading
Downloading files
safe cat safe://address > filename
e.g.
safe cat safe://hygoygym7tsj5hhyyykd1aqpw3djxea6om6xku568ahm7hy7gfn6q5gy7xr > coast.jpg
Try it!
Downloading container (directory plus contents)
# For example this will download the container to your current directory. This is just an example, it's not live data)
safe files get safe://hyryyryikpk16oxay7wa1midtbkibxoec6eg4fsgd853gx5xuhs19ujmgzwnra?v=hc7xjae7f8o96xk9446gzyy13j9z7es47rpqdcu81iap61jdcu6no
Uploading
Uploading file
# Upload a file in your current directory
safe files put [filename]
e.g.
safe files put examplePic.jpg
Uploading a container (directory plus contents)
Choose a directory (e.g. /home/[yourUserName]/Picture
s) or make a new one and add some files.
Then cd to the parent directory (e.g. C:\Users\[your username]\
) and run:
safe files put .\[directory] --recursive
e.g.
safe files put .\Pictures --recursive
Running a storage node
To run a storage node (an adult) you need at least 50GB free disk space plus a router that allows you to connect.
From your Powershell session, run safe node install
to get the latest version of the node. Then use safe node-bin version
to check you are on 0.72.6.
Download the testnet config file and switch to that network by running:
safe networks add public https://sn-node.s3.eu-west-2.amazonaws.com/testnet_tool/public/network-contacts
safe networks switch public
Now try to connect to the network with:
$env:RUST_LOG = 'sn_node'; safe node join --network-name public
If there is an error, try:
$env:RUST_LOG = 'sn_node'; safe node join --network-name public --skip-auto-port-forwarding
If that doesn’t work it may be you can’t join from that machine / router.
If successful the folder C:\Users\[your username]\.safe\node\local_node
will start to fill up with new folders and chunks.
Test data
This is what we’re using to verify data-storage just now.
safe://hygoygym7tsj5hhyyykd1aqpw3djxea6om6xku568ahm7hy7gfn6q5gy7xr
safe://hygoygym19bdbzg6jakfzkmacxurpkbuphgsxi6af3aecugfqjfaq66shww
safe://hygoygyq1xiofs8kx11jwkcguzuocd1xa5qp767bjjz39yrh44eo1mjkjch
safe://hygoygypnrqirzo7r5w464mnda8s6sdpatyrco5pda1w8nh5appa3ycb98h
safe://hygoygykajkeropyam6yihj9exdhn5o4b1pbjbeet4bazqo8m47ga3pw8mo
safe://hygoygyp8c1wy7ijrpnesz9cj7enf4ms9oxhmp5m4r4yw4pjcemgywekf9r
safe://hygoygye13iznm1yxzpxp9seh6j8weh84c5ib3fq9mxozz4h6hb95o3uduo
safe://hygoygycc11b4pmrcb97ro6ro3wxh3cfrgi7ctbiwyya8mkktq1j35ysmzh
safe://hygoygykzkguckqygm985f5jrhcw87wiskbc97bottab47tq6fm9zm85f7r
safe://hygoygyewnaj8o7za3qycckfy95o5j9gex6s3b8jygr9j48aiyzthc36ffo
safe://hygoygykime3s7rup1ezeiqeqo1zy1o4bqmckewhriun889c64n4umxcyih
safe://hygoygyc98c1ozh1cn9edxeworctuagt465zyybr61m8judfry4a4zycf8c
safe://hygoygyqcq8bift7urnftiqxzn7d877ckwtk85haawg7oigm3bhn3r1dx7e
safe://hygoygyk7dzmcqxm3q4np87unu6tb9d8qt44fowxgqrhjy1xs6xgt69hade
safe://hygoygymq98z86j1oagpctmg7pnixz94ckekpgytu1jkb45du8xw49qrr4w
safe://hygoygypoq7y31uedr7c6q6e3jaxhd94id3r8bwn7od3f79hgdj7xbqibjr
safe://hygoygykw8iw7wt9o3c7w36hi5xc1coyjdmdfm6dima3y9ehefxipxkwg3w
safe://hygoygyc67ozi6m9i9o8xq5wti7ysa4g6nodxetmdgw64g5pw1qmucheeac
safe://hygoygyqsxzn4p6mjx7ggj98pqc4he53xk1c54kw3hq1967n4yga1nbo3iw
safe://hygoygyxojetcr5553xfyjnfoh3ywge7grs8d7z66e8nf678stecagdkomw
safe://hygoygyqf4au3yf7ouyi7imu1hty5qrsjppy1mj5uba5tahnxkmocys5g7h
safe://hygoygyx41a9samc35ep6h7y6zwku5ess3377f8awtuwn44r1pc5w3ragky
safe://hygoygyej97u6irwmgq1od4s8m6h8epbkgmmwqtghhhy1hbcsntizpjmh3c
safe://hygoygypn9urw4mhoqfabnke71e8usekjeg8m54t1fkoeigdyr5srgsqoia