Testnet - How to get started

Spinning this out as a separate topic to bring together the essential steps for new and existing members to get involved with the fourth release of the Fleming Testnet

These instructions are for Linux. Mac and Windows machines will be very similar, check the links at the end for the differences. TODO

OK, let’s go

Clear the decks, Start from scratch, If you have tried to run any form of previous kind of testnet, confusion will follow. Be brutal. Dump it all.
rm -rf $HOME/.safe

Now download and install the verified latest CLI binary via our install script with the following command:

    $ curl -so- https://sn-api.s3.amazonaws.com/install.sh | bash

This script downloads the correct CLI binary for your OS (Windows, macOS or Linux), installs it in the correct directory, creating that directory if it doesn’t exist, and adds it to your system PATH.

You may need to restart your terminal window at this point for any changes to your system PATH to take effect. You can now confirm whether the CLI is installed and set up correctly:

$  safe -V
sn_cli 0.23.3

Note - that is a CAPITAL ‘V’ in the above command

Next, you should install the Authenticator daemon and Node with the two commands below:

$ safe auth install
$ safe node install

You should now be equipped with the latest CLI, authd and node. Note that you can find full installation instructions in our user guide:

If you have connected to a previous iteration of our testnets then you may have a shared-section , or other, network profile saved on your machine, which should no longer be relevant or required.
Running the first command in this post rm -rf $HOME/.safe should have taken care of that possibility but it is always worth checking. You can see what you have with
$ safe networks
which will list your saved network profiles. You should see something similar to this

If you have any profiles shown then they are best removed now to avoid any confusion - they may be stored in now redundant config directories, and may use old names such as safe-cli and safe-vault - you can remove these with the
$ safe networks remove <name of network profile>
command, for example $ safe networks remove shared-section .

Now you have cleaned up any old network profiles, you must add a profile for the latest testnet which points to our S3 location , you can add using $ safe networks add :

$ safe networks add fleming-testnet https://sn-node.s3.eu-west-2.amazonaws.com/config/node_connection_info.config
Network 'fleming-testnet' was added to the list. Connection information is located at 'https://sn-node.s3.eu-west-2.amazonaws.com/config/node_connection_info.config'

Run safe networks again and check you get this output

Now you need to ensure you are set to use this fleming-testnet configuration that we have added, we can use $ safe networks switch fleming-testnet for this:

$ safe networks switch fleming-testnet
Switching to ‘fleming-testnet’ network…
Fetching ‘fleming-testnet’ network connection information from ‘https://sn-node.s3.eu-west-2.amazonaws.com/config/node_connection_info.config’ …
Successfully switched to ‘fleming-testnet’ network in your system!

and just to be absolutely certain
safe networks
will show an asterisk in the “Current” column

We now have our CLI, Authenticator daemon and Node components up-to-date, and we have the latest hardcoded contact details to bootstrap to the public testnet, so everything is in place and we’re ready to launch our node and add it to the Network. This is achieved using safe node join as follows:

$ safe node join
Creating ‘/Users/maidsafe/.safe/node/local-node’ folder
Storing nodes’ generated data at /Users/maidsafe/.safe/node/local-node
Starting a node to join a Safe network…
Launching with node executable from: /Users/maidsafe/.safe/node/sn_node
Node started with hardcoded contact:
Launching node…
Node logs are being stored at: /Users/maidsafe/.safe/node/local-node/sn_node.log

Your node will now launch and attempt to connect to the public network. Keep in mind that it can only join the testnet if the Network is accepting new nodes at that time (see NOTE below). You can keep an eye on its progress via its logs, which can be found at `$HOME/.safe/node/local-node/sn_node.log` .

NOTE - please keep in mind that we have an anti Sybil attack feature in place now to only accept new nodes onto the testnet when resources are required, therefore you may be attempting to join the Network but your logs tell you that the Network is not accepting new nodes at this time:

Cannot start node due to error: Routing(TryJoinLater)

This is expected behaviour which will happen each time you try to connect until the testnet detects that resources are running low. The only solution here is to try again later.
See the “ ***Accepting New Nodes Only When Resources Are Required*** ” section above for more information on why we introduced this feature.
You can help to speed up the process by adding some data yourself - you don’t need to run a node to upload data! See the **Do I need to run a node to participate?** section below.

Before working your way through the [CLI commands ](https://github.com/maidsafe/sn_api/tree/master/sn_cli#using-the-cli) to perform various actions on the network, remember to [authenticate ](https://github.com/maidsafe/sn_api/tree/master/sn_cli#auth-start), [create ](https://github.com/maidsafe/sn_api/tree/master/sn_cli#auth-create) and [unlock ](https://github.com/maidsafe/sn_api/tree/master/sn_cli#auth-unlock) your Safe. Following the steps in these links gives your Safe some test Safe Network Tokens to use. This means that there is **no need to farm first** to earn these rewards before being able to try operations such as uploading to the testnet.

You can even connect to the testnet in read only mode using CLI, i.e. once you 've installed CLI you can try fetching content uploaded by other users. For example, you can download the following image and open it locally afterwards:

$ safe cat safe://hygoyeye9mq5jmipo3we79wohue8hjyw55e6f8xyk1hquwy9hsxnk9tdsme > ~/safe-the-planet.png

### Do I need to run a node to participate?

No, you can join with just the CLI and authd to experiment with data, tokens, etc. You can follow the instructions in the `Joining the Testnet` section above, but you don’t need to run `$ safe node join` - at this point you can just go straight to using the CLI as per the [User Guide ](https://github.com/maidsafe/sn_api/tree/master/sn_cli#using-the-cli).

### Further Information

#### Where are my node logs?

When you launch your node you should see the location of your log file printed on screen - this will be `$HOME/.safe/node/local-node/sn_node.log` . You can `tail` your logs with a command such as `$ tail -f $HOME/.safe/node/local-node/sn_node.log`

#### Where are my rewards?

If you’ve started a node you will have keys generated for you, stored in two files next to the logs of your node (see above). In case you want to access any rewards earned, it’s important that you copy these files to another location before starting a new node.
The keys can then be used as per the instructions of the CLI manual, for transfers and payments. We will provide a UX and app for easier use of these soon.

### Where can I report any issues found?

As the `test` in `test` net indicates, we fully expect that issues will be found given the volume and variety thrown at it in real world situations, something that is notoriously difficult to replicate in-house.

We hope that this testnet will be stable enough to stay online for ample time to allow as many people as possible to try it out, and for us to gather valuable information from it to analyse and troubleshoot anything found. From past experience, we know it is possible that it will break at some point, particularly as this is the first public iteration of this testnet and so much of this technology is new and untested in the real world.

If the testnet does go offline, we will fix, tweak, change and improve before putting it back online - we will indicate in the title of this post if it is known to be offline.

If you come across any issues in your testing, start by checking the **Known Issues** section of this post (see below) to see if it has already been acknowledged . If it has not yet been added, we would like you to report it in the **Online Spreadsheet for Testnet Results and Issues** - see the section below.

We will monitor and investigate reported issues as soon as we can.

### Online Spreadsheet for Testnet Results and Issues

If you will be uploading data to the testnet and/or providing safes (nodes), please consider posting your data and results at:

[SN Testnet Review ](https://docs.google.com/spreadsheets/d/1bapwKTXVx-yHAlA2jPIdq3U2YNNQ5KDSAVDlwYQmtqI/edit#gid=0)
(Massive thank you to @VaCrunch for creating this spreadsheet :clap: )

Even if you don’t post your data, you can record any error messages and related information in the **Error_Msgs** sheet to help out the development team.

Ideally we can keep as much data, results and errors in this one location to allow us to more easily analyse it.

For those posting:
• No need to Sign In. The white cells are for your data entry.
• One row for each of your devices.
• Scroll down until you get to the first empty row.
• You do not need to use your Forum name for your ID, but please use the same ID for all your devices.
• Supporting/analysis tabs are at bottom of screen: **Error_Msgs** , **Summary** , **Thumbnails** , **Charts** , **Matrix** , **Top 10** , **Map** , **Resources** , **Lists** , and **Comments** .
• Use the View/Zoom feature at top to reduce the visible size of the spreadsheet to match your screen. 75% will be the best fit for most people.
• If you choose not to record the name of your country please select “ *Unspecified* ” at the bottom of the list.
• If you change the number of nodes (safes) you are running, just edit the existing figure, do not add another line for the same device.



Congrats — oh wait…
If you have access to Windows box, please edit the post to add the Windows equivalent . Thanks to @Dimitar for making it a wiki so you can all keep this up to date and correct any mistakes I made


Second. I thought the testnet would be via docker?

I think these howto’s should be split into 3 sections:

  • level 1: browsing the safe network
  • level 2: running auth. Creating a safe and transferring files and tokens
  • level 3: running a node
/ # safe cat safe://hygoyeye9mq5jmipo3we79wohue8hjyw55e6f8xyk1hquwy9hsxnk9tdsme > ~/safe-the-planet.png
Error: NetDataError: Failed to GET Public Blob: SelfEncryption(Storage)
/ # tail -f $HOME/.safe/node/local-node/sn_node.log
[sn_node] INFO 2021-04-13T07:56:03.580998556+00:00 [src/bin/sn_node.rs:104] 

Running sn_node v0.35.5
[sn_node] ERROR 2021-04-13T07:56:03.842376685+00:00 [src/bin/sn_node.rs:110] Cannot start node due to error: Routing(TryJoinLater)
1 Like

Great resource @Southside thanks!
Tried to run few commands like safe auth create —test-coins or safe auth unlock but I get this error: AuthdError: ClientError: Unresolved Public IP address

1 Like

The testnet has been taken down for now so I suspect this would be expected behaviour right now.
I should really take this topic down for now and revise it for Testnet2 which should be along in a few days.
But thank you for trying and please do not let this put you off trying again as soon as Testnet2 is announced.

1 Like

Ok will definitely try to run v2
This step by step guide is extremely useful for users who’d like to join

1 Like

It needs tidied up and Windows, Mac specific sections added. But if it gives you a start then its not wasted effort :slight_smile:

1 Like

For now it seems these instructions are superseded by this Testnet 2 release post

1 Like

I will be refreshing these instructions later – meantime - they are still pretty accurate and should get you some way along the road