Book Image

Hyperledger Cookbook

By : Xun (Brian) Wu, Chuanfeng Zhang, Zhibin (Andrew) Zhang
Book Image

Hyperledger Cookbook

By: Xun (Brian) Wu, Chuanfeng Zhang, Zhibin (Andrew) Zhang

Overview of this book

Hyperledger is an open-source project and creates private blockchain applications for a range of domains. This book will be your desk reference as you explore common and not-so-common challenges faced while building blockchain networks using Hyperledger services. We'll work through all Hyperledger platform modules to understand their services and features and build end-to-end blockchain applications using various frameworks and tools supported by Hyperledger. This book's independent, recipe-based approach (packed with real-world examples) will familiarize you with the blockchain development cycle. From modeling a business network to integrating with various tools, you will cover it all. We'll cover common and not-so-common challenges faced in the blockchain life cycle. Later, we'll delve into how we can interact with the Hyperledger Fabric blockchain, covering all the principles you need to master, such as chaincode, smart contracts, and much more. We'll also address the scalability and security issues currently faced in blockchain development. By the end of this book, you will be able to implement each recipe to plan, design, and create a full-fledged, private, decentralized application to meet organizational needs.
Table of Contents (12 chapters)

Deploying and calling Ethereum contracts with the Seth CLI and RPC

In this recipe, we will compile, deploy, and call Ethereum smart contracts on the Sawtooth platform with the Seth client CLI and the Seth-RPC.

How to do it...

  1. Compile the Solidity contract. To deploy a contract, the Seth client expects the contract to be passed in the form of a hex-encoded byte array. The Solidity compiler, solc, can be used to generate the byte codes. The command to generate the hex-encoded bytes for a contract is as follows:
ubuntu@ip-172-31-90-67:~/seth/example$ solc --bin SethContract.sol
======= SethContract.sol:SethContract =======
Binary:
608060405234801561001057600080fd5b5033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000808...