Skip to content

Latest commit

 

History

History
114 lines (66 loc) · 7.8 KB

File metadata and controls

114 lines (66 loc) · 7.8 KB

零、前言

区块链被视为所有加密货币交易的公共分类账的主要技术解决方案。本书为使用 Python 开发完全成熟的去中心应用提供了实践指南,以与区块链应用的各种构建块进行交互。

Python 开发者的区块链实践首先演示区块链技术和加密货币哈希的工作原理。您将了解智能合约的基本原理和好处,如审查阻力和交易准确性。随着您的稳步开发,您将继续使用 Vyper 构建智能合约,Vyper 的语法与 Python 类似。此体验将进一步帮助您了解智能合约的其他好处,如可靠的存储和备份以及效率。您还将使用 web3.py 与智能合约进行交互,并利用 web3.py 和 Populus 框架的强大功能构建分散的应用,提供安全性和与加密货币的无缝集成。在后面的章节中,您将学习如何在以太坊之上创建自己的令牌,并构建加密货币钱包图形用户界面(GUI),该界面可以使用 PySide2 库处理以太坊和以太坊请求评论(ERC-20)令牌。这将使用户能够无缝地存储、发送和接收数字货币。最后,您将在分散的应用中实现 Interplantary File System(IPFS)技术,以提供可以存储和公开媒体的对等文件系统。

在本书结束时,您将精通区块链编程,并能够使用 Python 在一系列域上构建端到端的去中心应用。

这本书是给谁的

如果您是一名想要进入区块链世界的 Python 开发人员,为 Python 开发人员实践区块链是为您准备的。这本书将成为您熟悉区块链生态系统并使用 Python 和库支持构建自己的去中心应用的指南。

这本书涵盖的内容

第 1 章区块链编程简介,讲述比特币的故事以及比特币的价值所在。您将学习支持比特币的底层技术,即区块链技术。此外,您还将了解以太坊最初创建的原因。

第 2 章智能合约基础展示了传统计划与智能合约之间的差异。您将看到传统程序有哪些缺陷,以及为什么智能合约有可能克服这些缺陷。您还将看到智能合约在当今的应用领域。

第 3 章使用 Vyper实现智能合约,教您如何使用 Vyper 编程语言(类似 Python)编写智能合约。您将学习 Vyper 编程语言的一些重要特性。

第 4 章使用 Web3与智能合约交互,展示如何安装web3.py库,如何与智能合约交互,以及如何部署智能合约。

第 5 章Populus 开发框架向您展示了如何使用 Populus 开发框架,并认识到其对开发者的价值。

第 6 章构建一个实际的去中心化应用,教您如何使用web3.py库和 Populus 开发框架构建去中心化应用。

第 7 章前端去中心化应用向您展示了如何使用桌面前端构建类似 Twitter 的去中心化应用。

第 8 章在以太坊中创建令牌,教您如何创建自己的令牌。这是一个关于启动您自己的加密货币的实践学习指南。

第 9 章加密货币钱包向您展示了如何构建具有桌面前端的以太坊钱包。

第 10 章行星际—一个全新的文件系统,介绍了行星际文件系统,人们可以在其中存储分布式文件。在区块链中,存储成本很高。在区块链上存储图像文件(更不用说视频文件)已经是禁止的。IPFS 是一项旨在缓解这一问题的新技术。您将了解什么是 IPFS,以及目前这项技术所处的状态。

第 11 章使用 ipfsapi 与 IPFS交互,教您如何使用 Python 库连接到 IPFS 节点。

第 12 章使用 IPFS实现去中心应用,向您展示如何实现利用 IPFS 技术的分散视频共享应用。

充分利用这本书

必须具备 Python 的基本知识。本书面向希望在区块链上工作的 Python 开发人员。

下载示例代码文件

您可以从您的账户www.packt.com下载本书的示例代码文件。如果您在其他地方购买了本书,您可以访问www.packt.com/support并注册,将文件通过电子邮件直接发送给您。

您可以通过以下步骤下载代码文件:

  1. 登录或注册www.packt.com
  2. 选择“支持”选项卡。
  3. 点击代码下载和勘误表。
  4. 在搜索框中输入图书名称,然后按照屏幕上的说明进行操作。

下载文件后,请确保使用以下最新版本解压或解压缩文件夹:

  • WinRAR/7-Zip for Windows
  • 适用于 Mac 的 Zipeg/iZip/UnRarX
  • 适用于 Linux 的 7-Zip/PeaZip

该书的代码包也托管在 GitHub 上的**https://github.com/PacktPublishing/Hands-On-Blockchain-for-Python-Developers** 。如果代码有更新,它将在现有 GitHub 存储库中更新。

我们的丰富书籍和视频目录中还有其他代码包,请访问**https://github.com/PacktPublishing/** 。看看他们!

下载彩色图像

我们还提供了一个 PDF 文件,其中包含本书中使用的屏幕截图/图表的彩色图像。您可以在这里下载:http://www.packtpub.com/sites/default/files/downloads/9781788627856_ColorImages.pdf

使用的惯例

本书中使用了许多文本约定。

CodeInText:表示文本中的码字、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟 URL、用户输入和 Twitter 句柄。下面是一个示例:“如果您在 Linux 平台上,您将下载此文件:qt-unified-linux-x64-3.0.5-online.run

代码块设置如下:

"compilation": {
    "backend": {
      "class": "populus.compilation.backends.VyperBackend"
    },
    "contract_source_dirs": [
      "./contracts"
    ],
    "import_remappings": []
},

任何命令行输入或输出的编写方式如下:

$ python3.6 -m venv qt-venv $ source qt-venv/bin/activate (qt-venv) $ pip install PySide2

粗体:表示一个新术语、一个重要单词或您在屏幕上看到的单词。例如,菜单或对话框中的单词出现在文本中,如下所示。下面是一个例子:“单击下一步。然后会出现一个登录屏幕。”

Warnings or important notes appear like this. Tips and tricks appear like this.

联系

我们欢迎读者的反馈。

一般反馈:如果您对本书的任何方面有疑问,请在邮件主题中注明书名,并发送电子邮件至customercare@packtpub.com

勘误表:尽管我们已尽一切努力确保内容的准确性,但还是会出现错误。如果您在本书中发现错误,如果您能向我们报告,我们将不胜感激。请访问www.packt.com/submit-errata,选择您的书籍,点击 errata 提交表单链接,并输入详细信息。

盗版:如果您在互联网上发现我们作品的任何形式的非法复制品,请您提供我们的位置地址或网站名称,我们将不胜感激。请通过copyright@packt.com与我们联系,并提供该材料的链接。

如果您有兴趣成为一名作家:如果您对某个主题有专业知识,并且您有兴趣撰写或贡献一本书,请访问authors.packtpub.com

评论

请留下评论。一旦你阅读并使用了这本书,为什么不在你购买它的网站上留下评论呢?然后,潜在读者可以看到并使用您的无偏见意见做出购买决定,我们 Packt 可以了解您对我们产品的看法,我们的作者可以看到您对他们书籍的反馈。非常感谢。

有关 Packt 的更多信息,请访问Packt.com