标签分类
当前位置:首页 > 程序设计电子书 > 区块链电子书网盘下载
精通区块链开发技术 精通区块链开发技术
萧曵 丶

萧曵 丶 提供上传

资源
45
粉丝
20
喜欢
1
评论
2

    精通区块链开发技术 PDF 完整清晰版

    区块链电子书
    • 发布时间:

    给大家带来的一篇关于区块链相关的电子书资源,介绍了关于区块链、区块链开发方面的内容,本书是由清华大学出版社出版,格式为PDF,资源大小215.4 MB,伊姆兰编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:9.8,更多相关的学习资源可以参阅 程序设计电子书、等栏目。

  • 精通区块链开发技术 PDF 下载
  • 下载地址:https://pan.baidu.com/s/1LJBpGXYzsfkQt5jQMPXGtw
  • 分享码:f8v8
  • 精通区块链开发技术 PDF

    这书全方位详细介绍了区块链技术的基础理论和实践活动,包含了了解区块链技术的精彩内容。在阅读文章完这书后,用户将可以深层次知道区块链技术的內部原理,并具有开发设计区块链技术程序流程的工作能力。这书包括了与区块链技术有关的全部主题风格,涉及到密码学、数字货币、虚拟币、以太坊等,及其用以区块链开发设计的各种各样服务平台和专用工具。 

    这书详尽论述了与区块链开发设计有关的基础解决方法,包括区块链、区块链技术、密码学和基础技术性、虚拟币、取代币、区块链、以太坊、超級帐簿等內容。除此之外,这书还出示了相对的实例、编码,以协助用户深化了解有关计划方案的保持全过程。

    这书合适做为高等学校电子计算机及有关技术专业的教材内容和课堂教学教材,也可做为有关开发者的自学教材和参考手册。

    目录

    • 第1章  区块链 1
    • 1.1  分布式系统 2
    • 1.1.1  CAP定理 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.5  CAP定理和区块链 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.2  DAPP操作 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.1  RSA 48
    • 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.6  Base58Check编码 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.2  区块头结构 94
    • 4.3.3  创始区块 96
    • 4.3.4  比特币网络 103
    • 4.3.5  钱包 109
    • 4.4  比特币支付 112
    • 4.4.1  比特币投资和比特币交易 113
    • 4.4.2  比特币安装 114
    • 4.4.3  比特币编程和命令行接口 120
    • 4.4.4  比特币改进协议(BIP) 120
    • 4.5  本章小结 121
    • 第5章  替代币 123
    • 5.1  理论基础 125
    • 5.1.1  工作量证明的替代方案 125
    • 5.1.2  难度调整和目标重定位算法 128
    • 5.2  比特币中的限制条件 130
    • 5.2.1  隐私和匿名性 130
    • 5.2.2  比特币上的扩展协议 131
    • 5.2.3  替代币的开发 133
    • 5.3  域名币 135
    • 5.4  莱特币 140
    • 5.5  素数币 142
    • 5.5.1  素数币交易 143
    • 5.5.2  挖掘规则 144
    • 5.6  Zcash 145
    • 5.6.1  Zcash交易 146
    • 5.6.2  挖掘规则 147
    • 5.6.3  GPU挖掘 150
    • 5.7  本章小结 152
    • 第6章  智能合约 153
    • 6.1  发展历史 153
    • 6.2  定义 153
    • 6.3  李嘉图合约 155
    • 6.3.1  智能合约模板 158
    • 6.3.2  Oracle 159
    • 6.3.3  Smart Oracle 160
    • 6.3.4  在区块链上发布智能合约 160
    • 6.3.5  DAO 161
    • 6.4  本章小结 161
    • 第7章  以太坊 163
    • 7.1  简介 163
    • 7.1.1  以太坊客户端和发布 163
    • 7.1.2  以太坊栈 164
    • 7.2  以太坊区块链 164
    • 7.2.1  货币(ETH和ETC) 165
    • 7.2.2  分叉 165
    • 7.2.3  gas 166
    • 7.2.4  共识机制 166
    • 7.2.5  世界状态 167
    • 7.2.6  交易 168
    • 7.2.7  合约生成型交易 170
    • 7.2.8  消息调用型交易 171
    • 7.3  以太坊区块链中的元素 172
    • 7.3.1  以太坊虚拟机 172
    • 7.3.2  执行环境 173
    • 7.3.3  操作码及其含义 176
    • 7.4  预编译合同 182
    • 7.4.1  椭圆曲线公钥恢复函数 182
    • 7.4.2  SHA256位哈希函数 182
    • 7.4.3  RIPEMD160位哈希函数 182
    • 7.4.4  恒等函数 182
    • 7.5  账户 183
    • 7.6  区块 183
    • 7.6.1  区块头 184
    • 7.6.2  创始区块 185
    • 7.6.3  交易收据 186
    • 7.6.4  交易验证和执行 186
    • 7.6.5  区块验证机制 187
    • 7.7  Ether 189
    • 7.7.1  gas 189
    • 7.7.2  费用标准 190
    • 7.8  消息 190
    • 7.9  挖掘 191
    • 7.9.1  Ethash 192
    • 7.9.2  CPU挖掘 192
    • 7.9.3  GPU挖掘 193
    • 7.9.4  挖掘设备 194
    • 7.10  客户端和矿工 196
    • 7.11  贸易与投资 204
    • 7.12  黄皮书 205
    • 7.13  以太坊网络 206
    • 7.13.1  MainNet 206
    • 7.13.2  TestNet 206
    • 7.13.3  专用网络 206
    • 7.14  所支持的协议 207
    • 7.15  以太坊应用程序 208
    • 7.16  可扩展性和安全问题 208
    • 7.17  本章小结 208
    • 第8章  以太坊开发 211
    • 8.1  配置开发环境 211
    • 8.1.1  TestNet(Ropsten) 211
    • 8.1.2  配置PrivateNet 212
    • 8.1.3  启动私有网络 214
    • 8.1.4  在PrivateNet上运行Mist 218
    • 8.1.5  利用Mist部署合约 219
    • 8.2  开发工具和客户端 223
    • 8.2.1  开发语言 224
    • 8.2.2  编译器 224
    • 8.2.3  工具和库 228
    • 8.2.4  EthereumJS 230
    • 8.2.5  合约的开发和部署 231
    • 8.3  Solidity语言 231
    • 8.3.1  值类型 232
    • 8.3.2  字面值 233
    • 8.3.3  枚举值 234
    • 8.3.4  函数类型 234
    • 8.3.5  引用类型 234
    • 8.3.6  映射 235
    • 8.3.7  全局变量 236
    • 8.3.8  控制结构 236
    • 8.4  引入Web3 241
    • 8.4.1  POST请求 247
    • 8.4.2  HTML和JavaScript前端 248
    • 8.4.3  开发框架 255
    • 8.5  本章小结 281
    • 第9章  超级账本 283
    • 9.1  项目 283
    • 9.1.1  Fabric 283
    • 9.1.2  Sawtooth lake 283
    • 9.1.3  Iroha 284
    • 9.1.4  Blockchain explorer 284
    • 9.1.5  Fabric链式工具 284
    • 9.1.6  Fabric SDK Py 284
    • 9.1.7  Corda 285
    • 9.2  超级账本协议 285
    • 9.2.1  参考架构 285
    • 9.2.2  需求条件 286
    • 9.2.3  隐私和保密性 286
    • 9.2.4  身份 287
    • 9.2.5  可审核性 287
    • 9.2.6  互操作性 287
    • 9.2.7  可移植性 287
    • 9.3  Fabric 287
    • 9.4  Hyperledger Fabric 288
    • 9.4.1  Fabric体系结构 288
    • 9.4.2  Fabric组件 291
    • 9.5  Sawtooth lake 293
    • 9.5.1  PoET 293
    • 9.5.2  交易族 293
    • 9.5.3  Sawtooth中的共识机制 295
    • 9.5.4  开发环境 295
    • 9.6  Corda 298
    • 9.6.1  体系结构 299
    • 9.6.2  组件 300
    • 9.6.3  开发环境 302
    • 9.7  本章小结 303
    • 第10章  替代区块链方案 305
    • 10.1  区块链 305
    • 10.2  平台 318
    • 10.2.1  BlockApps 318
    • 10.2.2  Eris 324
    • 10.3  本章小结 326
    • 第11章  货币之外的区块链技术 327
    • 11.1  物联网 327
    • 11.2  政府机构 344
    • 11.2.1  边境管理 344
    • 11.2.2  选票机制 346
    • 11.2.3  身份证 346
    • 11.2.4  其他领域 347
    • 11.3  保健事业 347
    • 11.4  金融行业 348
    • 11.4.1  保险行业 348
    • 11.4.2  交易后的结算 349
    • 11.4.3  防范金融犯罪 349
    • 11.5  媒体行业 350
    • 11.6  本章小结 350
    • 第12章  可扩展性和其他挑战 351
    • 12.1  可扩展性 351
    • 12.1.1  增加区块链尺寸 352
    • 12.1.2  减少区块间隔时间 352
    • 12.1.3  可逆的Bloom查找表 353
    • 12.1.4  分片技术 353
    • 12.1.5  状态通道 353
    • 12.1.6  私有区块链 354
    • 12.1.7  权益证明 354
    • 12.1.8  侧链 354
    • 12.1.9  子链 354
    • 12.1.10  树形链 354
    • 12.2  隐私性 356
    • 12.2.1  不可区分性混淆技术 356
    • 12.2.2  同态加密 356
    • 12.2.3  零知识证明 356
    • 12.2.4  状态通道 357
    • 12.2.5  安全的多方计算 357
    • 12.2.6  通过硬件提供保密性 357
    • 12.2.7  Coinjoin 357
    • 12.2.8  机密交易 358
    • 12.2.9  MimbleWimble 358
    • 12.3  安全性 358
    • 12.3.1  智能合约安全性 359
    • 12.3.2  Why3形式验证 360
    • 12.3.3  Oyente工具 361
    • 12.4  本章小结 362
    • 第13章  发展现状和未来趋势 365
    • 13.1  新趋势 365
    • 13.1.1  基于应用程序的区块链(ASBC) 365
    • 13.1.2  企业级区块链 365
    • 13.1.3  私有区块链 366
    • 13.1.4  初创公司 366
    • 13.1.5  浓厚的研究兴趣 366
    • 13.1.6  标准化 367
    • 13.1.7  改进措施 367
    • 13.1.8  具体实现 368
    • 13.1.9  企业联合体 368
    • 13.1.10  解决方法 368
    • 13.1.11  技术融合 368
    • 13.1.12  教育发展状况 368
    • 13.1.13  就业前景 369
    • 13.1.14  密码经济学 369
    • 13.1.15  密码学研究 369
    • 13.1.16  新的编程语言 369
    • 13.1.17  硬件研究和开发 370
    • 13.1.18  形式方法和以及安全研究 370
    • 13.1.19  区块链的替代方案 370
    • 13.1.20  互操作性 371
    • 13.1.21  区块链服务 371
    • 13.1.22  减少耗电量 371
    • 13.2  改进协议 371
    • 13.2.1  BIP 372
    • 13.2.2  EIP 373
    • 13.3  其他挑战性问题 374
    • 13.4  负面影响 375
    • 13.5  区块链研究 376
    • 13.5.1  智能合约 376
    • 13.5.2  中心化问题 376
    • 13.5.3  加密功能的局限性 376
    • 13.5.4  共识算法 376
    • 13.5.5  可扩展性 377
    • 13.5.6  代码混淆 377
    • 13.6  重要项目实例 377
    • 13.6.1  以太坊上的Zcash 377
    • 13.6.2  CollCo 377
    • 13.6.3  Cello 378
    • 13.6.4  Qtum 378
    • 13.6.5  Bitcoin-NG 378
    • 13.6.6  Solidus 378
    • 13.6.7  Hawk 378
    • 13.6.8  Town-Crier 378
    • 13.6.9  SETLCoin 379
    • 13.6.10  TEEChan 379
    • 13.6.11  Falcon 379
    • 13.6.12  Bletchley 379
    • 13.6.13  Casper 380
    • 13.6.14  Metropolis 380
    • 13.7  其他工具 380
    • 13.7.1  Microsoft Visual Studio的Solidity扩展 380
    • 13.7.2  MetaMask 380
    • 13.7.3  Stratis 381
    • 13.7.4  Embark 381
    • 13.7.5  DAPPLE 381
    • 13.7.6  Meteor 381
    • 13.7.7  uPort 381
    • 13.7.8  INFURA 382
    • 13.8  与其他行业的结合 382
    • 13.9  未来发展 383
    • 13.10  本章小结 384

    上一篇:可伸缩架构:面向增长应用的高可用  下一篇:精通以太坊智能合约开发

    展开 +

    收起 -

    码小辫二维码
     ←点击下载即可登录

    区块链相关电子书
    学习笔记
    网友NO.299017

    如何用120行Java代码写一个自己的区块链

    区块链是目前最热门的话题,广大读者都听说过比特币,或许还有智能合约,相信大家都非常想了解这一切是如何工作的。这篇文章就是帮助你使用 Java 语言来实现一个简单的区块链,用不到 120 行代码来揭示区块链的原理! “用不到120行 Java 代码就能实现一个自己的区块链!” 听起来不可思议吧?有什么能比开发一个自己的区块链更好的学习实践方法呢?那我们就一起来实践下! 因为我们是一家从事互联网金融的科技公司,所以我们采用虚拟资产金额作为这篇文章中的示例数据。大家可以先为自己想一个数字,后面我们会用到。 通过本文,你将可以做到: 1、创建自己的区块链 2、理解 hash 函数是如何保持区块链的完整性的 3、如何创造并添加新的块 4、多个节点如何竞争生成块 5、通过浏览器来查看整个链 6、所有其他关于区块链的基础知识 但是,对于比如工作量证明算法(PoW)以及权益证明算法(PoS)这类的共识算法文章中将不会涉及。 同时为了让你更清楚得查看区块链以及块的添加,我们将网络交互的过程简化了,关于 P2P 网络比如“对等网络”等内容将在将来的文章中讲解。 让我们开始吧! 设置 我们假设你已经具备一点 Java 语言的开发经验,以及maven项目构建经验。在安装和配置 Java 开发环境后之后,我们新……

    网友NO.121121

    JavaScript实现区块链

    几乎每个人都听说过像比特币和以太币这样的加密货币,但是只有极少数人懂得隐藏在它们背后的技术。在这篇文中,我将会用JavaScript来创建一个简单的区块链来演示它们的内部究竟是如何工作的。我将会称之为SavjeeCoin! 全文分为三个部分: part1:实现一个基本的区块链 part2:实现POW part3:交易与挖矿奖励 Part1:实现一个基本的区块链 区块链 区块链是由一个个任何人都可以访问的区块构成的公共数据库。这好像没什么特别的,不过它们有一个有趣的属性:它们是不可变的。一旦一个区块被添加到区块链中,除非让剩余的其余区块失效,否则它是不会再被改变的。 这就是为什么加密货币是基于区块链的原因。你肯定不希望人们在交易完成后再变更交易! 创造一个区块 区块链是由许许多多的区块链接在一起的(这听上去好像没毛病..)。链上的区块通过某种方式允许我们检测到是否有人操纵了之前的任何区块。 那么我们如何确保数据的完整性呢?每个区块都包含一个基于其内容计算出来的hash。同时也包含了前一个区块的hash。 下面是一个区块类用JavaScript写出来大致的样子: const SHA256 = require("crypto-js/sha256");class Block { constructor(index, timestamp, data, previousHash = '') { this.index = index; this.previousHash = previousHash; this.timestamp = timest……

    网友NO.224502

    Python基础入门--区块链

    区块链的基础概念很简单:一个分布式数据库,存储一个不断加长的 list,list 中包含着许多有序的记录。下面这篇文章主要给大家介绍了关于Python学习入门之区块链的相关资料,文中通过示例代码介绍的非常详细,需要的朋友们下面来一起看看吧。 前言 本文将给大家简单介绍关于区块链(BlockChain)的相关知识,并用Python做一简单实现。下面话不多说,来一起看看详细的介绍: 什么是区块链 简单来说,区块链就是把加密数据(区块)按照时间顺序进行叠加(链)生成的永久、不可逆向修改的记录。具体来说,它区块链是由一串使用密码学方法产生的数据块组成的,每一个区块都包含了上一个区块的哈希值(hash),从创始区块(genesis block)开始连接到当前区块,形成块链。每一个区块都确保按照时间顺序在上一个区块之后产生,否则前一个区块的哈希值是未知的。它是比特币的一个重要概念。 特点 区块链有如下特点: 去中心化:区块链不依赖于某个中心节点,而是依赖于分布式的各个节点。 无须信任系统:区块链中基于密码学算法,数据需要网络内其他用户的批准,所以不需要一套第三方中介结构或信任机构背书。 不可篡改和加密安全性:区块链采取单向哈希算法,同时每个新产生的区块严格按照时间线形顺序推进,时间……

    网友NO.834820

    通过Python函数来详细解析区块链

    本篇文章给大家带来的内容是关于通过Python函数来详细解析区块链,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 我想对于那里的很多人来说,区块链就是这种现象,很难不让你头脑发热。我开始观看视频和阅读文章,但对我个人而言,直到我编写自己的简单区块链,我才真正理解它是什么以及它的潜在应用价值。 我对区块链的看法是它是一个公开的加密数据库。如果你是亚马逊并且你想使用该技术来跟踪库存水平,那么使用区块链是否有意义?可能没有,因为你的客户不想花费资源来验证你的区块链,因为他们只顾看着网站说 Only 1 left! 。 我会让你考虑未来的应用。所以不用多说,让我们看看我们的7个函数! def hash_function(k): Hashes our transaction. if type(k) is not str: k = json.dumps(k, sort_keys=True) return hashlib.sha256(k).hexdigest() 区块链的核心是hash函数。如果没有加密,区块链将易于操作,并且交易将能够以欺诈方式写入。 def update_state(transaction, state): state = state.copy() for key in transaction: if key in state.keys(): state[key] += transaction[key] else: state[key] = transaction[key] return state state 是来记录谁拥有代币交易情况。例如,我有10个代币,我给1到Medium,然后状态 state 将是下面字典的值。 {‘transaction’: {‘Tom’: 9, ‘Medium’: 1……

    Copyright 2018-2019 xz577.com 码农之家

    版权责任说明