Skip to content

A version of substrate that using pBFT and tendermint as a finality-gadget.

License

Notifications You must be signed in to change notification settings

SHA888/substrate-with-pBFT-and-tendermint

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Substrate with PBFT

This repo implement PBFT and Tendermint as alternatives to GRANDPA.

Usage

  1. Setup Rust. Add nightly toolchain and wasm target.
  2. Clone repos. (Under the same folder)
git clone https://github.com/fky2015/finality-tendermint.git
git clone https://github.com/fky2015/finality-pbft.git
git clone https://github.com/fky2015/substrate-with-pBFT-and-tendermint.git

NOTE: To build cargo b --bin node-template, you need finality-pbft & substrate-with-pBFT-and-tendermint. To build cargo b --bin node-tendermint, you need finality-tendermint & substrate-with-pBFT-and-tendermint.

Place them under the same directory.

  1. Build.
cd substrate-with-pBFT-and-tendermint
# build PBFT node
cargo build -p node-template
# build Tendermint node
cargo build -p node-tendermint
  1. Run node.
./target/debug/node-template --dev --tmp
# or
./target/debug/node-tendermint --dev --tmp

Test script

Test scripts are in the ./pbft-test-scripts/ and ./tendermint-test-scripts/. Run from project root dir such as bash ./pbft-test-scripts/single.sh.

Info

There is a substrate-contracts-node campatible version substrate-contracts-node-with-pBFT.

This is campatible to Substrate May 12th, 2022.

For the PBFT implementation details, please visit finality-pbft. For the Tendermint implementation details, please visit finality-tendermint

In below is the origin README.


Substrate · GitHub license GitLab Status PRs Welcome Matrix

Substrate is a next-generation framework for blockchain innovation 🚀.

Trying it out

Simply go to docs.substrate.io and follow the installation instructions. You can also try out one of the tutorials.

Contributions & Code of Conduct

Please follow the contributions guidelines as outlined in docs/CONTRIBUTING.adoc. In all communications and contributions, this project follows the Contributor Covenant Code of Conduct.

Security

The security policy and procedures can be found in docs/SECURITY.md.

License

The reason for the split-licensing is to ensure that for the vast majority of teams using Substrate to create feature-chains, then all changes can be made entirely in Apache2-licensed code, allowing teams full freedom over what and how they release and giving licensing clarity to commercial teams.

In the interests of the community, we require any deeper improvements made to Substrate's core logic (e.g. Substrate's internal consensus, crypto or database code) to be contributed back so everyone can benefit.

About

A version of substrate that using pBFT and tendermint as a finality-gadget.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 98.2%
  • WebAssembly 1.4%
  • Shell 0.3%
  • Handlebars 0.1%
  • Dockerfile 0.0%
  • Nix 0.0%