yahoo/bftkv

Name: bftkv

Owner: Yahoo Inc.

Description: null

Created: 2017-08-15 21:10:05.0

Updated: 2018-05-11 22:10:21.0

Pushed: 2018-05-11 22:10:20.0

Homepage: null

Size: 4090

Language: JavaScript

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

BFTKV (to be changed)

BFTKV is a distributed key-value storage which is tolerant to Byzantine fault. See Abstract for details.

Additional documents:

Design Document

HTTP-API

Implementation Notes

Test Notes

Setup
  1. Install Go 1.8.
  2. go get -u github.com/yahoo/bftkv
  3. Install GnuPG 2.x
  4. Install Docker (if you want to run BFTKV in a Docker container)
  5. Run setup.sh in scripts (setup.sh -host bftkv for Docker)
  6. If bftkv runs with KeyTransparency, run $GOPATH/src/github.com/google/keytranspreancy/scripts/gen_bftkv_keys.sh
Build
github.com/yahoo/bftkv
uild -o bftkv cmd/main.go
Parameters

A list of parameters that can be supplied to bftkv is given below:

Flag     Purpose                               Default
-home    Path to PGP home directory,           ~/.gnupg
-sec     Secret key ring path,                 $home/secring.gpg
-pub     Public key ring path,                 $home/pubring.gpg
-rev     Revocation list path,                 $home/revocation.gpg
-db      Database path,                        db
-api     Http api address,                     localhost:5792
-ws      Web socket port,                      5001
Run Options
  1. Run a node bftkv -home gnupg.key

  2. Run a BFTKV cluster cd scripts; run.sh

  3. Run a BFTKV cluster in Docker

er build -t bftkv .
er run -d bftkv
Visualization

BFTKV includes a visualization tool (located in visual/) for observing the current system state. The tool can display

To show the graph, run run.sh and open visual/index.html.

Write in Action

Write

Revoke on Read in Action

Revoke on Read

License

Copyright 2017, Yahoo Holdings Inc.

Licensed under the terms of the Apache license. See LICENSE file in project root for terms.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.