{"id":23663788,"url":"https://github.com/daimaou92/ruft","last_synced_at":"2025-12-06T13:30:14.394Z","repository":{"id":97269187,"uuid":"484691602","full_name":"daimaou92/ruft","owner":"daimaou92","description":"raft impl","archived":false,"fork":false,"pushed_at":"2022-05-01T22:09:45.000Z","size":23,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-29T05:34:01.324Z","etag":null,"topics":["learning-by-doing","raft","raft-consensus","raft-consensus-algorithm","raft-protocol","rust","rust-lang"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/daimaou92.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":"2022-04-23T08:34:41.000Z","updated_at":"2022-06-07T13:38:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"c087cf9a-0136-4c91-a2d7-838ca549f782","html_url":"https://github.com/daimaou92/ruft","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daimaou92%2Fruft","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daimaou92%2Fruft/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daimaou92%2Fruft/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daimaou92%2Fruft/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/daimaou92","download_url":"https://codeload.github.com/daimaou92/ruft/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239662729,"owners_count":19676435,"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":["learning-by-doing","raft","raft-consensus","raft-consensus-algorithm","raft-protocol","rust","rust-lang"],"created_at":"2024-12-29T05:33:21.547Z","updated_at":"2025-12-06T13:30:14.351Z","avatar_url":"https://github.com/daimaou92.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# What?\n\nLearning rust - by implementing the [raft protocol](https://raft.github.io/raft.pdf).\n\nGoes without saying but - please don't use this anywhere.\n\n# Run\n```Shell\ncargo build\n./target/debug/ruft\n```\n\nThis will start a server with the following default cluster configuration:\n1. `127.0.0.1:20000`\n2. `127.0.0.1:20001`\n3. `127.0.0.1:20002`\n\nThis server itself will start on port `:20000`\n\nOpen up two new shells and run:\n\n`./target/debug/ruft -p 20001` in one and\n\n`./target/debug/ruft -p 20002` in the other\n\nWatch the logs go and use `Ctrl+C` liberally.\n\n## What works?\n\nThe leadership and election bit. There's a leader lease in case only one member is active.\n\n## What doesn't work?\n\nAnything else\n\n# Dependencies:\n1. [tokio](https://github.com/tokio-rs/tokio)\n2. [tarpc](https://github.com/google/tarpc)\n3. [clap](https://github.com/clap-rs/clap)\n4. [serde](https://github.com/serde-rs/serde)\n5. [anyhow](https://github.com/dtolnay/anyhow)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaimaou92%2Fruft","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdaimaou92%2Fruft","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaimaou92%2Fruft/lists"}