MetaDisk is a filehost web app, that allows anyone to upload files via a web
interface or API. Files are hashed and uploaded to public file hosting. Using
the hashes a node can look up the information of where that file was stored
using the Datacoin blockchain. This makes a file
uploaded to MetaDisk accessible through any node in the network.
This project depends on several other projects:
accounts (Optional) - Library for managing bandwidth on shared MetaDisk nodes. Allows users to buy, earn, or receive their bandwidth.
cloud-manager contains most of the
file handling logic. It keeps track of all the uploaded files, keeps track of
the files present in local cache, and handles database serialization.
file-encryptor is an encryption
package that implements convergent encryption using HMAC-SHA256 and AES128-CTR.
metachains-dtc is a wrapper for
the Datacoin client, using JSON RPC. It also contains a synchronization class,
which allows one to synchronize data from and to the blockchain.
plowshare-wrapper provides a
python interface to upload and download files from popular file hosting
sites. It is a python wrapper of the plowshare tool.
web-core is the backend server that powers
MetaDisk. It provides a JSON API web service, and the daemons to synchronize
files to the cloud hosting services and to the blockchain.
MetaDisk, this project, provides a web interface to web-core, allowing you to
upload files and check the server status regarding bandwidth, disk usage, and
All API documentation is contained in MetaDisk's web-core repo.