AlphaToleranceTestnet [04/04/2024 Alpha Testnet] [Offline]

Welcome to the our first attempt to have a couple of testnets running in parallel!

Here we have an alpha network, where we want to verify changes before we do a full release that would be compatible with the existing BasicEconomyTweaks network.

This is not expected to be a wildly long testnet. But participation here will help iron out any potential issues as/when we release new code compatible with BasicEconomyTweaks.

Right now, this alpha network is not compatible. We cannot cross the streams, any attempt to access it using BasicEconomyTweaks’s network-contacts eg, will result in errors (or it should).


Other info:

  • Max chunk size: 500kb
  • Max chunk count: 2048
  • Storecost algo: Bases price off of relevant close chunks not total chunk count. (This should allow prices to shift as capacity shrinks/grows).

Network Details

Node version: 0.105.6-alpha.4
Client version: 0.90.4-alpha.5
Faucet url: 159.65.29.172:8000

We have 50 droplets running a total of 2000 nodes. One droplet has 2vcpu and 4GB of memory.


If you are a regular user, see the ‘quickstart’ section for getting up and running.

If you are a first-time user, or would like more information, see the ‘further information’ section.


Quickstart

If you already have safeup, you can obtain the client and node binaries:

safeup client --version 0.90.4-alpha.5
safeup node --version 0.105.6-alpha.4

Run a Node

Linux/macOS:

safenode --peer /ip4/209.97.139.230/udp/59695/quic-v1/p2p/12D3KooWPTyqVdNzqcaeNGzjHA4nNnqJWkxU81gW7uBPYewu3jop

Windows:

safenode --peer /ip4/209.97.139.230/udp/59695/quic-v1/p2p/12D3KooWPTyqVdNzqcaeNGzjHA4nNnqJWkxU81gW7uBPYewu3jop

Check local node’s reward balance

Your local node’s peer id will be printed to the terminal on startup with an example command). (You can also retrieve this from the node directory.)

safe wallet balance --peer-id="<local-node-peer-id>"

Connect to the Network as a Client

Linux/macOS:

safe wallet get-faucet 159.65.29.172:8000
safe files upload <directory-path>

Windows:

safe wallet get-faucet 159.65.29.172:8000
safe files upload <directory-path>

To do this with non-default batch-sizes (along with SAFE_PEERS set as above):

safe files upload --batch-size 40 <directory-path> 

40 being the integer value you want to set


Further Information

You can participate in the testnet either by connecting as a client or running your own node.

Connecting as a client requires the safe client binary; running a node requires the safenode binary.

Obtaining Binaries

We have a tool named safeup which is intended to make it easy to obtain the client, node, and other utility binaries.

Installing Safeup

On Linux/macOS, run the following command in your terminal:

curl -sSL https://raw.githubusercontent.com/maidsafe/safeup/main/install.sh | bash

On Windows, run the following command in a Powershell session (be careful to use Powershell, not cmd.exe):

iex (Invoke-RestMethod -Uri "https://raw.githubusercontent.com/maidsafe/safeup/main/install.ps1")

On either platform, you may need to restart your shell session for safeup to become available.

Installing Binaries

After obtaining safeup, you can install binaries like so:

safeup client # get the latest version of the client
safeup client --version 0.90.4-alpha.5 # get a specific version

safeup node # get the latest version of the node
safeup node --version 0.105.6-alpha.4 # get a specific version

safeup update # update all installed components to latest versions

When participating in our testnets, it is recommended to use a specific version. In our project we release a new version of the binaries every time we merge new code. This happens frequently, so over the lifetime of a testnet, many new releases will probably occur. So for participating in this particular testnet, you may not want the latest version.

The binaries are installed to ~/.local/bin on Linux and macOS, and on Windows they go to C:\Users\<username>\safe. Windows doesn’t really have a standard location for binaries that doesn’t require elevated privileges.

The safeup tool will modify the PATH variable on Linux/macOS, or the user Path variable on Windows. The effect of this is that the installed binaries will then become available in your shell without having to refer to them with their full paths. However, if you’re installing for the first time, you may need to start a new shell session for this change to be picked up.

Running a Node

You can participate in the testnet by running your own node. At the moment, you may not be successful if you’re running the node from your home machine. This is a situation we are working on. If you run from a cloud provider like Digital Ocean or AWS, you should be able to participate.

You can run the node process like so:

# Linux/macOS
safenode --peer /ip4/209.97.139.230/udp/59695/quic-v1/p2p/12D3KooWPTyqVdNzqcaeNGzjHA4nNnqJWkxU81gW7uBPYewu3jop

# Windows
safenode --peer /ip4/209.97.139.230/udp/59695/quic-v1/p2p/12D3KooWPTyqVdNzqcaeNGzjHA4nNnqJWkxU81gW7uBPYewu3jop

This will output all the logs to the filesystem, with the location of logs being platform specific:

# Linux
~/.local/share/safe/node/<peer id>/logs

# macOS
/Users/<username>/Library/Application Support/safe/node/<peer id>/logs

# Windows
C:\Users\<username>\AppData\Roaming\safe\node\<peer-id>\logs

If you wish, you can also provide your own path:

# Linux/macOS
SN_LOG=all safenode --log-output-dest <path>

# Windows
$env:SN_LOG = "all"; safenode --log-output-dest <path>

The advantage of using the predefined data-dir location is you can run multiple nodes on one machine without having to specify your own unique path for each node and manage that overhead yourself.

Connecting as a Client

You can use the safe client binary to connect as a client and upload or download files to/from the network.

Using the Client

You’ll first need to get some Safe Network Tokens:

safe wallet get-faucet 159.65.29.172:8000

You can now proceed to use the client, by, e.g., uploading files:

safe files upload <directory-path>

To download that same content:

safe files download

This will download the files to the default location, which is platform specific:

# Linux
~/.local/share/safe/client/downloaded_files

# macOS
/Users/<username>/Library/Application Support/safe/client/downloaded_files

# Windows
C:\Users\<username>\AppData\Roaming\safe\client\downloaded_files

To download to a particular file or directory:

safe file download [directory/filename] [NetworkAddress]

Troubleshooting

Cleanup

If you’ve used previous versions of the network before and you find problems when running commands, you may want to consider clearing out previous data (worthless DBCs from previous runs, old logs, old keys, etc.).

# Linux
rm -rf ~/.local/share/safe

# macOS
rm -rf ~/Library/Application\ Support/safe

# Windows
rmdir /s C:\Users\<username>\AppData\Roaming\safe

If you encounter a problem running any of our binaries on Windows, it’s possible you need the Visual C++ Redistributable installed.

21 Likes

Devs really want Autonomi to be the Alpha Network, just like there is the Alpha Wolf in the wolf pack

Just kidding

:rofl:

7 Likes

Started a single node and a large upload. I gotta get to sleep. More nodes tomorrow.

8 Likes

Mm, getting the error below in trying to access the faucet:

safe wallet get-faucet 46.101.12.229:8000
upload <directory-path>Logging to directory: "/home/ubuntu
/.local/share/safe/client/logs/log_2024-04-04_06-23-05"
Built with git version: 052a483 / alpha-tolerance / 052a48
3 / 2024-04-04
Instantiating a SAFE client...
Trying to fetch the bootstrap peers from https://sn-testne
t.s3.eu-west-2.amazonaws.com/network-contacts
Connecting to the network with 50 peers
🔗 Connected to the Network
Requesting token for wallet address: 92a6b5cbe1b1738a111ce
73c853263c1aae5ed539c521bdc8c5411947edf402407673da0704506f
5d4a44180130abee0
Successfully parsed transfer.
Verifying transfer with the Network...
Failed to verify and redeem transfer: CouldNotReceiveMoney
("InvalidTransfer(\"GetRecord Query Error RecordNotFound\"
)")
Error:
   0: Failed to receive transfer due to InvalidTransfer("G
etRecord Query Error RecordNotFound")
Location:
   sn_cli/src/bin/subcommands/wallet/helpers.rs:141
Backtrace omitted. Run with RUST_BACKTRACE=1 environment v
ariable to display it.
Run with RUST_BACKTRACE=full to include source snippets.

On arm aarch64

1 Like

6 tokens in hand

fresh install of safe 0.90.4-alpha.3

Error:
0: Failed to upload chunk batch: Multiple consecutive network errors reported during upload

Location:
D:\a\safe_network\safe_network\sn_cli\src\files\files_uploader.rs:133

logs.zip (428.6 KB)

1 Like

safenode-manager add --count 2 --node-port 12000-12001 --peer /ip4/161.35.165.63/udp/56759/quic-v1/p2p/12D3KooWGBCKLkgwv8YWb3KQBwi9fG4GYMWhYcouKSi1TLe6qm3f


Win10 cannot start manually or via safenode-manager.

safenode-manager start

Refreshing the node registry…
Attempting to start safenode1…
Attempting to start safenode2…
Failed to start 2 service(s):
✕ safenode1: [SC] StartService FAILED 1053:

The service did not respond to the start or control request in a timely fashion.

✕ safenode2: [SC] StartService FAILED 1053:

The service did not respond to the start or control request in a timely fashion.

Error:
0: Failed to start one or more services

logs.zip (85.4 KB)

First upload try and error:

Error:
0: Failed to upload chunk batch: Multiple consecutive network errors reported during upload

Location:
/Users/runner/work/safe_network/safe_network/sn_cli/src/files/files_uploader.rs:133

I’m in, ten Ubuntu cloud nodes.

@Joshuef I assume this has the relevant records DEBUG->INFO change but don’t see it immediately in my logs. If it should be there as an INFO level message, can you post an example from the log. If it’s too much hassle no bother, but I won’t have time to investigate most of today but can do a quick update if I know what to match.

@stout77 faucet worked for me from cloud.

5 Likes

that’s not the correct peers for this network

i’m seeing

https://sn-testnet.s3.eu-west-2.amazonaws.com/alpha-tolerance-network-contacts

as endpoint for this

3 Likes

Faucet has worked for me but it is impossible to upload files. Always gives error even in small files.

0: Failed to upload chunk batch: Multiple consecutive network errors reported during upload

A log in case it helps…
log_2024-04-04_10-16-39.zip (29.0 KB)

same here - no success on any uploads - i guess that might be the reason my nodes don’t have any records - the network is empty and nobody can upload

It should be.It’s built from the alpha-tolerance branch.

Hmm, very odd. I had no issues this morning :thinking:

Can repro locally now though!

5 Likes

8 Likes

Uploading … instant error:


safe.log.zip (25.6 KB)

1 Like

Can someone grep their logs for “Cost is now” and paste a sample on here. I’m not finding it in any of my node logs. :pray:

grep “Cost is now” /var/log/safenode/safenode{1…6}/safenode.log

no results

ps: not for “cost” / “Cost” either

Okay, looks like the node build issue is harder than anticipated. And that’s the fail we’re seeing. We’re rebuilding the node now, and will re-up a new version of this network ASAP.

Hang fire.

16 Likes

Could that be an issue with the arm binary @joshuef ? I’m using the instructions from the OP

 safe --version sn_cli 0.90.4-alpha.3
1 Like

I’m unable to send tokens from my cloud instance. Just sits there trying to connect, using the peer from the OP.

safe --peer /ip4/161.35.165.63/udp/56759/quic-v1/p2p/12D3KooWGBCKLkgwv8YWb3KQBwi9fG4GYMWhYcouKSi1TLe6qm3f wallet send a93fd8eca0aeb67f34146b95126d3639012a4fe693f3bd2985b0902c58f93bf6af26f88263834e3e77fc1fa33f274043 0.1
Logging to directory: "/home/safe/.local/share/safe/client/logs/log_2024-04-04_18-08-07"
Built with git version: 1482db1 / alpha-tolerance / 1482db1 / 2024-04-04
Instantiating a SAFE client...
Connecting to the network with 1 peers
⠂ Connecting to The SAFE Network...

Is there a way to have different “users”?

Like, I could rename my safe binaries to safeb(eta) and safea(lpha), but they’re both going to refer $home/.local…

I can make a new user on my system, which is fine. Just didn’t know if I’m missing something.