I want to experiment with three things:

  • Blockchain
  • The Pony programming language
  • Dropbox replacement

File sharing is a constant thorn in my side. I like syncthing, but its interface is too cumbersome for me, and it uses too much CPU for my liking. I want to have something which is as close to zeroconf as possible, has a stable protocol, is portable and efficient.

I want to use Pony mainly because I am curious about the language ideas and want to learn more about it.

My plan is to have a protocol which uses hashed blocks of encrypted data as the transport medium, and a DHT for locating peers.

Ideally, it should just work: Install the software, add a share via hash + local directory to mirror to, done.

Looking for mad skills in:

Nothing? Add some keywords!

This project is part of:

Hack Week 16


Comments

  • dmacvicar
    over 1 year ago by dmacvicar | Reply

    Is this something in the line of https://syncthing.net ?

  • wanghaisu
    over 1 year ago by wanghaisu | Reply

    I am curious about how blockchain will be used in this project. Like trace the source of all files for every commit?

  • KGronlund
    over 1 year ago by KGronlund | Reply

    Oh hey, I didn't see that there were comments here.

    Duncan: Yes, in the same spirit as syncthing. Syncthing is what I actually use for "production".

    Nick: The idea has two parts:

    1. to store and distribute data as blocks linked with hashes. This is what git does for example, and it is similar to bittorrent. Mostly inspired by IPFS: ipfs.io. The benefit is that data can come from any other node that happens to have that data.

    2. Maintain the meta-data index of files and directories as a chain of hashed blocks as well.

  • KGronlund
    over 1 year ago by KGronlund | Reply

    Status update: I ended up mostly hacking on the pony compiler itself. It is currently not yet ported to LLVM 4, but openSUSE:Factory wants to drop LLVM <4. So, I worked on the LLVM 4 port and other upstream compiler issues.

  • wanghaisu
    over 1 year ago by wanghaisu | Reply

    Indeed, this tool is not so friendly for discussion:)

    Not familiar how P2P protocol work for bittorrent, but i thought maybe blockchain can help to maintain and sync the increment of sharing resource.

Similar Projects

This project is one of its kind!