{"id":25103049,"url":"https://github.com/gokul656/raft-consensus","last_synced_at":"2025-04-02T07:12:35.092Z","repository":{"id":196246827,"uuid":"695516261","full_name":"gokul656/raft-consensus","owner":"gokul656","description":"Raft Consensus Algorithm with gRPC \u0026 Go","archived":false,"fork":false,"pushed_at":"2024-02-17T19:23:42.000Z","size":42,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-07T21:37:27.324Z","etag":null,"topics":["distributed-systems","go","raft-consensus-algorithm"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gokul656.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2023-09-23T12:34:23.000Z","updated_at":"2023-10-10T11:55:41.000Z","dependencies_parsed_at":null,"dependency_job_id":"e7719c87-c9e2-4c90-8adf-4935bcb9302e","html_url":"https://github.com/gokul656/raft-consensus","commit_stats":null,"previous_names":["gokul656/raft-consensus"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gokul656%2Fraft-consensus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gokul656%2Fraft-consensus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gokul656%2Fraft-consensus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gokul656%2Fraft-consensus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gokul656","download_url":"https://codeload.github.com/gokul656/raft-consensus/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246769975,"owners_count":20830771,"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":["distributed-systems","go","raft-consensus-algorithm"],"created_at":"2025-02-07T21:37:09.566Z","updated_at":"2025-04-02T07:12:35.069Z","avatar_url":"https://github.com/gokul656.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Raft Consensus Algorithm with gRPC \u0026 Go\n\nThis project aims to demonstrate the working of the **Raft consensus** algorithm using gRPC and Go. The primary objective is\nto implement a distributed consensus system where peers elect a leader and exchange messages to maintain consistency \nin a distributed network. Below are the key components and steps involved in the project:\n\n## Project Setup,\n\nTo run the project, follow these steps:\n\nBuild the project:\n\n```\n$ make build\n```\n\nRun the peer\n\n```\n$ ./bin/peer\n```\n\n## Prerequisites\n\nBefore running the project, ensure you have the following prerequisites installed:\n\n* Go v1.21\n* Make CLI\n* protobuf-compiler\n\n## Install Protobuf Tools\n\nInstall the necessary Protobuf tools with the following commands:\n\n```\n go install google.golang.org/protobuf/cmd/protoc-gen-go@latest\n go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest\n```\n\n## To-Do List\n\nThe project is a work in progress, and the following tasks are planned for future development:\n\n* Need to implement Raft election logic\n* Implement loggers\n* Admin cli to interact with peers\n* Containerization\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgokul656%2Fraft-consensus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgokul656%2Fraft-consensus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgokul656%2Fraft-consensus/lists"}