Looks a bit like nostr except:<p>- data is named, not content addressed (to support overwrite & deletion), so the primitive data type is associative arrays of names to documents instead of sets of messages<p>- documents are grouped into "shares" and you have to know the "share address" before the server will acknowledge that it indeed has documents in that share.<p>Seems like an interesting approach: part way private, part way open. It think projects like this which pick an extreme on that axis end up suffering for it--which is most of them.<p>I bet it would succeed at keeping the spammers and scammers out, but I'd be leery of using it with a large group against a motivated adversary--if a single user exposes the share address (which is in a gray area between public and private) it seems like all of the users of that share are exposed. I'd prefer to see a web of trust so that an adversary has to compromise each hop on the trust graph before they find their target--but that's a lot of complexity for users to handle so I can see why keeping it simple might be worth tolerating the lack of granularity.<p>I certainly hope that something like this succeeds. It feels like we've lost the web and there are too many of us to coordinate en masse without something web-like--and at a time where that coordination is pretty important.
Not entirely following what this is?<p>A document and media database of some sort with lots of JavaScript involved somehow? Aimed at something vaguely self-host-ish? With mastodon-ish replication to peer nodes?<p>Seems like there is an ambitious grand vision happening here of sorts but not quite seeing it.
I believe this is superseded by the Willow protocol [0] which was posted here a while back.<p>I tried to read about Willow, but could never make heads or tails of it [1]. It seems to be a hierarchical key value store with a bunch of extra fields for timestamps and cryptographic tokens, but it's woefully short on working examples. Even the recent Rust library [2] is effectively a bunch of abstract classes with implementations that just throw errors.<p>I could make a quip about the state of European tech sophistication, but I'll let it pass with a polite smile.<p>[0] <a href="https://willowprotocol.org/earthstar/spec/" rel="nofollow">https://willowprotocol.org/earthstar/spec/</a><p>[1] <a href="https://willowprotocol.org/specs/data-model/index.html#data_model" rel="nofollow">https://willowprotocol.org/specs/data-model/index.html#data_...</a><p>[2] <a href="https://github.com/earthstar-project/willow-rs/tree/main">https://github.com/earthstar-project/willow-rs/tree/main</a>
Does a Python client exist? The only thing I see in the docs which is related to Python is<p><pre><code> # Earthstar timestamps in python
timestamp = int(time.time() * 1000 * 1000)</code></pre>
I would recommend instead jellyfin, immich, and maybe just plain sftp for all the rest. You can sync (err, become distributed) by way of git, syncthing, or rsync.<p>What I haven't seen yet is a good self hosted identity manager, SSO sort of thing. I believe bluesky is working on one but I dont know if it will be self hostable (Freudian autocorrect: self hostage)<p>Another thing I haven't figured out yet with my homelab/private cloud is how to be my own CA and manage access to my machine without teaching my counterparties ssh. I want something like NordVPN offers in their meshnet: anyone logged into the family plan can see each other's machines as if they were local network. Can wireguard accomplish this? I think this is what yggdrasil is too but haven't dug into it.
I think this will really benefit from blog posts!! (ie, why did we design it like this?/what were the alternatives?)<p>At a first glance, it sounds <i>interesting</i> though! identities being keypairs, files, content that is accessible via name...
Any possibility of implementation in different languages like Python? I like everything about this except that it's Javascript and I'm still cautious about using javascript for something like this
Honestly it kinda feels like they just reimplemented CouchDB/PouchDB....<p>Not that it would be a bad thing to do that, but really, for small scale stuff Couch works pretty okay. My first impressions of Earthstar do not lead me to believe they have a particular emphasis on performance at scale.