hyperledger/indy-plenum

Name: indy-plenum

Owner: Hyperledger

Description: Plenum Byzantine Fault Tolerant Protocol

Created: 2016-02-12 12:03:16.0

Updated: 2018-01-17 09:21:33.0

Pushed: 2018-01-18 17:33:11.0

Homepage:

Size: 7422

Language: Python

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

logo

Plenum Byzantine Fault Tolerant Protocol

Plenum is the heart of the distributed ledger technology inside Hyperledger Indy. As such, it provides features somewhat similar in scope to those found in Fabric. However, it is special-purposed for use in an identity system, whereas Fabric is general purpose.

Technical Overview of Indy

Please find the general overview of the system in Overview of the system.

More documentation can be found in docs.

Other Documentation
Indy Plenum Repository Structure
Dependencies
Contact Us
How to Contribute
How to Start Working with the Code

Please have a look at Dev Setup in indy-node repo. It contains common setup for both indy-plenum and indy-node.

Try Plenum Locally
Install from pypi
install indy-plenum

From here, you can play with the command-line interface (see the tutorial).

Note: For Windows, we recommended using either cmder or conemu.

um

…or run the tests.

clone https://github.com/hyperledger/indy-plenum.git
ndy-plenum
on -m plenum.test
Initializing Keys

Each Node needs to have keys initialized

_plenum_keys --name Alpha --seeds 000000000000000000000000000Alpha Alpha000000000000000000000000000 --force

_plenum_keys --name Beta --seeds 0000000000000000000000000000Beta Beta0000000000000000000000000000 --force

_plenum_keys --name Gamma --seeds 000000000000000000000000000Gamma Gamma000000000000000000000000000 --force

_plenum_keys --name Delta --seeds 000000000000000000000000000Delta Delta000000000000000000000000000 --force

Note: Seed can be any randomly chosen 32 byte value. It does not have to be in the format 00..<name of the node>.

Seeds used for generating clients
  1. Seed used for steward Bob's signing key pair `11111111111111111111111111111111`
  2. Seed used for steward Bob's public private key pair `33333333333333333333333333333333`
  3. Seed used for client Alice's signing key pair `22222222222222222222222222222222`
  4. Seed used for client Alice's public private key pair `44444444444444444444444444444444`
Running Node
t_plenum_node Alpha
Updating configuration

To update any configuration parameters, you need to update the plenum_config.py in .plenum/YOUR_NETWORK_NAME directory inside your home directory. eg. To update the node registry to use 127.0.0.1 as host put these in your plenum_config.py.

 collections import OrderedDict

Reg = OrderedDict([
('Alpha', (('127.0.0.1', 9701), '0490a246940fa636235c664b8e767f2a79e48899324c607d73241e11e558bbd7', 'ea95ae1c913b59b7470443d79a6578c1b0d6e1cad0471d10cee783dbf9fda655')),
('Beta', (('127.0.0.1', 9703), 'b628de8ac1198031bd1dba3ab38077690ca9a65aa18aec615865578af309b3fb', '18833482f6625d9bc788310fe390d44dd268427003f9fd91534e7c382501cd3c')),
('Gamma', (('127.0.0.1', 9705), '92d820f5eb394cfaa8d6e462f14708ddecbd4dbe0a388fbc7b5da1d85ce1c25a', 'b7e161743144814552e90dc3e1c11d37ee5a488f9b669de9b8617c4af69d566c')),
('Delta', (('127.0.0.1', 9707), '3af81a541097e3e042cacbe8761c0f9e54326049e1ceda38017c95c432312f6f', '8b112025d525c47e9df81a6de2966e1b4ee1ac239766e769f19d831175a04264'))


odeReg = OrderedDict([
('AlphaC', (('127.0.0.1', 9702), '0490a246940fa636235c664b8e767f2a79e48899324c607d73241e11e558bbd7', 'ea95ae1c913b59b7470443d79a6578c1b0d6e1cad0471d10cee783dbf9fda655')),
('BetaC', (('127.0.0.1', 9704), 'b628de8ac1198031bd1dba3ab38077690ca9a65aa18aec615865578af309b3fb', '18833482f6625d9bc788310fe390d44dd268427003f9fd91534e7c382501cd3c')),
('GammaC', (('127.0.0.1', 9706), '92d820f5eb394cfaa8d6e462f14708ddecbd4dbe0a388fbc7b5da1d85ce1c25a', 'b7e161743144814552e90dc3e1c11d37ee5a488f9b669de9b8617c4af69d566c')),
('DeltaC', (('127.0.0.1', 9708), '3af81a541097e3e042cacbe8761c0f9e54326049e1ceda38017c95c432312f6f', '8b112025d525c47e9df81a6de2966e1b4ee1ac239766e769f19d831175a04264'))


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.