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 . 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.
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.