Update 15 February, 2024

Many of you are putting your hearts and souls into Valentines Net (or RelationshipTestNet as it’s become known) which only makes us love you all the more :heart:. We sincerely hope you are not kicked out of house and home as a result. And that if you are you feel it was worth it, and you have a comfy shed.

The purpose of this testnet is to check on the effects of gossip (also damaging to relationships), specifically whether this is behind the memory spikes seen in the last couple of tests.

Thanks too to those of you engaged in the debate on registers and the register API. It’s been useful to think through the pros and cons of competing approaches. As usual we’re starting simple. @bochaco is working up a simple file management system capable of storing metadata as chunks. Once that’s done, we’ll see how it works in terms of network performance and dev UX.

The last testnet was not upgradeable on the fly, so fixing that is one thing we’ve worked on this week. Elsewhere, we’re making advances with using DAGs for auditing and double spend prevention; wading into WASM; readying the faucet for real-life token distributions; and adding functionality to node_manager, the module that controls testnets, along with the usual bug fixes and tweaks.

PR corner
@mav has added to his sterling work on token distribution, including a new API endpoint for the faucet. This exposes the pre-generated token distributions, allowing easy fetching by Maid owners. Really vital work and much appreciated. :mechanical_arm:

General update

@chriso worked on improving and thoroughly testing the node_manager’s upgrade command. He added support for --url, --version and --force arguments. Since the upgrade process requires root access, he plans to implement integration tests that can only run in the CI environment where root is available. Chris also investigated disk space issues during the release process.

Also on node_manager, @roland has been looking to turn it into a long-running daemon process. He added functionality to the deployer and node_manager to set environment variables like log levels for the safenode service and for deploy and upgrade. He put together PR #1302 to ensure node ports are preserved when nodes restart the process during an upgrade, and improved the handling of register PUT operations.

On registers, folders and files, @bochaco made progress on folder management functionality, building on his initial implementation of upload and download commands. He also looked at syncing local changes to remote storage and moving metadata storage into file chunks on the network. And he added a PR to cache the storage payee peer ID in the local wallet.

In the DAG house, @anselme made further advancements in auditing. He also fixed an issue found by @mav related to detecting already redeemed or spent transfers. Anselme also worked on a spend DAG database abstraction for sn_auditor to enable running the DAG building and server components in parallel threads, and functionality to convert output to SVG format. This will enable us to visualise the complete transaction graph in a browser.

Meanwhile, in WASM world, @bzee continued exploring Web Assembly integration, experimenting with Wasmtime and browser-based setups. He furthered his deep dive into libp2p transports like WebSockets, TCP and QUIC to understand their capabilities.

@jason_paul set up a VS Code debugger, to gain insight into the codebase. He also refactored upload code in preparation for a new price estimation CLI feature.

And @qi_ma helped set up the latest public testnet before creating tests for token distributions. He investigated logs to resolve issues like the large file upload failure, and also explored OMNI-related code in preparation for Maid-SNT conversion.


First !!! now to read


Second!! Keep up the great work team and testers!!


And an update what a day I’ll take 3rd


Thanks so much to the entire Maidsafe team for all of your hard work! :horse_racing:

And to all of the community testnet workers! :horse_racing:


Also also one from me to reinstate the chat feature in the registers example. :smile_cat:


Wow, great update. All the piston’s firing at high RPM under the hood. Thanks team and thanks to the many supporters also helping out - some in major ways - impressive! Lot’s of love happening on the Valentine’s day :heartpulse: network. :wink:

Cheers :beers:


You guys are gonna be bowled over when you hear what’s coming.


Can the Southside mafia pay @JimCollinson a visit with a $5 wrench please. This is out of order trolling. :troll:


Send $5 first.

Feeling untrolled TBH, merely inspired.


I was just about to say this teasing has been going on for months and we haven’t even reached first base!!


Those of us who are still standing… :roll_eyes:


@bzee let me know if you have any code I can look at. I have an idea that I could implement LinkedData Protocol (LDP containers) and use that to port Solid apps as previously. But as there’s no RDF support in rust crates it would rely on compiling node modules (of which there are many really good ones) and using those alongside the SN APIs. I couldn’t get @Joshuef’s proof of concept working but might have another look at that, but anything you can share would be interesting to look at.


While I realise he gets to keep the wrench after, a simple $5 beer would do just a good a job.


:laughing: I really don’t think that’s going to happen.


Very excited Jim, just throw the Ball! :star_struck:


Great job Team @maidsafe !!!

I was randomly looking at Rust projects and saw an open source policy language and evaluation engine that might be of interest?

Throwing spaghetti is my speciality. :wink:


You forgot SOON on the end :joy:


I’m happy to buy @JimCollinson a beer anytime.
I’m even happier to do it with your money :slight_smile: