{"id":17680386,"url":"https://github.com/tbrand/byzan","last_synced_at":"2025-05-12T23:10:38.043Z","repository":{"id":75518796,"uuid":"148902969","full_name":"tbrand/byzan","owner":"tbrand","description":"Distributed blockchain KVS with high availability written in Rust","archived":false,"fork":false,"pushed_at":"2018-09-28T05:28:59.000Z","size":51,"stargazers_count":10,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-01T04:32:37.637Z","etag":null,"topics":["blockchain","kvs","rust"],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tbrand.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-09-15T13:08:54.000Z","updated_at":"2019-11-28T05:41:57.000Z","dependencies_parsed_at":"2023-06-06T17:45:13.842Z","dependency_job_id":null,"html_url":"https://github.com/tbrand/byzan","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tbrand%2Fbyzan","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tbrand%2Fbyzan/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tbrand%2Fbyzan/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tbrand%2Fbyzan/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tbrand","download_url":"https://codeload.github.com/tbrand/byzan/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253837452,"owners_count":21971984,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blockchain","kvs","rust"],"created_at":"2024-10-24T09:06:52.645Z","updated_at":"2025-05-12T23:10:38.017Z","avatar_url":"https://github.com/tbrand.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"right\"\u003e\n  \u003cimg src=\"https://user-images.githubusercontent.com/3483230/45586645-ee774800-b935-11e8-971e-3a72e71db9ba.jpg\" width=\"600px\" /\u003e\n\u003c/h1\u003e\n\n\u003cp align=\"right\"\u003e\n  \u003ci\u003eDistributed blockchain KVS with high availability written in Rust.\u003c/i\u003e\n\u003c/p\u003e\n\n## Quick start\n\nYou need rust (cargo) environment for building.\n\nAfter cloning this repo, build it by below.\n```bash\ncargo build --release\n```\n\nLaunch a node with binding a gPRC port on 8000 and websocket port on 8001.\n```bash\n./target/release/byzd --bind_port=8000 --peer_port=8001\n```\n\nUpsert data and get it from it.\n```bash\n# Upsert data\n./target/release/byz --connect_port=8000 upsert -k mykey -v myvalue\n\n# Get it from the node\n./target/release/byz --connect_port=8000 get -k mykey\n```\n\n## How to use blockchain?\n\nCore technology of blockchain is not for the currency but for the consensus algorithm.\nByzan uses the blockchain feature for keeping data consisntency between distributed nodes.\n\n### Why no miners?\n\nBecause Byzan is assumed to be used in system internally. (not publically.)\nSo it's not needed to make some intervals but just verifying the block hash is enough for the purpose.\n\n## API\n\nAll APIs are defined as gRPC. You can find the definition at [/proto](https://github.com/tbrand/byzan/tree/master/proto) directory.\n\n## Development\n\n### Build\n```bash\ncargo build --release\n```\n\n### Test\n```bash\ncargo test\n```\n\n### Benchmark (nightly only)\n```bash\ncargo bench\n```\n\n### Generate gRPC fines\n\nByzan uses [pingcap/grpc-rs](https://github.com/pingcap/grpc-rs) as a gRPC library.\nFollow the instraction on it to make a required environment.\n\n```bash\nprotoc --rust_out=./src/proto/ --grpc_out=./src/proto/ --plugin=protoc-gen-grpc=`which grpc_rust_plugin` proto/byzan.proto\n```\n\n## Contributors\n- [tbrand](https://github.com/tbrand) Taichiro Suzuki - creator, maintainer\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftbrand%2Fbyzan","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftbrand%2Fbyzan","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftbrand%2Fbyzan/lists"}