Home Blog Page 256

Essential Developer Guide for Building Blockchain Applications Using Hyperledger Sawtooth

Hyperledger Sawtooth is an enterprise blockchain platform for building distributed ledger applications and networks. The design philosophy targets keeping ledgers distributed and making smart contracts safe, particularly for enterprise use.

Sawtooth simplifies blockchain application development by separating the core system from the application domain. Application developers can specify the business rules appropriate for their application, using the language of their choice, without needing to know the underlying design of the core system.

Sawtooth is also highly modular. This modularity enables enterprises and consortia to make policy decisions that they are best equipped to make. Sawtooth’s core design allows applications to choose the transaction rules, permissioning, and consensus algorithms that support their unique business needs.

For those who are not familiar with Hyperledger project Intro to Hyperledger Family and Hyperledger Blockchain Ecosystem and Hyperledger Design Philosophy and Framework Architecture articles are strongly recommended.

The features offered by Hyperledger Sawtooth are the following:

  • A truly distributed DLT: The Hyperledger Sawtooth blockchain network is made up of validator nodes. The ledger is shared between all validator nodes and each node has the same information. They participate in a consensus to manage the network.
  • Proof of Elapsed Time (PoET) consensus and support for large-scale networks: Hyperledger Sawtooth includes a novel consensus algorithm, PoET. PoET is a Byzantine Fault-tolerance (BFT) consensus algorithm that supports large-scale networks with minimal computing and much more efficient resource consumption compared to proof of work algorithms. PoET was invented by Intel and utilizes the special CPU instruction set called Software Guard Extensions (SGX), to achieve the scaling benefits of the Nakamoto-style consensus algorithms. Each node waits for a random period of time and the first node to finish is the leader and commits the next block.
  • Fast transaction performance: Hyperledger Sawtooth keeps the latest version of assets in the global state and transactions in the block chain on each network node. This means that you can look up the state quickly to carry out CRUD actions, which provides fast transaction processing. Sawtooth requires transactions to be processed in batches and supports parallel scheduling of transactions. Parallel transaction execution not only accelerates the execution of transactions but also correctly handles the double spending problem known as Unspent Transaction Output (UTXO).
  • Support for a broad variety of languages: Sawtooth supports the implementation of transaction families (safe and smart contracts) in a wide variety of programming languages, including Python, Go, Rust, Java, and JavaScript.
  • The ability to configure private, public, and consortium blockchain networks:

Sawtooth can be configured with different permissions to build private, consortium, or public networks by specifying which nodes are allowed to join the validator network and participate in the consensus, and which clients are allowed to submit batches and transactions.

In this article, I give step-by-step guide for building blockchain applications using Hyperledger Sawtooth. Good knowledge of blockchain concepts, JavaScript and Python as well as basic skills in Linux OS is required in order to complete tutorials listed on this article.

In short, we follow below steps:

  1. Install Hyperledger Sawtooth on a cloud service like AWS
  2. Configure Sawtooth validators and REST API
  3. Design a namespace and address for a transaction family
  4.  Implement a transaction family
  5. Build a transaction processor
  6.  Grant permission on the Sawtooth network
  7. Develop client applications with the Sawtooth REST API and SDK

To help blockchain developers to find their feet in Hyperledger Sawtooth development, I’ve written a series of hands-on tutorials to cover each topic in depth as follows.

Install Hyperledger Sawtooth

Follow Install and Work with Hyperledger Sawtooth recipe.

Configure Sawtooth Validators and REST API

Follow Configuring Hyperledger Sawtooth Validator and REST API on AWS recipe.

Design a Namespace and Address for Transaction Family and Implement Transaction Family

Follow Designing Namespace and Address for Hyperledger Sawtooth Transaction Family recipe

Build a Transaction Processor and Grant Permission on the Sawtooth Network

Follow Building Transaction Handler and Processor for Hyperledger Sawtooth with Python SDKrecipe

Develop Client Applications with the Sawtooth REST API and SDK

Follow Transaction Processor and Python Egg For Hyperledger Sawtooth recipe.

About Authors

This article is written by Matt Zand (Founder of High School Technology Services) in collaboration with Brian Wu who is a senior blockchain developer at DC Web Makers.

Kasten Raises $14 Million For App Backup And Recovery Services

Kasten, which bills itself as an enterprise-scale and cloud-native data management company, today announced that it’s raised $14 million in series A funding led by Insight Partners, bringing its total raised to $17 million to date. CEO Niraj Tolia says the infusion will accelerate the growth of the Los Altos, California-based startup’s sales, engineering, and marketing departments and the expansion of its research and development center in Salt Lake City, Utah. (Source: Venture Beat)

Nvidia Breaks Real-time Conversational AI Records

Nvidia’s GPU-powered platform for developing and running conversational AI that understands and responds to natural language requests has achieved some key milestones and broken some records that have big implications for anyone building on their tech — which includes companies large and small, as much of the code they’ve used to achieve these advancements is open source, written in PyTorch and easy to run. (Source: TechCrunch)

University Research Teams Open-Source Natural Adversarial Image DataSet for Computer-Vision AI

Research teams from three universities recently released a dataset called ImageNet-A, containing natural adversarial images: real-world images that are misclassified by image-recognition AI. When used as a test-set on several state-of-the-art pre-trained models, the models achieve an accuracy rate of less than 3%. (Source: InfoHQ)

Huawei To Help Create Nation’s First Open-Source Foundation

Huawei Technologies Co said it plans to partner with other companies to set up China’s first open-source software foundation, which is expected to begin to operate in a month or two to expand the nation’s software community. The plan for the software foundation came after GitHub, the world’s largest host of source code, prevented in July users in Iran and other nations sanctioned by the United States government from accessing portions of its service. The incident highlights increasing geopolitical interference with global open-source tech communities, which are supposed to be fair and open to all, analysts said. (Source: China.org)

NVIDIA Publishes GPU Hardware Documentation

NVIDIA is releasing freely-available hardware interface documentation to assist in the development of the open-source NVIDIA Linux driver (Nouveau). The documentation made public at this point primarily covers Maxwell, Pascal, Volta, and Kepler generations of NVIDIA graphics as more is being worked on — obviously the latest-generation Turing we’d certainly like to see sooner rather than later. When asking about open-source Turing documentation, I hear it’s a work-in-progress. (Source: Phoronix)

Rook v1.0 Adds Support for Ceph Nautilus

Rook, a storage orchestrator for Kubernetes, has released version 1.0 for production-ready workloads that use file, block, and object storage in containers. Highlights of Rook 1.0 include support for storage providers through operators like Ceph Nautilus, EdgeFS, and NFS. For instance, when a pod requests an NFS file system, Rook can provision it without any manual intervention. (Source: InfoQRook)

NSA’s Ghidra To Get New Features

Just five months ago at the RSA conference, the NSA released Ghidra, a piece of open source software for reverse-engineering malware. It was an unusual move for the spy agency, and it’s sticking to its plan for regular updates — including some based on requests from the public. (Source: CyberScoop)

GitHub Actions Moves GitHub Into DevOps

Yes, Git, Linus Torvalds’ distributed source code control system, is essential to modern-day programming, but it’s far more than that. Git is key to essentially all DevOps operations. GitHub recognizes that, and with GitHub Actions, it’s transforming its Git services into a DevOps workflow pipeline. (Source: ZDNet)

MIT Publishes Report On Open Source Publishing Tools And Platforms

The MIT Press has announced the release of a comprehensive report on the current state of all available open-source software for publishing. “Mind the Gap,” funded by a grant from The Andrew W. Mellon Foundation, “shed[s] light on the development and deployment of open source publishing technologies in order to aid institutions’ and individuals’ decision-making and project planning,” according to its introduction. It will be an unparalleled resource for the scholarly publishing community and complements the recently released Mapping the Scholarly Communication Landscape census. (Source: MIT News)