72 karma · joined April 19, 2010
The wire protocol works now: https://github.com/Frando/hypercore-protocol-rs and the community is active in #datrs on freenode
Hyperdrives builds a p2p filesystem on top of Hypercore for a single writer. Using mounts you can mount other peoples drives so merge conflicts don't happen since there is no overlapping writes.
We are working on a union mount approach as well for overlapping drives (we talk a bit about this in the post)
We are working on expanding this scheme so peers can help discover peers that have the section you are looking for.
Due to the compressed bitfields these section are quite large. In most cases using a few kilobytes you can share WANT/HAVE for millions of blocks
At the moment we don't do anything special in regards to discovery, but as we scale that's something we want to investigate. Since everything is running on append-only logs we can group the data into sections quite easily so there is some easy wins we can do there with announcing to the dht that you have data in a specific region.
For a full “union” mount experience we still have some research to do but we are working on it.
The mount setup is really good though and fully p2p
Hyperdrives also have a built in capability system where you have to know the public key of the drive to download it from a peer, so if you only share the key with yourself no one else can access it.
Finally using the modules you can build almost any kind of networking you’d imagine but that part requires more work on your side obviously.
We also talk a bit more about this on the hypercore website
We are planning to blog more about how the internals work. The "first class" hole punching is def one of the features I'm most exciting about.