Step by Step Guide: How to Deploy Hyperledger Sawtooth Node
Hyperledger Sawtooth Node

Share

Hyperledger Sawtooth is a business blockchain protocol for creating distributed ledger applications and confidential networks that don’t need the interference of a central authority. It cuts off the core system from the domain of the ledger application making the development of blockchain apps simpler.

What makes up Hyperledger Sawtooth?

Unique Solutions such as Know your customer processes, and Anti-Money Laundering, are possible to construct with Hyperledger Sawtooth, in addition to its core distribution.

The Hyperledger Sawtooth network is made up of the following components:

Validator

These are peer nodes that shape the Sawtooth Network. They oversee peer discovery, message broadcast, synchronization of blockchain, consensus, and more.

Transaction Processors:

They are responsible for the processing of the business logic.

Sawtooth Rest Server:

This server is an HTTP-reliant service that allows users to communicate with validators and submit transactions.

What Are Hyperledger Sawtooth Architecture’s Core Elements?

To understand Hyperledger Sawtooth, you must first comprehend the platform’s key architectural concepts. It will be difficult to focus on the ways to implement it without a strong knowledge base.

The Event System

Let’s have a look at the event system first. If you look at any Hyperledger Sawtooth example, you’ll notice that the event system is primarily responsible for ensuring that events are produced and conveyed to nodes without error.

As a result, if you use this, you can create your app, subscribe to events and have it fetch new data for you. Typically, these occurrences aid in the smooth operation of the Sawtooth platform. As a result, it aids in the maintenance of full consensus by assisting nodes in obtaining the information they require from events.

Sawtooth-Ethereum Integration Project (Seth)

It’s one of Sawtooth’s most admirable characteristics. This capability is also required to comprehend Hyperledger Sawtooth. It’s also in any Hyperledger Sawtooth example that makes use of Ethereum features.

But what exactly does it accomplish? And how will they be able to take advantage of Ethereum properties? This small piece, on the other hand, assists to bridge the distance between the two platforms. To make these two systems work together, you can use this element.

Can you picture how many possibilities Seth could bring to the table? In any case, it’s an excellent addition to the Hyperledger Sawtooth design, and you should make use of it if your commercial project requires it.

Pluggable Consensus Algorithms

The Hyperledger Sawtooth design also supports pluggable consensus techniques, which is a fascinating feature. In actuality, the blockchain industry’s pluggable consensus mechanism is a fantastic new feature.

Furthermore, it enables you to select the consensus technique that your platform requires. Not every consensus is appropriate for every use situation. That is why, while creating a project based on corporate blockchain, you must be flexible.

As a result, Sawtooth’s pluggable consensus brings the dynamics to the table.

You may learn more about Hyperledger Sawtooth by looking at a Hyperledger Sawtooth example.

In any case, this means that your design will not require the adoption of a single consensus protocol. You have the option to alter it whenever you want and when it is required. There’s also the option of using multiple consensus methods for distinct system actions.

They mostly provide —

●        Devmode

●        PoET CFT

●        Raft

●        PBFT

Other consensus procedures will be added in future releases. Let’s go on to the Hyperledger Sawtooth part to learn more.

Transaction Family Models

To learn about Hyperledger Sawtooth, you must first comprehend how their transaction family works. In actuality, transaction families assist with a variety of purposes, including providing smart contract capabilities.

If you look at any Hyperledger Sawtooth example, you’ll note that the transaction families are required to run the system.

●       BlockInfo Transaction Family

Using the BlockInfo transaction family, you can store any type of block-related data.

●      Smallbank Transaction Family

In truth, this family is best for evaluating and testing the quality of your company.

●     Settings Transaction Family

More specifically, the Settings Transaction Family will assist you in storing on-chain setups and will even provide you with a specific reference model for doing so.

●   Validator Registry Transaction Family

This family is used to add extra validators to the system. In actuality, you won’t be able to add any validators unless you use this. As a result, it’s critical.

●   The IntegerKey Transaction Family

This family is one of the best since it allows you to test all of the deployed ledgers without using any additional resources.

●    XO Transaction Family

This is more of a lighthearted look at the entire network. Sawtooth’s creators wanted to add a little bit of spice to the network, so they included a game of tic-tac-toe as well.

●    The Identity Transaction Family

This is mostly used for data preservation. Validators’ permissions data must be exact. Nodes’ public keys and other information are also saved in the database.

Two more transaction families have been added to the system. Among these new additions are some of the most recent.

●   The Seth transaction family

This family will let you use Ethereum-based applications on the network. It means you can utilize Solidity-based smart contracts and other Solidity-based apps.

●   The Sabre Transaction Family

This is a new approach to smart contracts. In reality, this family can be applied in running smart contracts on virtual machines using WebAssembly or WASM. Furthermore, it enables the execution of smart contracts on the blockchain.

Hyperledger Sawtooth’s Distinct Features

Accurately Dispersed DLT

All validator nodes share the same ledger, and one piece of information is shared by all nodes. Furthermore, through an alliance, these validator nodes collectively control the blockchain network.

Transactions are completed at a faster rate

Hyperledger Sawtooth stores the current versions of assets in the global state and blockchain transactions on each network node. This means that CRUD operations are very simple to do, allowing for faster transaction processing.

Hyperledger Sawtooth requires batch-by-batch transaction processing, which allows for parallel transaction scheduling. Parallel scheduling of transactions overcomes the problem of “Unspent Transaction Output Appropriately” (UTXO) in addition to speeding up transaction processing.

A wide range of programmable languages are supported

Python, Java, Rust, JavaScript, and several other programming languages are supported by Hyperledger Sawtooth and are used to implement smart contracts.

Ways to set up the Hyperledger Sawtooth Node

There are several ways to set up the Hyperledger Sawtooth Node. Some of them include Docker, Kubernetes, and Ubuntu. In this article,  we would see how docker can be used to deploy Hyperledger Sawtooth Node.

Deploying Hyperledger Sawtooth Node using Docker

Prerequisites

The following are necessary to begin the process:

●    An Operating system that can be either Ubuntu Linux or Mac. Recommended versions are 16.04 for Ubuntu Linux and 10.12 for Mac.

●   Current Version of Docker Engine

●  Current Version of Docker Compose

You’ll have to install the above requirements and then get the docker-compose file. You can download it from the internet. This file will enable the deployment of the Hyperledger Sawtooth Node in docker containers.

The Procedure

Step 1

Locate the folder where the downloaded docker composes file is, and run this command below in the command prompt

$ docker-compose -f sawtooth-default. yaml up

Step 2

After the execution of the command in the first step above, the important docker containers are now set up. Observe the docker containers by running the command below:

$ docker ps

Step 3.

After the set-up of the docker containers, the next step is to log into your client container. Sawtooth commands that communicate with validators via the REST API are performed by the client container. To access the client container, open a new terminal and input the command below :

“$ docker run sawtooth-shell bash.”

Step 4:

 Ascertain that the REST API and Validator are operational and available on the Client’s computer. Execute the “Curl” command as follows:

[email protected]# curl http://rest-api:8008/blocks

The output should match the specifications.

Step 5:

Create and submit transactions with intkey

1. Use the following command to produce batches of transactions that increase and decrease the values of a few keys at random:

[email protected]# intkey create_batch — count 10 — key-count

2. To submit batches created with the intkey create batch command to the validator, use the following command.

[email protected]# sawtooth batch submit -f batches. intkey — url http://rest-api:8008

Step 6:

Use the Sawtooth block command to gain access to the blockchain and block data:

sawtooth block list — [email protected]# sawtooth block list — url http://rest-api:8008

To view the block data, go here. To see the block data, copy the block id and replace ‘BLOCKID’ with the copied block id.

[email protected]# sawtooth block show — url http://rest-api:8008 {BLOCKID}

Step 7:

Run the command $docker logs {ContainerName} to see the sawtooth logs.

Step 8:

To exit the sawtooth environment, open the terminal where docker-compose is running and press ctrl+C. All sawtooth containers will be brought to a complete stop.

Once all of the containers have been stopped, run the command below.

$ docker-compose -f sawtooth-default. yaml down.

Deploying And Managing A Blockchain Network With Zeeve

Zeeve is the primary blockchain infrastructure services provider empowering start-ups and enterprises to build, deploy and manage reliable decentralized apps and Blockchain networks. It is a no-code automation platform providing support for various blockchain protocols. It features a powerful set of APIs and has experience in designing various enterprise solutions in the blockchain space. Zeeve supports Decentralized Finance (DeFi) space with decentralized storage, trusted nodes, and smart contracts.

For more details about deploying and managing hyperledger sawtooth nodes and networks, contact us today!

.

Join the Our Largest community!

Be one of the 15,000+ innovators who subscribe to our updates.

message