万本电子书0元读

万本电子书0元读

顶部广告

Hands-On Blockchain for Python Developers电子书

售       价:¥

2人正在读 | 0人评论 9.8

作       者:Arjuna Sky Kok

出  版  社:Packt Publishing

出版时间:2019-02-14

字       数:52.9万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
Implement real-world decentralized applications using Python, Vyper, Populus, and Ethereum Key Features * Stay up-to-date with everything you need to know about the blockchain ecosystem * Implement smart contracts, wallets, and decentralized applications(DApps) using Python libraries * Get deeper insights into storing content in a distributed storage platform Book Description Blockchain is seen as the main technological solution that works as a public ledger for all cryptocurrency transactions. This book serves as a practical guide to developing a full-fledged decentralized application with Python to interact with the various building blocks of blockchain applications. Hands-On Blockchain for Python Developers starts by demonstrating how blockchain technology and cryptocurrency hashing works. You will understand the fundamentals and benefits of smart contracts such as censorship resistance and transaction accuracy. As you steadily progress, you'll go on to build smart contracts using Vyper, which has a similar syntax to Python. This experience will further help you unravel the other benefits of smart contracts, including reliable storage and backup, and efficiency. You'll also use web3.py to interact with smart contracts and leverage the power of both the web3.py and Populus framework to build decentralized applications that offer security and seamless integration with cryptocurrencies. As you explore later chapters, you'll learn how to create your own token on top of Ethereum and build a cryptocurrency wallet graphical user interface (GUI) that can handle Ethereum and Ethereum Request for Comments (ERC-20) tokens using the PySide2 library. This will enable users to seamlessly store, send, and receive digital money. Toward the end, you'll implement InterPlanetary File System (IPFS) technology in your decentralized application to provide a peer-to-peer filesystem that can store and expose media. By the end of this book, you'll be well-versed in blockchain programming and be able to build end-to-end decentralized applications on a range of domains using Python. What you will learn * Understand blockchain technology and what makes it an immutable database * Use the features of web3.py API to interact with the smart contract * Create your own cryptocurrency and token in Ethereum using Vyper * Use IPFS features to store content on the decentralized storage platform * Implement a Twitter-like decentralized application with a desktop frontend * Build decentralized applications in the shape of console, web, and desktop applications Who this book is for If you are a Python developer who wants to enter the world of blockchain, Hands-On Blockchain for Python Developers is for you. The book will be your go-to guide to becoming well-versed with the blockchain ecosystem and building your own decentralized applications using Python and library support.
目录展开

Title Page

Copyright and Credits

Hands-On Blockchain for Python Developers

About Packt

Why subscribe?

Packt.com

Foreword

Contributors

About the author

About the reviewer

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

Download the color images

Conventions used

Get in touch

Reviews

Section 1: Blockchain and Smart Contracts

Introduction to Blockchain Programming

The rise of cryptocurrency and blockchain

Blockchain technology

Signing data in blockchain

From linked list to blockchain

Cryptography

Symmetric and asymmetric cryptography

The hashing function

Proof of work

Consensus

Coding on the blockchain

Other types of blockchain programmers

Summary

References

Smart Contract Fundamentals

Installing an Ethereum development environment

Installing Node.js

Installing Truffle and Solidity

Installing Ganache

Writing a smart contract

Deploying a smart contract to Ethereum blockchain

Interacting with smart contracts

Sending ether to smart contracts

Why smart contracts?

Summary

Further reading

Implementing Smart Contracts Using Vyper

Motivations behind Vyper

Installing Vyper

Creating a smart contract with Vyper

Deploying a smart contract to Ganache

Interacting with smart contracts

Going deeper into Vyper

Data types

Withdrawing ethers

Other data types

Useful built-in functions

Events

Interacting with other smart contracts

Compiling code programmatically

Other tricks

Summary

Section 2: Web3 and Populus

Interacting with Smart Contracts Using Web3

Introduction to decentralized applications

Installing web3

Geth

Geth console

Understanding the web3.py library

Gas and gas price

Nonce

Creating a transaction on Rinkeby

Interacting with smart contracts using web3.py

Launching a smart contract with Geth

Launching a smart contract with web3

Playing with a smart contract

Summary

Populus Development Framework

Setting up Populus

Adding support for Vyper

Smart contract unit test

Using arguments in the constructor

Deploying a smart contract with Populus

Summary

Building a Practical Decentralized Application

Developing a simple voting application

Deploying a smart contract that has arguments in its constructor

Developing a commercial voting application

Developing a token-based voting application

Summary

Further reading

Section 3: Frontend Decentralized Applications

Frontend Decentralized Application

Setting up the Qt GUI library

Choosing a GUI library

Installing Qt for Python

Crash course on Qt for Python

Layout

Other widgets

Callback

Threading

Writing the smart contract for the Twitter–like application

Test

Fixtures

Building the GUI frontend for the Twitter–like application

Summary

Section 4: Cryptocurrency and Wallets

Creating Token in Ethereum

Token smart contract

Mist

ERC20

Selling a token

Stable coin

Summary

Further reading

Cryptocurrency Wallet

Advanced features of the PySide2 library

Testing application

Advanced features of Qt for Python or PySide2

Building a cryptocurrency wallet

Blockchain class

Thread classes

Identicon and Icons

Building widgets

Account widget

Sending a transaction widget

Token widget

Test

Considerations when building a cryptocurrency wallet

Security

User experience

Summary

Section 5: Decentralized Filesystem

InterPlanetary - A Brave New File System

The motivation behind IPFS

Merkle DAG

Merkle tree

Directive Acrylic Graphs (DAGs)

Content addressing

The Merkle DAG data structure

Peer-to-peer networking

The notion of closeness of data and nodes

XOR distance

Buckets

Summary

Using ipfsapi to Interact with IPFS

Installing the IPFS software and its library

Content hashing

Protobuf

Multihash

Base58

Combining protobuf, multihash, and base58

The ipfsapi API

IPNS

Pinning

Pubsub

Mutable File System

Other APIs

Summary

Further reading

Implementing a Decentralized Application Using IPFS

Architecture of the decentralized video-sharing application

Architecture of a video-sharing smart contract

Architecture of a video-sharing web application

Writing the video-sharing smart contract

Launching a private Ethereum blockchain

Creating a bootstrap script

Building the video-sharing web application

Views

Models

Templates

Urls

Demo

Note

Summary

Further reading

Other Books You May Enjoy

Leave a review - let other readers know what you think

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部