Title Page Copyright and Credits Blockchain Quick Start Guide About Packt Why subscribe? Packt.com Contributors About the authors About the reviewers Packt is searching for authors like you Preface Who this book is for What this book covers To get the most out of this book Download the example code files Conventions used Get in touch Reviews Introduction to Blockchain Technology The genealogy analogy Bitcoin Why Bitcoin A peer-to-peer network Cryptography and hash functions The distributed ledger, blocks, transactions, addresses, and UTXO The consensus mechanism Forking Mining and difficulty level Hacking – the 51% problem Private keys and Bitcoin wallets Bitcoin scripting Altcoins Ethereum Enterprise blockchain – Hyperledger The evolution of blockchain Summary Ethereum Fundamentals An overview of Ethereum Ethereum basic concepts Ether ERC20 tokens Smart contracts Ethereum virtual machines Ethereum gas Account Oracle Other concepts Performance Throughput Proof-of-Stake (PoS) Casper Plasma Sharding Summary Overview of Solidity Programming What is solidity? Tools for solidity development environment Browser-based IDE Remix EthFiddle Command-line development management tools Truffle Introduction to smart contracts Layout of a solidity source file Pragma Comments Import Paths Relative paths Structure of a contract State variables Data type Enum type Struct type Mapping Functions Input parameters Access modifiers Output parameters Modifiers Events Constructor Constant state variables, unit, and functions Ether units Time units Inheritance, abstract, and interface Common smart contract patterns Access restriction State machine Smart contract security Keep contract simple and modular Use the checks-effects-interactions pattern DoS with block gas limit Handle errors in external calls Case study – crowdfunding campaign Summary Building an Ethereum Blockchain Application Decentralized application overview web3.js quick overview Provider DApp development tools Truffle Ganache Setting up an Ethereum development environment Installing Truffle Installing Ganache Creating a Truffle project Launching the Ganache environment Deploying a smart contract Writing a campaign decentralized application Selecting a web3 provider Loading account information Loading project information Handling the fund function checkGoalReached Summary Exploring an Enterprise Blockchain Application Using Hyperledger Fabric Key concepts in Hyperledger Fabric Ledger Chaincode Channel Core component model Peers Membership service provider (MSP) Certificate authority (CA) Ordering service Hyperledger Fabric basic transaction flow Issuance claim Setting up a Hyperledger Fabric environment Installation prerequisites Installing Hyperledger Fabric Writing chaincode Development tools LiteIDE  JetBrains Gogland Visual Studio Code Chaincode key concept and APIs Defining an issuance claim Initializing the chaincode Invoking the chaincode AddCompany ReportLost RequestedInfo SubmitClaim, ConfirmClaimSubmission, ApproveClaim Query getHistory Configuring Hyperledger Fabric Generating the certificate Generating an orderer genesis block Generating a channel configuration transaction Overview of Hyperledger Fabric Docker composer configuration files Fabric project directory structure Docker-compose-base.yaml Peer-base.yaml Starting the Hyperledger Fabric network Creating a channel Joining channels Updating the anchor Installing chaincode Instantiating the chaincode Invoking add broker Invoking add insurer Invoking ReportLost Invoking RequestedInfo Invoking SubmitClaim Invoking ConfirmClaimSubmission Invoking ApproveClaim Querying claim history End-to-end test execution  Summary Implementing Business Networks Using Hyperledger Composer Hyperledger Composer – a quick overview Yeoman generator Composer REST server LoopBack connector JavaScript SDK Composer playground Composer-cli Setting up a Hyperledger Composer environment Installation prerequisites Installing the development environment Analyzing business scenarios Business network archive Network model file (.cto) Script file (.js) Access control list (ACL) file (.acl) Query file (.qry) Designing business models Implementing the business transaction function Testing in the playground Deploying a business network Integrating with REST server Generating the Hyperledger Composer REST API Summary Blockchain Use Cases Blockchain use case examples Payment and settlement services Import and export finance Immutable ledger Regulatory compliance and auditing Identity theft detection Funds back-office operation Collateral management Healthcare systems Real estate trading and rental markets IP market Elections HR and recruiting Public records Reduce contract disputes Sharing economy Integration with IoT Facilitate commercial and social relationships How to choose a proper use case DApp use case – healthcare data sharing The business problem A blockchain solution Summary Other Books You May Enjoy Leave a review - let other readers know what you think