MutAnt: Decentralized public/private mutable key-value storage
MutAnt: Decentralized public/private mutable key-value storage
Hey guy ! I want to show you this small tool I've been developing on top of the https://autonomi.com/ decentralized storage network It is composed of a `mutant` CLI tool that is a frontend for a rust library It allows you to have a private decentralized key value storage as well as publicly-addressable mutable content accessible from everywhere, where you only pay to grow your storage and can mutate it -> for free forever <- The cli looks like this ```bash # Store a value directly $> mutant put mykey "my value" # Get a value and print to stdout $> mutant get mykey # Output: my value # Update a value (you can use the shorter -f) $> mutant put mykey "my new value" --force # Remove a value $> mutant rm mykey ``` ```bash # Store data publicly (no encryption) under a name $> mutant put -p my_key "some public content" # Output: 1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef # Get your own public data by name $> mutant get my_key # Output: some public content # Get public data by address $> mutant get -p 1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef # Output: some public content # You can update it all the same as the private data $> mutant put -p my_key "some updated public content" --force ``` You can also use the rust library directly ```rust use mutant_lib::{MutAnt, MutAntConfig, Error}; #[tokio::main] async fn main() -> anyhow::Result<()> { // Replace with your actual private key (hex format, with or without 0x prefix) let private_key_hex = "0xYOUR_PRIVATE_KEY_HEX".to_string(); let mut mutant = MutAnt::init(private_key_hex).await?; mutant.store("greeting", b"hello world").await?; let fetched_value = mutant.fetch("greeting").await?; println!("Fetched value: {}", String::from_utf8_lossy(&fetched_value)); mutant.remove("greeting").await?; Ok(()) } ``` As a demo, I run a little loop to update a public value with the current time at the time of the update that you can publicly get at `9429076971abe17b485fd30dd3065d27fc36362ba164529e530722bdd693f6cb8904fc177bf657d29774eb42403ac980` ```bash $> cargo install mutant $> mutant get -p 9429076971abe17b485fd30dd3065d27fc36362ba164529e530722bdd693f6cb8904fc177bf657d29774eb42403ac980 # outputs: Hello Autonomi ! Sat, 19 Apr 2025 16:45:30 +0000 ``` You can find more information on the github https://github.com/Champii/MutAnt The Autonomi website https://autonomi.com And the Autonomi forum post for the latest updates https://forum.autonomi.community/t/announcing-mutant-mutable... I'm looking for feedback on this tool, if it is usefull or if it has any use for you guys. Let me know ! Happy storing :)
Share cardActual performance
Launch Intel predictions
Analyze your own launch →Correct prediction on native model
Similar products
Simple key value storage
Decentralized key-value database on blockchain
Pandora – Instant key-value storage for your projects
Key-Value-Exists
Decentralized Email and Storage
Zcache – dependency free Python key value cache based file storage
A Simple Public Key Value Store on Erlang (Docker)
A threaded, TCP, key value store in Haskell
Real-time distributed storage for files and key value databases
Sklad, a key-value database in Zig