万本电子书0元读

万本电子书0元读

顶部广告

区块链应用开发指南:业务场景剖析与实战电子书

一本书讲透区块技术 系统全面:从区块系统构建,到完整DAPP发,全流程知识覆盖 由浅深:从区块基础切,一步步掌握智能合约、DAPP、以太坊钱包发 案例丰富:结合案例讲解,生动形象,附赠实战项目源代码 区块专业平台 登社区、无退社区 重磅推荐!

售       价:¥

纸质售价:¥77.20购买纸书

40人正在读 | 0人评论 6.2

作       者:熊丽兵,董一凡,周小雪

出  版  社:清华大学出版社

出版时间:2021-06-01

字       数:17.5万

所属分类: 科技 > 计算机/网络 > 软件系统

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

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
区块现在仍然是一个新生事物,就像其他所有新生事物一样,充满了争议。但不可否认,它也给逐渐变得稳定的互联网带来一股新的活力。 本书力图为区块从业人员提供一份完整的发指南。 本书首先从区块的起源出发,简单介绍区块的基本概念、历史以及区块底层所使用的技术,如密码学、零知识证明等。将比特币作为样板,简单介绍了它的历史和各种设计取舍。下来是这本书的重——区块应用发,主要内容包括以太坊工作原理、以太坊智能合约的发与实践,等等。 这是一本非常全面的智能合约发指导书,包含大量的实例代码以及实战讲解,让读者能够跟随书本发出各种基于智能合约的可交互应用。书的末尾,还讲解了如何发一个简单的钱包,来完成以太坊账号的生成、以太坊转账、调用合约等功能。<br/>【推荐语】<br/>一本书讲透区块技术 系统全面:从区块系统构建,到完整DAPP发,全流程知识覆盖 由浅深:从区块基础切,一步步掌握智能合约、DAPP、以太坊钱包发 案例丰富:结合案例讲解,生动形象,附赠实战项目源代码 区块专业平台 登社区、无退社区 重磅推荐!<br/>【作者】<br/>熊丽兵(网络ID:Tiny熊),北京航空航天大学硕士,登科技创始人、登社区(https://learnblockchain.cn/)发起人,图书《精通以太坊智能合约发》作者。 董一凡,河海大学本科学士,上海笛艺符科技联合创始人、首席技术官,无退社区特邀专栏作者。 周小雪,中国科学技术大学信息安全专业学士,复旦大学硕士。无退社区联合创始人,金融领域十多年量化经验。<br/>
目录展开

封面页

书名页

版权页

作者简介

推荐序

第1章 区块链概要

1.1 区块链诞生之前

1.2 区块链的诞生标志——比特币

1.3 比特币之后的区块链

1.3.1 比特币与区块链的分离

1.3.2 智能合约

1.4 分布式系统

1.5 什么是区块链

1.6 代币是什么

1.7 什么是区块

1.7.1 区块是怎么产生的

1.7.2 区块生成时间

1.8 区块链的硬分叉

1.9 区块链的去中心化

1.10 区块链的主要种类

1.10.1 公链(public blockchain)

1.10.2 私链(private blockchain)

1.10.3 联盟链(consortium blockchain)

1.11 加密货币

1.12 智能合约(smart contract)

1.12.1 什么是智能合约

1.12.2 智能合约的实现方式

1.13 区块链应用

1.13.1 金融服务

1.13.2 游戏

1.13.3 数字资产

1.13.4 供应链管理

1.13.5 其他

1.14 比特币的历史

1.14.1 比特币前传

1.14.2 比特币面世

1.14.3 比特币发展中的主要事件

1.15 比特币的设计取舍

1.15.1 区块链

1.15.2 共识算法

1.15.3 比特币中的交易

1.15.4 比特币的供应模式

1.15.5 去中心化与中心化

1.15.6 可替换性

第2章 密码学基础

2.1 密码学发展历史

2.1.1 密码学发展的三个阶段

2.1.2 近代密码学的开端

2.1.3 区块链去中心化密钥共享

2.2 密码系统

2.2.1 定义

2.2.2 对称加密

2.2.3 非对称加密

2.3 区块链常用密码学知识

2.3.1 Hash(哈希)算法

2.3.2 RSA算法

2.3.3 默克尔树

2.3.4 数字签名

2.3.5 零知识证明和Zcash

2.4 加密货币

2.4.1 什么是加密货币

2.4.2 热门加密货币

2.4.3 运作方式

2.4.4 加密货币的安全性

2.5 加密经济学

2.5.1 货币的功能

2.5.2 货币的属性

2.5.3 货币的种类

2.5.4 Fiat货币

2.5.5 比特币有货币属性吗

2.5.6 加密货币经济的未来

2.6 比特币中的密码学

2.6.1 比特币中的哈希处理

2.6.2 比特币中的公钥加密

2.6.3 比特币中的钱包和数字签名

第3章 零知识证明

3.1 抛砖引玉:初识零知识证明

3.1.1 为什么会有零知识证明?

3.1.2 简述零知识证明在区块链中的应用

3.2 零知识证明使用场景案例

3.2.1 场景一:万圣节糖果

3.2.2 场景二:洞穴

3.2.3 场景三:数独挑战

3.2.4 场景四:一个“真实世界中”的案例

3.3 零知识证明的应用发展

3.3.1 区块链扩容的挑战

3.3.2 ZK Sync的承诺:免信任、保密、快速

3.3.3 RedShift:透明的通用SNARK

3.4 libsnark开源实践简介

3.5 术语介绍

第4章 进入以太坊世界

4.1 以太坊概述

4.2 智能合约

4.3 账户

4.4 以太币的单位

4.5 以太坊虚拟机(EVM)

4.6 以太坊客户端

4.6.1 geth安装

4.6.2 geth使用

4.7 以太坊钱包

4.8 以太坊交易

4.8.1 价值传递

4.8.2 创建智能合约

4.8.3 调用合约方法

4.9 以太坊网络

4.9.1 主网网络(Mainnet)

4.9.2 测试网络(Testnet)

4.9.3 私有网络、开发者模式

4.9.4 模拟区块链网络

4.10 以太坊历史回顾

4.10.1 奥林匹克(Olympic)

4.10.2 边疆(Frontier)

4.10.3 家园(Homestead)

4.10.4 DAO分叉

4.10.5 拜占庭(Byzantium)

4.10.6 君士坦丁堡(Constantinople)

4.10.7 伊斯坦布尔(Istanbul)

4.10.8 以太坊2.0

第5章 探索智能合约

5.1 Remix IDE

5.2 MetaMask

5.2.1 安装MetaMask

5.2.2 配置MetaMask账号

5.2.3 为账号充值以太币

5.3 合约编写

5.4 合约编译

5.5 合约部署及运行

5.5.1 部署JavaScript VM

5.5.2 部署到以太坊网络

5.6 合约内容

5.6.1 编译器版本声明

5.6.2 定义合约

5.6.3 状态变量

5.6.4 合约函数

第6章 Solidity语言基础

6.1 Solidity数据类型

6.1.1 值类型

6.1.2 整型

6.1.3 地址类型

6.1.4 合约类型

6.1.5 函数类型

6.1.6 引用类型

6.1.7 数组

6.1.8 映射

6.1.9 结构体

6.2 合约

6.2.1 可见性

6.2.2 构造函数

6.2.3 使用new创建合约

6.2.4 constant状态常量

6.2.5 immutable不可变量

6.2.6 视图函数

6.2.7 纯函数

6.2.8 访问器函数(getter)

6.2.9 receive函数(接收函数)

6.2.10 fallback函数(回退函数)

6.2.11 函数修改器

6.2.12 函数重载(Function Overloading)

6.2.13 函数返回多个值

6.2.14 事件

6.3 错误处理及异常

6.3.1 错误处理函数

6.3.2 require还是assert?

6.3.3 try/catch

第7章 Solidity进阶

7.1 合约继承

7.1.1 多重继承

7.1.2 基类构造函数

7.1.3 抽象合约

7.1.4 函数重写(overriding)

7.2 接口

合约间利用接口通信

7.3 库

7.3.1 内嵌库

7.3.2 链接库

7.3.3 Using for

7.4 应用程序二进制接口(ABI)

7.4.1 ABI编码

7.4.2 函数选择器

7.4.3 参数编码

7.4.4 ABI接口描述

7.5 Solidity全局API

7.5.1 区块和交易属性API

7.5.2 ABI编码及解码函数API

7.5.3 数学和密码学函数API

7.6 使用内联汇编

7.6.1 汇编基础概念

7.6.2 Solidity中引入汇编

7.6.3 汇编变量定义与赋值

7.6.4 汇编中的块和作用域

7.6.5 汇编中访问变量

7.6.6 for循环

7.6.7 if判断语句

7.6.8 汇编Switch语句

7.6.9 汇编函数

7.6.10 元组

7.6.11 汇编缺点

第8章 智能合约实战

8.1 OpenZeppelin

8.2 SafeMath安全算数运算

8.3 地址工具

8.4 ERC165接口发现

8.5 ERC20代币

8.6 ERC777功能型代币

8.6.1 ERC1820接口注册表

8.6.2 ERC777标准

8.6.3 ERC777实现

8.6.4 实现钩子函数

8.7 ERC721

8.7.1 ERC721代币规范

8.7.2 ERC721实现

8.8 简单的支付通道

8.8.1 创建支付通道智能合约

8.8.2 支付签名

第9章 去中心化DAPP实战

9.1 什么是DAPP

9.2 Web3.js

9.2.1 Web3.js简介

9.2.2 引入Web3.js

9.2.3 用web3.js跟合约交互

9.3 DAPP开发工具

9.3.1 Truffle

9.3.2 Ganache

9.4 DAPP投票应用

9.4.1 投票应用需求

9.4.2 创建项目

9.4.3 编写智能合约

9.4.4 合约编译及部署

9.4.5 合约部署

9.4.6 执行部署

9.4.7 合约测试

9.4.8 编写应用前端

9.4.9 前端与合约交互

9.4.10 运行DAPP

9.4.11 部署到公网服务器

9.5 使用Vue.js开发众筹DAPP

9.5.1 Vue.js简介

9.5.2 众筹需求分析

9.5.3 实现众筹合约

9.5.4 合约部署

9.5.5 众筹Web界面实现

9.5.6 与众筹合约交互

9.5.7 DAPP运行

9.5.8 DAPP发布

9.6 后台监听合约事件

9.6.1 Node.js及Express简介

9.6.2 常驻服务监听合约事件

9.6.3 MySQL数据库环境准备

9.6.4 创建数据库及表

9.6.5 监听数据入库

9.6.6 为前端提供众筹记录

9.7 DAPP去中心化存储

9.7.1 IPFS协议

9.7.2 IPFS安装

9.7.3 IPFS初始化

9.7.4 上传文件到IPFS

9.7.5 上传目录到IPFS

9.8 Embark框架

9.8.1 Embark概述

9.8.2 Embark安装

9.9 Embark重写投票DAPP

9.9.1 创建Embark项目

9.9.2 Embark项目结构

9.9.3 编写合约及部署

9.9.4 Embark DashBoard

9.9.5 Embark Cockpit

9.9.6 Embark Artifacts

9.9.7 前端index.html

9.9.8 使用Artifacts与合约交互

9.9.9 Embark部署

第10章 以太坊钱包开发

10.1 数字钱包基础

私钥

10.2 钱包相关提案

10.2.1 BIP32分层推导

10.2.2 密钥路径及BIP44

10.2.3 BIP39

10.2.4 生成助记词

10.2.5 用助记词推导出种子

10.3 钱包功能

10.4 创建钱包账号

10.4.1 随机数为私钥创建账号

10.4.2 助记词创建账号

10.5 导入账号

10.5.1 keystore文件

10.5.2 导出和导入keystore

10.6 获取钱包余额

10.6.1 连接以太坊网络

10.6.2 查询余额

10.7 发送交易

10.7.1 构造交易

10.7.2 交易签名

10.7.3 发送交易

10.7.4 Ethers.js发送交易

10.8 交易ERC20代币

10.8.1 构造合约对象

10.8.2 获取代币余额

10.8.2 转移代币

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

发表评论

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

买过这本书的人还买过

读了这本书的人还在读

回顶部