编辑推荐

精通区块链开发技术》全面介绍了区块链技术的理论和实践,涵盖了理解区块链技术的全部内容。在阅读完《精通区块链开发技术》后,读者将能够深入了解区块链技术的内部工作原理,并具备开发区块链应用程序的能力。《精通区块链开发技术》包含了与区块链技术相关的所有主题,涉及密码学、加密货币、比特币、以太坊等,以及用于区块链开发的各种平台和工具。

内容简介

精通区块链开发技术》详细阐述了与区块链开发相关的基本解决方案,主要包括区块链、去中心化、密码学和基本技术、比特币、替代币、智能合约、以太坊、超级账本等内容。此外,《精通区块链开发技术》还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。
精通区块链开发技术》适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学教材和参考手册。


目录

目录
第1章区块链1
1.1分布式系统2
1.1.1CAP定理3
1.1.2拜占庭将军问题4
1.1.3一致性4
1.2区块链发展史5
1.2.1电子现金6
1.2.2电子现金的概念6
1.3区块链简介8
1.3.1区块链技术的各种定义9
1.3.2区块链中的一般元素10
1.3.3区块链特性11
1.3.4区块链技术应用13
1.3.5区块链发展层次13
1.4区块链类型14
1.4.1公有区块链14
1.4.2私有区块链14
1.4.3半私有区块链15
1.4.4侧链技术15
1.4.5许可账本15
1.4.6分布式账本15
1.4.7共享账本15
1.4.8全私有和专有区块链15
1.4.9标记化区块链16
1.4.10无代币区块链16
1.4.11区块链中的共识16
1.5CAP定理和区块链18
1.6区块链的优点和局限性18
1.7区块链技术的限制和挑战19
1.8本章小结20
第2章去中心化21
2.1基于区块链的去中心化21
2.2去中心化方法23
2.2.1非中介化23
2.2.2竞争23
2.3去中心化流程24
2.4区块链和完整的生态圈去中心化操作25
2.4.1存储25
2.4.2通信26
2.4.3计算27
2.5智能合约28
2.6去中心化组织28
2.7去中心化自治组织29
2.8去中心化自治企业29
2.9去中心化自治社会30
2.10去中心化应用程序30
2.10.1去中心化应用程序的需求条件30
2.10.2DAPP操作31
2.11去中心化平台31
2.12本章小结32
第3章密码学和基本技术33
3.1简介33
3.1.1数学知识33
3.1.2密码学35
3.1.3保密性35
3.1.4完整性35
3.1.5认证35
3.1.6不可否认性36
3.1.7问责制36
3.2密码原语37
3.2.1对称加密38
3.2.2块密码39
3.2.3数据加密标准42
3.2.4高级加密标准(AES)42
3.3非对称加密45
3.3.1整数分解47
3.3.2离散对数47
3.3.3椭圆曲线47
3.4公钥和私钥48
3.4.1RSA48
3.4.2离散对数问题54
3.4.3密码原语62
3.4.4哈希函数62
3.4.5椭圆曲线数字签名算法(ECDSA)71
3.5金融市场和交易76
3.5.1交易77
3.5.2交易所77
3.5.3交易的生命周期78
3.5.4订单预期者79
3.5.5市场操控79
3.6本章小结79
第4章比特币81
4.1比特币概述82
4.1.1比特币的概念83
4.1.2密钥和地址83
4.1.3比特币中的公钥84
4.1.4比特币中的私钥84
4.1.5比特币货币单位85
4.1.6Base58Check编码85
4.1.7虚地址86
4.2交易/事务87
4.2.1交易的生命周期87
4.2.2交易的结构87
4.2.3交易类型90
4.3区块链94
4.3.1区块链结构94
4.3

前言/序言

前言
物联网(IoT)是指连接各种物理设备到网络并能控制它们的突破性技术。创建基本的物联网项目是很普通的,但是设想一下如果一个智能物联网项目能够从物理设备抽取出数据,它将能够实现自我决策。
智能物联网项目是实施物联网和智能系统结合方案的重要参考。基本的统计知识和各种统计科学、机器学习的算法已经被用来加速实现在物理设备上集成控制系统。《精通区块链开发技术》包含一些物联网项目,如制作一个智能温度控制器,制作你自己的机器视觉项目,制作一个自动控制的移动小车,通过语音命令控制物联网项目,以及利用云技术、数据科学来帮助创建物联网项目。
希望《精通区块链开发技术》能对你有帮助,让你的技能提升一个台阶。
精通区块链开发技术》包括
第1章,让物联网项目变得智能,帮助用户了解一些物联网设备,如Arduino和RaspberryPi(树莓派)。介绍一些统计和数据科学的Python库,了解它们的作用。
第2章,将决策系统用于物联网工程,帮助用户了解如何在物联网设备上构建控制系统。包括了解一些与控制系统相关的Python库,学习如何在IoT板上实现决策系统。
第3章,搭建机器视觉,探索如何通过摄像机让机器能够“看到”事物,并在训练机器检测和跟踪物体时对机器视觉有所理解。另外,本章也会介绍一些摄像机模块方面的知识。
第4章,制作自动机器车,探索如何制作机器车。通过集成一些传感器和驱动器让小车自行运动而不需要人为的干预。学习如何导航,同时也可以在计算机上控制它。
第5章,在物联网项目中添加语音技术,使IoT板“说话”。了解各种声音和语音模块。
第6章,为物联网项目搭建数据云,探索如何为物联网项目应用云平台。物联网项目的后端基础建设也是很重要的。当在不同地理位置处获取传感器数据时更需要注意。
你需要准备什么
你需要拥有RaspberryPi、Arduino和一些《精通区块链开发技术》中需要用到的电子组件。

适合的读者
精通区块链开发技术》适合希望学习如何将各种机器学习算法集成在物联网项目里的读者。你会学习到如何在真实的物联网项目里实现机器学习功能。但是你不需要对RaspberryPi和Arduino有任何经验。
格式约定
在《精通区块链开发技术》中,你会发现一些文字格式有所区别。这里给出一些例子说明它们的意义。
文字中的代码、数据库表名、文件夹名字、文件名、文件扩展、路径、链接、用户输入和Twitterhandles都如下所示:“我们用sm.OLS()实现线性回归”。
块状代码如下:

importRPi.GPIOasGPIO
importtime

led_pin=17
GPIO.setmode(GPIO.BCM)
GPIO.setup(led_pin,GPIO.OUT)

如果想让读者着重注意某部分代码,则将其设为加粗:

try:
while1:
print("turnonled")
GPIO.output(led_pin,GPIO.HIGH)
time.sleep(2)
print("turnoffled")
GPIO.output(led_pin,GPIO.LOW)
time.sleep(2)

exceptKeyboardInterrupt:
GPIO.output(led_pin,GPIO.LOW)
GPIO.cleanup()

print("done")

命令行的输入和输出格式如下:

$mkdirgps_web
$cdgps_web
$nanogspapp.py

注意:表示警告或者重要的说明。
提示:表示提示和技巧。
读者反馈
我们欢迎读者反馈,让我们了解读者对于《精通区块链开发技术》的看法—喜欢的和不喜欢的部分。读者反馈对我们非常重要,因为它能帮助我们了解读者真正学到的部分。
读者可以通过发送邮件到feedback@packtpub.com,只需要在主题里写上书的题目即可。
如果读者对一个主题有专业的看法并且想要对写作或者对书做一些贡献,可参考我们的作者指南:www.packtpub.com/authors。
消费者支持
现在你是书的拥有者,我们有一些内容提供给你,帮助你最大化你购买的价值。
下载示例代码
你可以用你的账户在http://www.packtpub.com下载到示例代码。如果你在其他地方购买《精通区块链开发技术》,可以访问http://www.packtpub.com/support并注册,我们把文件直接发给你。
你可以通过以下步骤下载到代码:
(1)用邮箱地址和密码登录或者注册我们的网站。
(2)将鼠标指针移动到顶部的SUPPORT一栏。
(3)单击CodeDownloads&Errata。
(4)在Search框中输入书的名字。
(5)选择要下载代码的书。
(6)选择购买书的位置的下拉菜单。
(7)单击CodeDownload。
你也可以在Packt出版社网站的这《精通区块链开发技术》的主页单击CodeFiles按钮下载,还可以通过在Search框中搜索这《精通区块链开发技术》的名字找到。请注意你需要登录你的Packt账户。
文件下载后,请确认你的解压软件是最新版本:
?WinRAR/7-ZipforWindows
?Zipeg/iZip/UnRarXforMac
?7-Zip/PeaZipforLinux
精通区块链开发技术》的代码也被托管在GitHub,网址为https://github.com/PacktPublishing/Smart-Internet-of-Things-Projects。我们也把其他书籍的代码和视频放在https://github.com/PacktPublishing/。
勘误
虽然我们已经努力确保内容正确,但是错误仍难避免。如果你发现文字或者代码的错误并能告知我们,我们将非常感激。这样可消除其他读者的困惑,也能帮助我们提高后面版本的质量。你可以访问http://www.packtpub.com/submit-errata,选择你要勘误的书,单击ErrataSubmissionForm并输入勘误的细节。一旦你的勘误得到验证,我们会接收你提交的信息并将勘误上传到我们的网站,或者添加到勘误章节的列表里。
访问https://www.packtpub.com/books/content/support并在搜索框中输入书的名字,在Errata一节中可以看到之前的勘误。
盗版行为
盗版行为在互联网上非常常见。在Packt,我们非常严肃地保护我们的版权。如果你看到任意形式的非法复制,请立即提供给我们网站地址和名字,我们将追究赔偿。
请把有盗版嫌疑的材料发送到copyright@packtpub.com。
对于你对我们作者的保护,我们不胜感激,我们将给您提供有价值内容的权益。
问题
如果你对《精通区块链开发技术》有任何问题,欢迎联系questions@packtpub.com,我们将竭尽全力解决你的问题。




其他推荐