Skip to content
You must be logged in to sponsor cowlicks

Become a sponsor to cowlicks

Why

I think the peer-to-peer append-only log Hypercore is an amazing technology, and has so much potential. But the main tools and runtime are centered around Javascript. I'm working on implementing the core libraries of the Hypercore ecosystem in Rust.

I'm not writing Rust for Rust's sake. Rust is the first step in creating libraries for other languages: C, and any languages supported by UniFFI Python, Swift, Kotlin and others.

More languages, means more peers.

Each of these foreign language bindings will use the same internal rust implementation which will prevent incompatibilities from implementation differences. Eventually the Javascript libraries could even use Rust implementation.

This all started when I wanted to implement a peer-to-peer RSS protocol. I initially did this with the JS libraries here. But this was a dead-end. I can't ask an existing RSS client to integrate a JS library. So I began working with the Rust implementations.

Progress

I started by implementing Hyperbee a B-Tree built on Hypercore. That is basically done, here. It took around 2 months of work.

Then I experimented with generating foreign language bindings. With these I've published a Python library. It needs testing! Please let me know if you would like to help with Kotlin, or Swift testing.
I also created FFI bindings (without UniFFI) for usage from C.

When that was done, I moved on to the networking AKA "replication" in rust basically did not exist. I've been working on that off and on for a few months, and it is mostly complete. is currently being integrated with hypercore and hyperbee. You can now actually use Rust hypercore libraries over the internet! The Rust and Javascript implementations are tested to be compatible. More testing is needed!

The next steps are finishing the Rust implementation of hyperswarm and creating a Rust implementation ofcorestore.

Future

What else could we do with Hypercore? I have so many ideas:

  • A peer-to-peer package manager
  • Integrate with existing torrent indexing websites and torrent clients
  • integrate peer-to-peer RSS into existing RSS clients
  • peer-to-peer podcast client built on peer-to-peer RSS
  • Popcorn (a nice p2p torrent client) could use it to distribute their API
  • You could use it to create a large index or library of censorship resistant data: like AI training data, or malware (for research).
@cowlicks

My coffee budget

Featured work

  1. cowlicks/hyperbee

    A peer-to-peer append-only B-tree built on Hypercore

    Rust 6
  2. cowlicks/replicator

    Replicator for hypercores

    Rust 1
  3. cowlicks/hyper-rss

    peer-to-peer RSS built on Hypercore

    JavaScript 3

0% towards 10 monthly sponsors goal

Be the first to sponsor this goal!

Select a tier

$ a month

Choose a custom amount.