Skip to content

An implementation of the Giskard consensus protocol for distributed transactions and computations.

License

Notifications You must be signed in to change notification settings

lnsandn01/sawtooth-giskard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

88 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Practical analysis of the Giskard Consensus Protocol

This repository is an implementation of the Giskard Consensus Protocol. The Giskard consensus protocol is used to validate transactions and computations in the PlatON network and tolerates Byzantine failures among participating nodes. This implementation integrates the protocol into the blockchain-framework Hyperledger Sawtooth, for testing its safety and liveness property.

Quicklinks

Installation

!Warning! The project is still in a cleanup phase, installation might not work yet without problems, and testing is still partially manually instrumented!

System Requirements

This library is developed on and intended for systems running:

If you do not want to install Ubuntu onto your computer, consider installing a virtual machine

Installation Steps

  1. Install Sawtooth Hyperledger and choose the steps with PoET as the consensus protocol
  2. Download this repository, and replace the files in the respective packages of sawtooth, in the folder /usr/lib/python3/dist-packages/ with the files from this repo
  • folder in question "sawtooth_poet_engine", "sawtooth_poet_tests"
  1. Install python dependencies by calling: pip install -r requirements.txt

Running the Tests

Go to the folder /usr/lib/python3/dist-packages/ and run the desired tests with the command:

sudo nose2-3 -c sawtooth_poet_tests/nose2.cfg -v -s sawtooth_poet_tests/ test_giskard_network.TestGiskardNetwork.test_giskard_network > /sawtooth_poet_tests/text.txt  2>&1

This will store the logs from all nodes and the test into a text file. Replace test_giskard_network.TestGiskardNetwork.test_giskard_network with the desired test. You can find the tests in the file test_giskard_network.py in the folder tests/sawtooth_poet_tests/

About

An implementation of the Giskard consensus protocol for distributed transactions and computations.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •