Skip to content

An Efficient Storage Engine for Blockchain and Forkable Applications

License

Notifications You must be signed in to change notification settings

hugy718/forkbase

 
 

Repository files navigation

ForkBase

ForkBase is a distributed data storage system with rich semantics and features that unifies and adds values to many classes of next-generation applications. In particular, ForkBase is mainly designed for applications that require internal data representation with versions, chains, and branches. Typical applications include Git-like versioning control, Blockchain, Collaborative analytics, and versioned OLTP. ForkBase focuses on providing such applications with high performance, flexibility, and high-level semantics while reducing application-level development and maintenance effort.

Dependency

Compulsory

  • cmake >= 2.8
  • g++ >= 4.9
  • protobuf >= 2.6.1
  • boost >= 1.66.0
  • czmq >= 4.0.2
  • libzmq >= 4.2.1
  • gflags >= 2.1.0

Optional

For RDMA

  • libibverbs >= 1.0
  • libboost_thread >= 1.5.4 (Thread)

For Cryptographic Hashing

  • libcrypto++

For Storage

  • RocksDB >= 5.8
  • LevelDB
  • Snappy

Getting Started

Build ForkBase

$ mkdir build
$ cd build
$ cmake .. && make

Start ForkBase

$ ./bin/ustore_start.sh

Stop ForkBase

# stop the service
$ ./bin/ustore_stop.sh

# stop the service and clean the data
$ ./bin/ustore_clean.sh

References

Contribute

Please follow our Development Guidelines to submit pull requests.

Citation

If you use our code in your research, please kindly cite:

@article{10.14778/3231751.3231762,
  author = {Wang, Sheng and
            Dinh, Tien Tuan Anh and
            Lin, Qian and
            Xie, Zhongle and
            Zhang, Meihui and
            Cai, Qingchao and
            Chen, Gang and
            Ooi, Beng Chin and
            Ruan, Pingcheng},
  title = {Forkbase: An Efficient Storage Engine for Blockchain and Forkable Applications},
  journal = {Proc. VLDB Endow.},
  volume = {11},
  number = {10},
  pages = {1137--1150},
  year = {2018}
}

Contact

To ask questions or report issues, please drop us an email.

About

An Efficient Storage Engine for Blockchain and Forkable Applications

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 97.7%
  • Other 2.3%