HeapNet2 [Testnet 12/10/23] [Offline]

Here we’re looking to further test out some client fixes to various timeouts and other issues we’ve applied in the course of the prior testnet.

We’ll also be keeping an eye out for “lost nodes” (nodes that start but do not appear to join the network successfully). We’ve removed code to this end, that seems to have been contributing to memory issues… So here we’re looking to see if that’s a) still needed with the network-contacts file, and b) at least in part a source of the memory issues.

Network Details

Node version: 0.93.1
Client version: 0.83.45
Faucet url: 178.128.34.165:8000

We have 101 droplets running a total of 2001 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.83.45
safeup node --version 0.93.1

Run a Node

Linux/macOS:

safenode

Windows:

safenode

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 178.128.34.165:8000
safe files upload <directory-path>

Windows:

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

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

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

10 and 40 being the integer values you want to set for each


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.83.45 # get a specific version

safeup node # get the latest version of the node
safeup node --version 0.93.1 # 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

# Windows
safenode

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 178.128.34.165: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 files download [directory/filename] [XORURL]

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
or
rmdir C:\Users\<username>\AppData\Roaming\safe -r -Force

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

26 Likes

For noderunners there’s a new version of vdash with some big enhancements:

cargo install vdash

More here: Vdash - Node dashboard for Safe Network - #120 by happybeing

Woop, here we go again! :partying_face:

EDIT: First!!! :rofl:

EDIT: here’s my vdash Summary for 20 nodes after 6 minutes…

18 Likes

Hmm what’s happening here?

🔗 Connected to the Network                                                    Chunking 1 files...
Input was split into 1281 chunks
Will now attempt to upload them...
⠄ [00:00:07] [----------------------------------------] 0/1281                 For record 3c81557175aafd411d50431373099e74df8f7a36a5230f49cd1f98315b7dde1e task QueryId(23), received a copy from an unexpected holder PeerId("12D3KooWB4azfYP7egZcKyQiWBE9fr3oqm8RZycffXQ3hYmrWru9")
⠤ [00:00:11] [----------------------------------------] 0/1281                 For record 3c81557175aafd411d50431373099e74df8f7a36a5230f49cd1f98315b7dde1e task QueryId(24), received a copy from an unexpected holder PeerId("12D3KooWB4azfYP7egZcKyQiWBE9fr3oqm8RZycffXQ3hYmrWru9")
⠙ [00:01:15] [#>--------------------------------------] 40/1281                For record aa23365161f40e7268a3db5b406a659fdb0919fd937d91aa97a8191bac260922 task QueryId(113), received a copy from an unexpected holder PeerId("12D3KooWFfBCNhLaAQG1FCws8qUSDEJFbdw2uyLjehaopevQCF5H")
⠒ [00:01:19] [#>--------------------------------------] 40/1281                For record aa23365161f40e7268a3db5b406a659fdb0919fd937d91aa97a8191bac260922 task QueryId(114), received a copy from an unexpected holder PeerId("12D3KooWFfBCNhLaAQG1FCws8qUSDEJFbdw2uyLjehaopevQCF5H")
⠂ [00:01:19] [#>--------------------------------------] 40/1281                For record aa23365161f40e7268a3db5b406a659fdb0919fd937d91aa97a8191bac260922 task QueryId(114), fetch completed with non-responded expected holders {PeerId("12D3KooWJd7QdfQzW6V3PdDBLQyxHvJnPtP6j7fGJw8MXuodtqXF")}
⠒ [00:05:27] [#####>----------------------------------] 180/1281
10 Likes

This may be related to the problem with safeup @Toivo reported in last testnet:

petr@krychle:~$ safeup client
**************************************
*                                    *
*          Installing safe           *
*                                    *
**************************************
Installing safe for x86_64-unknown-linux-musl at /home/petr/.local/bin...
Retrieving latest version for safe...
Error: No release found for safe

Location:
    src/github.rs:104:28

petr@krychle:~$ safeup client --version 0.83.45
**************************************
*                                    *
*          Installing safe           *
*                                    *
**************************************
Installing safe for x86_64-unknown-linux-musl at /home/petr/.local/bin...
Installing safe version 0.83.45...
  [########################################] 9.11 MiB/9.11 MiB                                                        safe 0.83.45 is now available at /home/petr/.local/bin/safe

EDIT: Success!
More verbose output I guess. I still find the “Failed to fetch a chunk” message a bit ambiguous. Is it best interpreted as “Node is holding onto it until we pay the proper amount”?


Uploaded 1281 chunks in 43 minutes 12 seconds
**************************************
*          Payment Details           *
**************************************
Made payment of 0.000110419 for 1281 chunks
New wallet balance: 99.999884191
**************************************
*            Verification            *
**************************************
1281 chunks to be checked and repaid if required
⠉ [00:01:02] [######>---------------------------------] 199/1281               Failed to fetch a chunk ChunkAddress(ea5f0e(11101010)..)
⠖ [00:01:51] [###########>----------------------------] 359/1281               Failed to fetch a chunk ChunkAddress(960a1f(10010110)..)
⠤ [00:03:03] [##################>---------------------] 599/1281               Failed to fetch a chunk ChunkAddress(c325c4(11000011)..)
Verified 1281 chunks in 378.748342s
3 chunks were not stored. Repaying them in batches.
Failed to fetch 3 chunks. Attempting to repay them.
⠤ [00:00:14] [>---------------------------------------] 2/1281                 Repaid and re-uploaded 3 chunks in 14.0038458s
**************************************
*            Verification            *
**************************************
3 chunks to be checked and repaid if required
Verified 3 chunks in 8.7591146s
Verification complete: all chunks paid and stored
10 Likes

BegBlag test passed :slight_smile:

but

AnarchyInTheSouthside test is still failing on my home internet connection but is downloadable on a cloud instance

Chunks error Chunk could not be retrieved from the network: f0a250(11110000)
safe files download AnarchyInTheSouthside.mp3 eaa0b39813183323b491e6715a0b4ea9f3cfdeede6f04a73c5b849b5210ad20d

safe files download BegBlagandSteal.mp3 80744b3d25bab269cab54e8baccf4f54f1aa01615230b99171bc3576c1ca7230

Log for failed download

safe.log to b9045a258dacb0144e790e61edf72a5e48010833fc2e9437e258ee040215eac0

@happybeing loving the latest update to vdash :slight_smile:

11 Likes

Neuromancer

safe files download Neuromancer.mp4 c5d9f7e60cbc86e2c9c2a2611c5d44e9ed6df50ca12345c0e2aa68cc91a490fb

4 Likes

This is failing though 655M mp4 file. Can anyone download?

safe files download test.mp4 a37d5e200aa85619f9454f45b27d2179f3908bf7c68fadc7d4bebc2fc029535e

Log

safe.log 9ee5168ba7b3b67bae763aa6b79d3096e0fc7218832f83157169756aaae426ce

4 Likes

Error downloading "test.mp4": Chunks error Chunk could not be retrieved from the network: 909c3d(10010000)...

@JPL Error downloading "Neuromancer.mp4": Chunks error Chunk could not be retrieved from the network: c04185(11000000)...

4 Likes

Failed here, too, same chunk:

Error downloading "AnarchyInTheSouthside.mp3": Chunks error Chunk could not be retrieved from the network: f0a250(11110000)...
4 Likes

failed here too

🔗 Connected to the Network                                                                                                                                                 Downloading test.mp4 from a37d5e200aa85619f9454f45b27d2179f3908bf7c68fadc7d4bebc2fc029535e
Client (read all) download progress 1/1280
Error downloading "test.mp4": Chunks error Chunk could not be retrieved from the network: 563006(01010110)...
5 Likes

PLEASE PLEASE change this to delete ONLY safe/node and safe/client as these instructions will wipe out anything in safe/tools

6 Likes

vdash update: I’ve added timelines for connections and RAM in vdash v0.11.1 just published.

4 Likes
Error downloading "Neuromancer.mp4": Chunks error Chunk could not be retrieved from the network: 63d64d(01100011)...

Error downloading "test.mp4": Chunks error Chunk could not be retrieved from the network: 83c357(10000011)...

Client downloaded file in 15.601218499s
Saved AnarchyInTheSouthside.mp3

Client downloaded file in 3.25950532s
Saved BegBlagandSteal.mp3

test.log.zip (693.0 KB)
Neuromancer.log.zip (593.1 KB)

6 Likes

Small file/s uploads :white_check_mark:
Larger file/s uploads :white_check_mark:

Small file/s downloads :white_check_mark:
Larger file/s downloads :no_entry:

gives same errors that others are getting too:

Error downloading “test.mp4”: Chunks error Chunk could not be retrieved from the network: 2b9a49(00101011)…

14 Likes

Uploading from home and I see new error/warning messages…

EDIT: Despite the above, it completed OK and I downloaded a few files to check

6 Likes

2,1GB upload succeeded:

Uploaded ubuntu-18.04.4-desktop-amd64.iso to
a5111048e408ee11563350da697984403bf847381356bd26a60f8580201eb880

10 Likes

Nice. Now download it :popcorn: :popcorn:

7 Likes

Sure, but it’s late here. We’ll see in the morning how it went. Good night!

6 Likes

Sorry @Toivo

Error downloading "ubuntu-18.04.4-desktop-amd64.iso": Chunks error Chunk could not be retrieved from the network: e05763(11100000)...
3 Likes