Difference between revisions of "IT-SDK-Hyperledger-Sawtooth"

From wiki.samerhijazi.net
Jump to navigation Jump to search
(Architektur)
(Key-Words)
Line 20: Line 20:
 
* Consensus: @devEngine (Devmode consensus engine); @engineA (PoET: Proof-of-Elapsed-Time)
 
* Consensus: @devEngine (Devmode consensus engine); @engineA (PoET: Proof-of-Elapsed-Time)
  
=Key-Words=
+
=Lify-Cycle=
* Commands: sawtooth keygen, sawset
+
* Generating: Validator Keys (sawadm keygen)            >>> @validator
* Genesis Block, Genesis Batch, Validators Genesis Block
+
* Generating: Transactor Keys (sawtooth keygen)          >>> @cli
* Keys: Public-Key, Private-Key, Validator-Key, Transactor-Key
+
* Generating: Genesis-Batch (sawset genesis)            >>> @validator
* Validator, Transactor, Validator network, ​Validator key generation, User key generation
+
* Configuration: (path.toml, cli.toml, validator.toml)  >>> @validator
* Sawtooth Validator, Sawtooth IntegerKey, Sawtooth PoET, Sawtooth XO,
+
* Configuration: (rest-api.toml)                        >>> @rest-api
 +
* Generating: Genesis-Block (sawadm genesis)            >>> @validator
 +
* Starting: Validator (sawtooth-validator)              >>> @validator
 +
* Starting: rest-api (sawtooth-rest-api)                >>> @rest-api
 +
* Starting: settingsTP (settings-tp)                    >>> @settingsTP
 +
* Starting: intkeyTP (intkey-tp-python)                  >>> @intkeyTP
 +
* Starting: devEngine (devmode-engine-rust)              >>> @devEngine
  
 
=Explory=
 
=Explory=

Revision as of 00:39, 28 December 2020

Source

Architektur

Key-Words

  • Validator: checks and ensures that a transaction has a valid signature and directs it to the appropriate transaction processor
  • REST-API:
  • CLI: Command-Line-Interface
  • TransactionProcessors: Applications that initiates smart contracts.
  • Consensus: Each network participant waits a randomly-assigned amount of time. The first one to finish waiting becomes the producer of the next block.

Components

  • Validator: @validator
  • REST-API: @rest-api
  • CLI: @cli
  • TransactionProcessors: @settingTP, @intkeyTP
  • Consensus: @devEngine (Devmode consensus engine); @engineA (PoET: Proof-of-Elapsed-Time)

Lify-Cycle

  • Generating: Validator Keys (sawadm keygen) >>> @validator
  • Generating: Transactor Keys (sawtooth keygen) >>> @cli
  • Generating: Genesis-Batch (sawset genesis) >>> @validator
  • Configuration: (path.toml, cli.toml, validator.toml) >>> @validator
  • Configuration: (rest-api.toml) >>> @rest-api
  • Generating: Genesis-Block (sawadm genesis) >>> @validator
  • Starting: Validator (sawtooth-validator) >>> @validator
  • Starting: rest-api (sawtooth-rest-api) >>> @rest-api
  • Starting: settingsTP (settings-tp) >>> @settingsTP
  • Starting: intkeyTP (intkey-tp-python) >>> @intkeyTP
  • Starting: devEngine (devmode-engine-rust) >>> @devEngine

Explory

Contrary to how we start other blockchains, we do not start bootstrapping Hyperledger Sawtooth with the genesis block creation. We must begin by generating public and private keys for both our user and validator.

Commands

sawtooth-validator -v \
--​bind “component​:tcp://eth0:8000” \
--​bind “network​:tcp://eth0:8080” \
--​bind “consensus​:tcp://eth0:7070”
--endpoint “​tcp://validatorOne:8080”

System-Setup

sudo apt update
sudo apt install curl git apt-transport-https ca-certificates gnupg-agent software-properties-common
...
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
sudo groupadd docker
sudo usermod -aG docker $USER