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

Activity

  • almost 2 years ago: mbrugger liked Dropbox replacement written in Pony
  • almost 2 years ago: ta-ro liked Dropbox replacement written in Pony
  • almost 2 years ago: wanghaisu liked Dropbox replacement written in Pony
  • almost 2 years ago: KGronlund liked Dropbox replacement written in Pony
  • almost 2 years ago: KGronlund started Dropbox replacement written in Pony
  • Show History

    Comments

    • dmacvicar
      almost 2 years ago by dmacvicar | Reply

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

    • wanghaisu
      almost 2 years 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
      almost 2 years 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
      almost 2 years 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
      almost 2 years 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!