Blockchain for enterprise build scalable blockchain applications with privacy, interoperability, and permissioned features
Implement blockchain principles in your choice of domain using Ethereum Key Features Build permissioned enterprise-grade blockchain applications from scratch Implement Blockchain-as-a-Service to enterprises in terms of deployment and security Achieve privacy in blockchains using proxy re-encryption...
Otros Autores: | |
---|---|
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
Birmingham ; Mumbai :
Packt
[2018]
|
Edición: | 1st edition |
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009630394206719 |
Tabla de Contenidos:
- Cover
- Title Page
- Copyright and Credits
- Packt Upsell
- Contributors
- Table of Contents
- Preface
- Chapter 1: What are Decentralized Applications?
- What is a DApp?
- What is a blockchain?
- Understanding Byzantine Fault Tolerance
- Representation of user accounts
- What are UTXOs?
- Popular permissioned blockchain platforms
- Ethereum
- Quorum
- Parity
- MultiChain
- Hyperledger Fabric 1.0
- BigchainDB
- InterPlanetary File System
- Corda
- Transaction validity
- Hyperledger Sawtooth
- Popular blockchain use cases
- Everledger
- Walmart's food tracking
- Ghana's land registry
- Dubai's housing rental
- Project Ubin
- Summary
- Chapter 2: Building Blockchain Using Quorum
- Overview of Quorum
- Ethereum accounts
- What are Ethereum transactions?
- What is a Merkle tree?
- What is forking in blockchain?
- Raft consensus
- Istanbul Byzantine Fault Tolerence
- Private contracts and constellation
- Installing Quorum and constellation
- Build your first Raft network
- Setting up a constellation network
- Generating enodes
- Creating an account
- Creating the genesis block
- Starting nodes
- Adding or removing nodes dynamically
- Building your first IBFT network
- Installing IBFT tools
- Creating a genesis block
- Starting nodes
- Adding or removing a validator dynamically
- Summary
- Chapter 3: Writing Smart Contracts
- Solidity source files
- The structure of a smart contract
- Data locations in Solidity
- The different types of data
- Arrays
- Strings
- Structs
- Enums
- Mappings
- The delete operator
- Conversion between elementary types
- Using var
- Control structures
- Creating contracts using the new operator
- Exceptions
- External function calls
- Features of contracts
- Visibility
- Function modifiers
- The fallback function
- Inheritance
- The super keyword.
- Abstract contracts
- Libraries
- using for
- Returning multiple values
- Importing other Solidity source files
- Globally-available variables
- Block and transaction properties
- Address-type-related variables
- Contract-related variables
- Ether units
- Proof of existence, integrity, and ownership contract
- Compiling and deploying contracts
- Summary
- Chapter 4: Getting Started with web3.js
- Introduction to web3.js
- Importing web3.js
- Connecting to nodes
- The API structure
- BigNumber.js
- Unit conversion
- Retrieving gas price, balance, and transaction details
- Sending ether
- Working with contracts
- Retrieving and listening to contract events
- Building a client for the ownership contract
- The project structure
- Building the backend
- Building the frontend
- Testing the client
- Summary
- Chapter 5: Building Interoperable Blockchains
- Understanding blockchain interoperability
- What can interoperable blockchains achieve?
- Strategies for implementing blockchain interoperability
- Single custodian
- Multisignature federation
- Sidechains or relays
- Hash locking
- Building a FedCoin
- Smart contracts to digitalize fiat currency
- Atomic swap smart contracts
- Testing
- Summary
- Chapter 6: Building Quorum as a Service Platform
- Introduction to cloud computing
- Private versus public versus hybrid cloud
- IaaS versus PaaS and SaaS
- What are containers?
- Introduction to Docker
- Building a Hello World Docker container
- Understanding the microservices architecture
- Diving into K8s
- Getting into resource objects
- Deployments and pods
- Services
- Ingress controllers and resources
- ConfigMaps and secrets
- Bind mounts and volumes
- Labels and selectors
- Getting started with minikube
- Installing minikube on macOS
- Installing minikube on Ubuntu.
- Installing minikube on Windows
- Starting minikube
- Stopping and deleting minikube
- Minikube status
- Accessing the K8s dashboard
- Deploying the Hello World app on k8s
- Pushing images to Docker Hub
- Creating deployments and services
- Building QaaS
- How does QNM work?
- Containerizing QNM
- Creating QNM deployment and service mainfest files
- Creating nodes using the K8s APIs
- Summary
- Chapter 7: Building a DApp for Digitizing Medical Records
- Introduction to EMRs data management and sharing systems
- Problems with paper-based medical records
- Limitations of EMR data management and sharing systems
- Centralized versus decentralized EMR management systems
- Ensuring data privacy in a blockchain using PRE
- The NuCypher PRE library
- Installing the library
- Using the library
- Architecting DApp for EMRs
- Smart contracts for identity and access control
- Writing Python and JS scripts for testing
- Summary
- Chapter 8: Building a Payment Solution for Banks
- Overview of the payment system
- Settlement and clearance of InterBank transfers
- Digitalizing fiat currency
- Using a cell phone number as identity
- Building the network
- Network permissioning in Quorum
- Building the DApp
- Summary
- Other Books You May Enjoy
- Index.