Distributed blockchain KVS with high availability written in Rust.
You need rust (cargo) environment for building.
After cloning this repo, build it by below.
cargo build --release
Launch a node with binding a gPRC port on 8000 and websocket port on 8001.
./target/release/byzd --bind_port=8000 --peer_port=8001
Upsert data and get it from it.
# Upsert data
./target/release/byz --connect_port=8000 upsert -k mykey -v myvalue
# Get it from the node
./target/release/byz --connect_port=8000 get -k mykey
Core technology of blockchain is not for the currency but for the consensus algorithm. Byzan uses the blockchain feature for keeping data consisntency between distributed nodes.
Because Byzan is assumed to be used in system internally. (not publically.) So it's not needed to make some intervals but just verifying the block hash is enough for the purpose.
All APIs are defined as gRPC. You can find the definition at /proto directory.
cargo build --release
cargo test
cargo bench
Byzan uses pingcap/grpc-rs as a gRPC library. Follow the instraction on it to make a required environment.
protoc --rust_out=./src/proto/ --grpc_out=./src/proto/ --plugin=protoc-gen-grpc=`which grpc_rust_plugin` proto/byzan.proto
- tbrand Taichiro Suzuki - creator, maintainer