5-4/3/2(022) Playground! [Offline once more ]

I’m on night shift and wake up to find iv missed all the fun :frowning:

Well done to everyone who took part in this playground!!


@neik it was said that if a new release with a bugfix goes through, the playground will relaunch soon!


Hope so but I’d hope it will be next week as its time for the team to rest and enjoy some down time over the weekend.


wonder if there is a way to get progress on recursive puts as well ?

since iv been under the same rock as @Josh


You have made my day… I am not alone :tada:


reporting on GETs is a client side issue (I know, I know but…). Getting info on recursive PUTs may be a tad too far at this time with other conflicting priorities.

Patience, grasshopper :slight_smile:


SooOOooOoo. While there’s no prebuilt files as the CI run failed to generate a new release… (to be investigated during the week). There is another incarnation of the playground up again now, with the nodes attempting to reconnect at least once on fail. (Which while not comprehensive – there’s changes coming soon to help more here – should hopefully stem the tide of harsh ProposeOffline messages we were seeing yesterday. :crossed_fingers:

I have put nodes built from the latest commit on main up on DO.

Access is as OP. Same test files exist, same need to remove ~/.safe before you start. There has been a split. At the time of writing I can get the files listed in OP fine.

If you’re just putting/getting, you can use the cli from the install script. :+1:

If you’re wanting to join with a node, you’ll have to build yourself manually I’m afraid (to ensure that your node gets the latest connection retry code).

Sorry about that!


So. I cannot upload files more than 4mb on here.

BUT. There is a network up that can hold such things.

There’s a linux build of the node built from main up which you could grab thus:

safe cat safe://hyfenryyban3rya95df67upomjse4wjaumy1awb94hs8oyfezjnpwykunu6zo > sn_node.zip


My node is waiting to join and I’m putting. Thanks @joshuef!


Excellent. :tada:

I will make a script to automate this! thank you @joshuef!


On debian:

sudo apt-get update && sudo apt-get install -y git

git clone https://github.com/dreamerchris/dream_sn_node_joiner.git && cd dream_sn_node_joiner

sh dep_installer_debian.sh && sh playground_join_with_built_sn_node.sh

^^ this will:

  • install the dep and safe cli
  • add playground config and switch to it
  • safe file get the sn_node.zip from the playground itself
  • unzip it and copy it in ~/.safe/node
  • add a service to join as a node

run sh single_down.sh to remove the node!

On manjaro:

sudo pacman -Syy && sudo pacman -S --noconfirm git

git clone https://github.com/dreamerchris/dream_sn_node_joiner.git && cd dream_sn_node_joiner

sh dep_installer_manjaro.sh && sh playground_join_with_built_sn_node.sh

^^ this will:

  • install the dep and safe cli
  • add playground config and switch to it
  • safe file get the sn_node.zip from the playground itself
  • unzip it and copy it in ~/.safe/node
  • add a service to join as a node

run sh single_down.sh to remove the node!

safe files put yt5s.com-Booth_called_Hartley_dickhead___Red_Notice_2021___Ryan_Reynolds_Dwayne_Johnson1.mp4  
FilesContainer created at: "safe://hyryyryynpniqcs6ojp5ue8i5mifwto57zs1wmm71e8aeu3rekccxp5e35keyeuy?v=hdks648ksyntmcet9xbydxmq74bnf1mcswggoqpq4wfw6nyo6sjwy"
| + | yt5s.com-Booth_called_Hartley_dickhead___Red_Notice_2021___Ryan_Reynolds_Dwayne_Johnson1.mp4 | safe://hy8ayqyyb6qd4759nenn16uasufb5ihfqqaijgy5pu4mzg495njz9tp8r3tco |

the test jpg from op but you can paste it and it will download all one by one

safe cat safe://hygoygyyb9nh1sbthce4khak48njcti18uzhba56mgru89bnmzzo3cz8s9j1y > 1.jpg
safe cat safe://hygoygyybbrpbh76ep7dw84t7r3stybfssm9wrpiqhxk19gtj3r7eb3rz384o > 2.jpg
safe cat safe://hygoygyybgsidcu168j7mj4rcd1d6io6uqcpgp9s831rcg75z8qyo6zg58tfy > 3.jpg
safe cat safe://hygoygyybgjptw3xbqqk4uihkr7hyrwnghfnzr5ddpfana4x1bhmy3ys8uffo > 4.jpg
safe cat safe://hygoygyyb11e1edd7u347a4y3d1ypqii88eajho9zuez4mmfmmaqiwg5apj5o > 5.jpg
safe cat safe://hygoygyybgc1kfx4b6u4pan9547o6gnmop5s8a7n953gzti7437qpdqnxxmxy > 6.jpg
safe cat safe://hygoygyyb45179qyo8ipaywqojrzmc1ht6fiiwzsfqgjphji1kfgpzdaqje3y > 7.jpg
safe cat safe://hygoygyybo4bm4ojo8gasdibez4yd5yk34on6d9cxyodypardp8pibcqyrd8o > 8.jpg
safe cat safe://hygoygyyboqgy5rpe1exa7935awsam1zc8wd51jqoxhn4dch817ds4cer3kmy > 9.jpg
safe cat safe://hygoygyyb3n3wqahmai8f9yk3u56hpt49ku7adwhdwhddzbyq51asnd5g9ado > 10.jpg
safe cat safe://hygoygyybsym3syjth5tuf9y5ny79kb1f4g9nnnry73xujejitxs1isqoawxy > 11.jpg
safe cat safe://hygoygyybhp4rcjtie16h3c6xdqdib5d5pb49xk1iohqy9qbu67ihspeodyzo > 12.jpg
safe cat safe://hygoygyyb533c9f6mekkyuu5dj39jctmdck5yp1hpdtwc6ignqerhw3fhpa4o > 13.jpg
safe cat safe://hygoygyybjo6tub35w68z9eyy4qj7j4ms3kxy6t5inf1a16x5enesireewqzo > 14.jpg
safe cat safe://hygoygyybqpzmtyc5twr51x7dwqjgrgwsn5hhtx6ddbrxr1hb41nq7fuhi9zo > 15.jpg
safe cat safe://hygoygyybecotf79qepzj3bdhhhqgptor5q74z8tbfgqg1nurhm6ho65tyw3o > 16.jpg
safe cat safe://hygoygyybn6gi537sw6jt57pxzsxypz1stwb6k9q8tpsm5yy6xyerb5p1bp4o > 17.jpg
safe cat safe://hygoygyybu7ofdt5onp4tk4z97bnqe4h998ou7k5p6hkjqje1j9mjbywgrq6y > 18.jpg
safe cat safe://hygoygyyb13q8pory4pq4c7wtjzwuognmwwtkzw8n9nrsusnummaa1g1gtweo > 19.jpg


Playground: safe cat safe://hy8ayqyybwy43t853ng65n6q79c3ozyypxui7s7tyg8amm8hme3iu33dh4m6o > bigdunc.mp4


Running behind a opnsense firewall with UPNP enabled:

   0: Failed to establish UPnP port forwarding
   1: The requested mapping conflicts with a mapping assigned to another client.


I was trying to use the UPNP instead of manual port forwarding for simplicity. I currently have existing port forwarding on port 2222,3000, 7999, 8089 and 12101 setup for other services. Not sure if those conflict with what SAFE is using, but I thought the point of UPNP was to manage all of that by itself? Not an expert, could be wrong.

All of the above is from a VPS I already have setup.

The results are the same from my home computer behind very standard unifi controller NAT setup. Nothing special happening there.

Both are behind NAT firewalls, and using


gives the expected "network not accepting new nodes, try again in 3 minutes.

But I’m unsure if it would actually connect.

safe cat has yet to return me any data, but dog will return file information.

1 Like

It seems to be down

It’s still responding to my node’s join requests (by rejecting them) but puts seem to be taking a long time.

1 Like

Aha, yeh I can see some large memory nodes going on. Much moreso than earlier (up from ~150mb per node to ~700mb, even on over a gig…).

Pulling logs to have a look now :eyes:

Yup, looks like we’ve suffered the same fate as yesterday so I’m going to bring this down.

For clarity, I thin there’s a couple things going on.

One: Data republishing is currently still too instensive. I actually have a working local repro for this as of yesterday, but basically it looks like we produce way too many messges (one per chunk stored), and bog the node dowwwwnnn.

Two: Voting for dysfunctional nodes is super harsh and tied to one failed instance. (And it’s not weighted against general connectivity of the section, as data storage is).

Good thing is we have solutions for both of these in the works.

  • A new data republishing flow is allmost in there from yoges which should cut down the number of messages.
  • We’re looking to holisitically refactor how/when we send messages which should limit any buildup/barrage, and take into account any pressure reports from nodes. (Which should help stop them becoming unresponsive in the first place).

We’ve also known for a while we need to improve the liveness handling (expanding it from data to all aspects of nodes), and are starting to look into this too.

Thanks anyone who got involved here. Sorry if it seems a bit of a dead duck, but both runs were useful!


The tests had no network to run against. It seems when launching the testnet, Terraform destroyed an existing testnet rather than creating a new one. Which is strange, because the previous run indicated the testnet was destroyed successfully :thinking:.


Sorry I missed all this fun, thank you to everyone who worked to set this up and to participate. Little by little we are finding what works, what doesnt and what nearly works.

Yes I still feel there is just too much traffic that will not be necessary in a production environment. Anyone using vdash has their logging set to TRACE so thats super-chatty for starters.