Edit:
Current status:
08/08
- Only one more node lost.
- Many nodes full
- Mem appears to climb slowly across nodes
03/08
A spike in network activity appears to have killed nodes for maidsafe and community users.
- Maidsafe right now has 1675 nodes alive and kicking
- some of those nodes have reached max capacity
- Investigations underway
(31/07)
- still 2001 maidsafe nodes
- largest droplets are about ~60% full
(28/07)
- All maidsafe nodes still live. 2001 going strong (biiig improvement over last testnets).
- Droplets are about ~40% full on random sampling (~400-600 records)
- Client validation of PUTs is problematic for some users. Weâre investigating. (Large files will be harder to store)
- Thereâs no mechanism for actually sending the DBCs as yet. Youâll need to inform the other party atm (I think⌠@roland is double checking there).
Orignal Post
Weâve seen some good improvements to node memory usage, and things have been looking healthy on the data side for a few testnets now.
As such, weâre going to try something new. Actually paying for data! And with this comes a faucet
which youâll need to ask for Safe Network Tokens before youâre allowed to upload! (if all goes well).
So with this testnet we want to check:
- Faucet stability / ux
- DBC transfers work as expected (are timely, no double spends etc).
- Data payments work as expected
(It should be noted that the faucet is a temporary distribution measure until we have nodes earning money.)
Network Details
Node version: 0.87.1
Client version: 0.80.1
Faucet url: http://178.62.79.112:8000
SAFE_PEERS: /ip4/167.99.195.200/tcp/41805/p2p/12D3KooWP7SR4kWdN2SdeBdnpkxTbk1Buomb5PEjZVaZU3fGkkpK
Alternatives:
"/ip4/167.99.197.30/tcp/33243/p2p/12D3KooWFBYaQcFqM8GMW91ifuxgTXHxmdjns14XPGTQVcopnkqn"
"/ip4/167.99.199.20/tcp/45197/p2p/12D3KooWBfZcLR3kCNFnqzJsEdNKSL2vA5MHg24jAcg2HNJJHjnq"
"/ip4/167.99.199.231/tcp/33541/p2p/12D3KooWDPnfjR7LTSjcJgQGjhdN2bK6j3Pw345g2d8TbXU5yUQy"
"/ip4/178.62.79.112/tcp/46803/p2p/12D3KooWJnPhTVEnv7rx9ZCZZZRgTxrts33m33sKWfDdFH4jBcGo"
"/ip4/167.99.195.200/tcp/44037/p2p/12D3KooWSc6JmQE6yQaXxaBbiUSjm3YUgZpu44oLeUVL8yAs6zAL"
"/ip4/167.99.205.124/tcp/46301/p2p/12D3KooWMWkpHQkjJHDqwZRHd8RyzcykmFHm7mszMy7syqKySCvp"
...
We have 100 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.80.1
safeup node --version 0.87.1
Run a Node
Linux/macOS:
SN_LOG=all safenode
Windows:
$env:SN_LOG = "all"; safenode
Connect to the Network
Linux/macOS:
export SAFE_PEERS="/ip4/167.99.195.200/tcp/41805/p2p/12D3KooWP7SR4kWdN2SdeBdnpkxTbk1Buomb5PEjZVaZU3fGkkpK"
safe wallet get-faucet http://178.62.79.112:8000
safe files upload <directory-path>
Windows:
$env:SAFE_PEERS = "/ip4/167.99.195.200/tcp/41805/p2p/12D3KooWP7SR4kWdN2SdeBdnpkxTbk1Buomb5PEjZVaZU3fGkkpK"
safe wallet get-faucet http://178.62.79.112:8000
safe files upload <directory-path>
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.
Cleanup
If youâve used previous versions of the Network before, you will want to cleanup the previous files (worthless DBCs from previous runs, old logs, old keys).
# Linux
rm -rf ~/.local/share/safe
# macOS
rm -rf ~/Library/Application\ Support/safe
# Windows
rmdir /s C:\Users\<username>\AppData\Roaming\safe
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.80.1 # get a specific version
safeup node # get the latest version of the node
safeup node --version 0.87.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
SN_LOG=all safenode
# Windows
$env:SN_LOG = all; safenode
This will output all the logs in the terminal.
Sometimes it will be preferable to output the logs to file. You can do this by running the node like so:
# Linux/macOS
SN_LOG=all safenode --log-output-dest data-dir
# Windows
$env:SN_LOG = "all"; safenode --log-output-dest data-dir
The location of data-dir
is 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.
To connect, you must provide another peer, in the form of a multi address. You can find one in the âNetwork Detailsâ section at the top.
It is recommended to set the peer using the environment variable SAFE_PEERS
. You can set this variable once and it will apply for the duration of your shell session:
# Linux/macOS
export SAFE_PEERS="/ip4/167.99.195.200/tcp/41805/p2p/12D3KooWP7SR4kWdN2SdeBdnpkxTbk1Buomb5PEjZVaZU3fGkkpK"
# Windows
$env:SAFE_PEERS = "/ip4/167.99.195.200/tcp/41805/p2p/12D3KooWP7SR4kWdN2SdeBdnpkxTbk1Buomb5PEjZVaZU3fGkkpK"
NOTE: If you close and/or start a new shell session, you will be required to redefine this environment variable in the new session.
As an alternative to the environment variable, itâs also possible to use the --peer
argument:
safe --peer="/ip4/167.99.195.200/tcp/41805/p2p/12D3KooWP7SR4kWdN2SdeBdnpkxTbk1Buomb5PEjZVaZU3fGkkpK" ...
However, this requires specifying the peer with each command.
Using the Client
Youâll first need to get some Safe Network Tokens:
safe wallet get-faucet http://178.62.79.112: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] [XORURL]
Troubleshooting
If you encounter a problem running any of our binaries on Windows, itâs possible you need the Visual C++ Redistributable installed.