All Projects → zowens → paxos-rs

zowens / paxos-rs

Licence: MIT license
Paxos implementation in Rust

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to paxos-rs

paxakos
Rust implementation of Paxos consensus algorithm
Stars: ✭ 79 (+19.7%)
Mutual labels:  consensus, paxos
Dragonboat
Dragonboat is a high performance multi-group Raft consensus library in pure Go.
Stars: ✭ 3,983 (+5934.85%)
Mutual labels:  consensus, paxos
Raft-Paxos-Sample
MIT6.824实现分布式一致性算法——Raft&Paxos
Stars: ✭ 37 (-43.94%)
Mutual labels:  consensus, paxos
Translations
🐼 Chinese translations for classic IT resources
Stars: ✭ 6,074 (+9103.03%)
Mutual labels:  consensus, paxos
epaxos
A pluggable implementation of the Egalitarian Paxos Consensus Protocol
Stars: ✭ 39 (-40.91%)
Mutual labels:  consensus, paxos
Awesome Distributed Systems
A curated list to learn about distributed systems
Stars: ✭ 7,263 (+10904.55%)
Mutual labels:  consensus, paxos
Swim Js
JavaScript implementation of SWIM membership protocol
Stars: ✭ 135 (+104.55%)
Mutual labels:  consensus
Xrpl Dev Portal
XRP Ledger developer portal with documentation and examples
Stars: ✭ 198 (+200%)
Mutual labels:  consensus
Private Tor Network
Run an isolated instance of a tor network in Docker containers
Stars: ✭ 125 (+89.39%)
Mutual labels:  consensus
Zatt
Python implementation of the Raft algorithm for distributed consensus
Stars: ✭ 119 (+80.3%)
Mutual labels:  consensus
openraft
rust raft with improvements
Stars: ✭ 826 (+1151.52%)
Mutual labels:  consensus
yeast-GEM
The consensus GEM for Saccharomyces cerevisiae
Stars: ✭ 72 (+9.09%)
Mutual labels:  consensus
Bismuth
[Migrated] The first Python blockchain protocol and platform
Stars: ✭ 186 (+181.82%)
Mutual labels:  consensus
Verdi Raft
An implementation of the Raft distributed consensus protocol, verified in Coq using the Verdi framework
Stars: ✭ 143 (+116.67%)
Mutual labels:  consensus
Iroha
Iroha - A simple, enterprise-grade decentralized ledger
Stars: ✭ 210 (+218.18%)
Mutual labels:  consensus
Tinychain
[WIP] A tiny blockchain supporting free transactions and state transition experimentally.
Stars: ✭ 129 (+95.45%)
Mutual labels:  consensus
kcoin
A stable cryptocurrency that algorithmically targets $1 USD using the Kowala Protocol
Stars: ✭ 17 (-74.24%)
Mutual labels:  consensus
Vrf.js
A pure Javascript Implementation of Verifiable Random Functions
Stars: ✭ 124 (+87.88%)
Mutual labels:  consensus
Awesome Decentralized Papers
Influential papers in decentralized systems (cryptocurrencies, contracts, consensus, etc.)
Stars: ✭ 179 (+171.21%)
Mutual labels:  consensus
Awesome Blockchain Rust
Collect libraries and packages about blockchain/cryptography in Rust
Stars: ✭ 251 (+280.3%)
Mutual labels:  consensus

Paxos-rs

Travis

Library encapsulating Multi-Decree Paxos and variants in Rust. The core algorithm is embeddable in other systems that need a replicated state machine.

Development Status: Alpha (not for production use yet)

The library is getting close to a 0.1 release.

Example Key-Value Store

To try out the algorithm, an example implements an HTTP transport for both clients and the replicas.

Running

$ cargo build --example http-paxos
$ ./target/debug/examples/http-paxos 0 &
$ ./target/debug/examples/http-paxos 1 &
$ ./target/debug/examples/http-paxos 2 &

Example

# GET the "foo" key which does not exist yet
$ curl localhost:8080/foo -i
HTTP/1.1 404 Not Found
content-length: 0
date: Tue, 09 Jun 2020 19:54:19 GMT

# SET the key to a value by passing the value in the body
$ curl localhost:8080/foo -d 'hello paxos' -i
HTTP/1.1 204 No Content
x-paxos-slot: 3
content-length: 0
date: Tue, 09 Jun 2020 19:55:29 GMT

# Now run a GET again on the key to get the value
$ curl localhost:8080/foo -i
HTTP/1.1 200 OK
x-paxos-slot: 4
content-length: 11
date: Tue, 09 Jun 2020 19:56:41 GMT

hello paxos

References

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].