This project is the one who brought me to Blockchain technologies in general and Ethereum in particular.

The goal of cubefriendly is to create an open and decentralized open data platform where you can not only share information but also query it, create applications on top of it.

The main goals of the project are:

  1. Create a powerful readonly database to make queries fast and easy to write
  2. Make the platform format agnostic yet have a format to have fast data processing. Each format should be able to get converted to this indexed format. 
  3. Create an extensible API to help people write application on top of the organized data
  4. Create a network of data producers and users to make it:
    1. Cost effective and scalable to share data
    2. Decentralize data storage and computation
    3. Decentralize application publication
    4. Create a database of data provenance
    5. Create decentralized and non censorable data creator societies and organizations

Each data is organized in cube. This means that each data set has dimensions with dimension values. Then each value is defined by the dimension values, like in a standard OLAP or column based database. 

Cubefriendly overview

You can find the code of this project on my github repository

Cubefriendly has three parts:

  1. cubefriendly-engine This project is the low level code to handle the fast querying language.
  2. cubefriendly-core This is the main database library. It is useful if you want to embed the database engine within one of your project without having to use the REST API
  3. cubefriendly-server This is the main standalone application. The cubefriendly server is what you need if you want to create a cubefriendly node, play with applications on cubefriendly or publish information on the network

Disclaimer: Because I am very busy lately with different blockchain related projects, I didn't work on the blockchain + IPFS integration yet. Even though I have the architecture in mind, I need people with the will and the resource to help me move this project forward.