- All maidsafe nodes alive (2001) w/ healthy mem/cpu (40-70mb)
- Averaging ~200 records each. We have some 0 record nodes and are debugging based upon those logs. Some more ideas there.
- Payment/verification is quite buggy. This could be clients not getting a solid enough price eg. (We’re looking at different approaches here to solve this)
- Reuploading uses old, likely invalid/underpaying proofs. We’ll just disable reusing proofs to allow reuploads to work soon.
- Connecting is slow, we’ve a PR that helps a good bit here and will release a new client once that’s in.
- Store cost is being updated as expected
When last we testnetted, we were checking that we could pay a default price for data. Now we have some rudimentary price discovery in place, nodes can report a price based upon how much relevant data they have stored, and clients will choose the lowest price that should ensure a majority of nodes will accept the data.
There’s also a few other minor tweaks in:
- fix to data distance calculations (which may have led to data loss)
- improvements to client (we now need only 8 nodes to connect)
- a no verify flag has been added to the CLI if folk want to test out not verifying data storage for speed, you can do so by adding
-nto your cli command.
Here though we’re testing:
- Data storage prices are paid and validated (
Verification fee:is the relevant log there.)
- Data storage cost increases as the network fills
- Data which has been paid for remains on the network
We have not made any attempt to id rising mem reported in the past testnet, but we’ll appreciate more data there if folk are still seeing this.
Node version: 0.88.30
Client version: 0.80.41
Faucet url: 22.214.171.124:8000
"/ip4/126.96.36.199/tcp/42223/p2p/12D3KooWNidFK1hSFpgqYsq7d4eY4iPGDUoZf12ipHz7v3gNFh4f" "/ip4/188.8.131.52/tcp/43501/p2p/12D3KooWLSeE9TyK3BdzEaV3y6vdsprpC3jzT13gN5QjhCXCqSqc" "/ip4/184.108.40.206/tcp/38537/p2p/12D3KooWBtxVrsyf3xqAGVGhVR5Qzp3pSnDw145uGFwF6V4yBxVd" "/ip4/220.127.116.11/tcp/43763/p2p/12D3KooWFhPKWWQTcHnDf8R92xw3XwxTFmKqeMHo18SJuqNKrayM" "/ip4/18.104.22.168/tcp/46673/p2p/12D3KooWLQkJM1Sh7zxiSwrrFeMZY44JfuDx1D7Dxcd5S4TsQp2V" "/ip4/22.214.171.124/tcp/46145/p2p/12D3KooWSg7UtrgYgSaggD6eLJhGAtdKfmph6G1EoN4qomGhhS6R" "/ip4/126.96.36.199/tcp/38893/p2p/12D3KooWH9KzdCR5ywyvzFsRCLgncxEBaFy71Euy8BXHqRTdFtpJ" "/ip4/188.8.131.52/tcp/42629/p2p/12D3KooWLBit7Gkhxg9YmrBs6xs4pkgXrUae1Hn66YgbGpZDfFXQ" "/ip4/184.108.40.206/tcp/40653/p2p/12D3KooWNP8YSq1EjACv9Rfad6Cuho9BZWHE1KfCFbBe9PU86Liw" ...
We have 100 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.
If you already have
safeup, you can obtain the client and node binaries:
safeup client --version 0.80.41 safeup node --version 0.88.30
export SAFE_PEERS="/ip4/220.127.116.11/tcp/41587/p2p/12D3KooWDSeWaBgxMiwboN8jktSaJLg4n8ETx9BuD3f1HiQFk3ka" SN_LOG=all safenode
$env:SAFE_PEERS = "/ip4/18.104.22.168/tcp/41587/p2p/12D3KooWDSeWaBgxMiwboN8jktSaJLg4n8ETx9BuD3f1HiQFk3ka" $env:SN_LOG = "all"; safenode
export SAFE_PEERS="/ip4/22.214.171.124/tcp/41587/p2p/12D3KooWDSeWaBgxMiwboN8jktSaJLg4n8ETx9BuD3f1HiQFk3ka" safe wallet get-faucet 126.96.36.199:8000 safe files upload <directory-path>
$env:SAFE_PEERS = "/ip4/188.8.131.52/tcp/41587/p2p/12D3KooWDSeWaBgxMiwboN8jktSaJLg4n8ETx9BuD3f1HiQFk3ka" safe wallet get-faucet 184.108.40.206:8000 safe files upload <directory-path>
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
We have a tool named
safeup which is intended to make it easy to obtain the client, node, and other utility binaries.
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.
safeup, you can install binaries like so:
safeup client --version 0.80.41 # get a specific version safeup node --version 0.88.30 # get a specific version
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.
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.
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.
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/220.127.116.11/tcp/41587/p2p/12D3KooWDSeWaBgxMiwboN8jktSaJLg4n8ETx9BuD3f1HiQFk3ka" # Windows $env:SAFE_PEERS = "/ip4/18.104.22.168/tcp/41587/p2p/12D3KooWDSeWaBgxMiwboN8jktSaJLg4n8ETx9BuD3f1HiQFk3ka"
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
safe --peer="/ip4/22.214.171.124/tcp/41587/p2p/12D3KooWDSeWaBgxMiwboN8jktSaJLg4n8ETx9BuD3f1HiQFk3ka" ...
However, this requires specifying the peer with each command.
You’ll first need to get some Safe Network Tokens:
safe wallet get-faucet 126.96.36.199: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]
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.