Skip to content

The GitHub repository offers a comprehensive implementation of the Practical Byzantine Fault Tolerance (PBFT) consensus algorithm in the Rust programming language.This Rust implementation provides a reliable and efficient foundation for developers seeking to integrate PBFT into their projects.

Notifications You must be signed in to change notification settings

Ayushoo07/Pbft_impl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

PBFT (Practical Byzantine Fault Tolerance) Implementation in Rust

License

This project is an implementation of the Practical Byzantine Fault Tolerance (PBFT) consensus algorithm in Rust. PBFT is a consensus algorithm designed to achieve fault tolerance in distributed systems, particularly in the presence of malicious nodes.

Features

  • PBFT Consensus: Implements the PBFT consensus algorithm, allowing nodes to agree on the order of transactions.

  • Actix Web Integration: Provides a RESTful API for interacting with the PBFT network using Actix Web.

  • Asynchronous: Utilizes asynchronous programming with Tokio for improved performance.

  • JSON Serialization: Uses Serde and Serde JSON for message serialization and deserialization.

Requirements

  • Rust (Stable)
  • Cargo (Rust's package manager)

Configuration

  1. Add a node.env file to the project which will have the the following fields

    IP=xxx.xxx.xxx.xxx
    PORT=xxxx
    NODES=xxx.xxx.xxx,yyy.yyy.yyy.yyy,zzz.zzz.zzz

Installation

To build and run the PBFT implementation, follow these steps:

  1. Clone this repository:

    git clone https://github.com/varshney565/PBFT.git
  2. Build the project:

    cargo build --release
  3. Run the project:

    cargo run --release

Work-Flow

N|Solid

About

The GitHub repository offers a comprehensive implementation of the Practical Byzantine Fault Tolerance (PBFT) consensus algorithm in the Rust programming language.This Rust implementation provides a reliable and efficient foundation for developers seeking to integrate PBFT into their projects.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages