Surprise! We’re launching a community testnet to test out the various tweaks and changes since JoshNet!
We have moved from storing the chunks in memory to storing them onto the disk. You can view the chunks at
We have other fixes which drastically reduces the memory usage by preventing concurrent dialling among peers and by replicating only when there is a churn in the close group. Also, we have revised our strategy for populating the node’s Routing Table, eliminating the need for random network look-ups.
There are 100 nodes running currently and each should have capacity of ~5.5 GB.
Note: please don’t try to join the network with a home node as it will screw things up. Cloud nodes only this time.
The goal of this testnet is to:
- Ensure nodes are successfully connecting to peers, which can be validated by examining log activity.
- Verify the disk-backed DataStore is working as intended.
- Find potential causes of memory spikes, if any.
To connect to the
DiskNet, we should set the network address using the
SAFE_PEERS env variable or use the
--peer= argument. Use any of the following address to connect to the network,
export SAFE_PEERS=/ip4/18.104.22.168/udp/12000/quic-v1/p2p/12D3KooWGxWnfChkZTLTqFCkDMafTkpteBvSdJd3bYdA29q3H7GB # fall-back addresses /ip4/22.214.171.124/udp/12000/quic-v1/p2p/12D3KooWBqsnvR5R4d7xn8ZPUX8skuYvXnJbsf6VPR729qEi9JZU /ip4/126.96.36.199/udp/12000/quic-v1/p2p/12D3KooWBsWbQPhZYCJgCDn4iYqk8AArnmPrkzUBcEzDYkAjR3md /ip4/188.8.131.52/udp/12000/quic-v1/p2p/12D3KooWFr9Df8o8tpj2WZvfUU4p3xsTteYdEsi26rwBmwBvjSDF
Using the Client
To put/get files you’ll need to use the
safe client. Which you can grab for your platform from GitHub. Once you have the client, you need to either set the
SAFE_PEERS environmental variable or use the
--peers= argument with any of the above network addresses
Now to upload a directory/file to the network, use the following command:
# using the SAFE_PEERS variable export SAFE_PEERS=/ip4/184.108.40.206/udp/12000/quic-v1/p2p/12D3KooWGxWnfChkZTLTqFCkDMafTkpteBvSdJd3bYdA29q3H7GB safe files upload -- <path> # alternatively using the --peers argument. It should be set during each command safe --peer=/ip4/220.127.116.11/udp/12000/quic-v1/p2p/12D3KooWGxWnfChkZTLTqFCkDMafTkpteBvSdJd3bYdA29q3H7GB files upload -- <path>
The file-addresses of the content you’ve uploaded are saved locally and are used to enable automatic downloads. Use the following command to download them back to the
To download the content you’ve just uploaded:
$ safe files download
How to share files and download them?
When you upload you will also see, for example:
Successfully stored file "testnet.exe" to 332f45ae9482a8e03b5d5579f15fd9c8806fe4a2b30da2bc6e5ebb9a98fe4095
This wee hex string allows you to easily share files (without having to have the addresses locally).
safe files download -- testnet.exe 332f45ae9482a8e03b5d5579f15fd9c8806fe4a2b30da2bc6e5ebb9a98fe4095
(here you can change the target filename (i.e. testnet.exe) to whatever you want.)
Running a Node
The node (safenode binaries) connects to the Network similarly to the client, by passing the network address of any other public node. Use the
SAFE_PEERS env variable or
--peers arg as mentioned here to connect to the Network. It also needs a directory specified for the data it stores. And it’s a good idea to keep the logs in a directory.
$ safenode --root-dir=/tmp/safenode --log-dir=/tmp/safenode
Full NAT traversal is still a WIP and the node should be publicly visible for the other nodes to connect to it. Therefore it probably won’t work behind a home router yet.
So please don’t try to join with a home node as it will screw things up. Cloud nodes only for now.