作品简介

这是一本以实战为导向的区块链项目实战指南,以以太坊、比特币两大区块链应用为主题,讲解了这两大应用方向的关键技术,以及7个大型的项目实战案例。全书一共分为3个部分:部分:区块链技术综述首先从宏观上介绍了区块链技术以及相关项目的起源、发展、组成等,然后详细讲解了区块链开发环境的搭建。第二部分:以太坊首先讲解了以太坊的关键技术,比如以太坊的部署、常用工具、编程接口、公有链和私有链的搭建、智能合约编程、维护、备份和恢复等,然后是一个代币系统和一个以太坊钱包的案例。第三部分:比特币首先讲解了比特币的关键技术,比如编程接口、公有链、私有链等,然后详细讲解了一个比特币钱包的案例。

吴寿鹤,冯翔,刘涛,周广益著。

作品目录

  • 前言
  • 第1章 全面认识区块链
  • 1.1 区块链技术的起源和解释
  • 1.2 区块链的核心技术及其特性
  • 1.2.1 区块链技术的特性
  • 1.2.2 区块链的分布式存储技术特性
  • 1.2.3 区块链的密码学技术特性
  • 1.2.4 区块链中的共识机制
  • 1.2.5 区块链中的智能合约
  • 1.3 区块链技术演进过程
  • 1.4 区块链技术的3个缺点
  • 1.5 区块链技术常见的4个错误认识
  • 1.6 区块链技术的应用领域
  • 1.6.1 区块链在金融行业的应用
  • 1.6.2 区块链在供应链中的应用
  • 1.6.3 区块链在公证领域的应用
  • 1.6.4 区块链在数字版权领域的应用
  • 1.6.5 区块链在保险行业的应用
  • 1.6.6 区块链在公益慈善领域的应用
  • 1.6.7 区块链与智能制造
  • 1.6.8 区块链在教育就业中的应用
  • 1.7 区块链的其他常见技术框架
  • 1.8 本章小结
  • 第2章 实战准备
  • 2.1 开发环境准备
  • 2.1.1 操作系统的配置
  • 2.1.2 Docker的使用
  • 2.1.3 Git的使用
  • 2.2 开发语言
  • 2.2.1 GO语言
  • 2.2.2 Node.js
  • 2.3 常用工具
  • 2.3.1 Curl
  • 2.3.2 tree
  • 2.3.3 Jq
  • 2.4 本章小结
  • 第3章 以太坊介绍
  • 3.1 了解以太坊
  • 3.2 以太坊发展路线
  • 3.3 以太坊内置货币
  • 3.4 以太坊交易吞吐量
  • 3.5 以太坊账户
  • 3.6 智能合约
  • 3.7 Gas与GasPrice
  • 3.8 工作量证明算法
  • 3.9 以太坊网络类型
  • 3.10 以太坊客户端
  • 3.11 本章小结
  • 第4章 以太坊的编译、安装与运行
  • 4.1 在Ubuntu下安装
  • 4.2 在MacOS下安装
  • 4.3 在Windows下安装
  • 4.4 以Docker方式安装
  • 4.5 运行以太坊
  • 4.6 本章小结
  • 第5章 以太坊私有链的搭建与运行
  • 5.1 搭建一个私有链
  • 5.2 以太坊JavaScript控制台命令
  • 5.3 以太坊CLI控制台命令
  • 5.3.1 账户管理
  • 5.3.2 区块数据管理
  • 5.4 以太坊TestRPC测试链搭建
  • 5.5 本章小结
  • 第6章 以太坊的编程接口
  • 6.1 web3.js API
  • 6.1.1 安装web3.js并创建实例
  • 6.1.2 账户相关API
  • 6.1.3 交易相关API
  • 6.1.4 区块相关API
  • 6.2 JSON-RPC API
  • 6.2.1 账户相关API
  • 6.2.2 交易相关API
  • 6.2.3 区块相关API
  • 6.3 本章小结
  • 第7章 Solidity IDE和Solidity快速入门
  • 7.1 三种Solidity IDE
  • 7.1.1 browser-solidity
  • 7.1.2 Atom
  • 7.1.3 IntelliJ IDEA
  • 7.2 Solidity快速入门:编写一个简单的银行合约案例
  • 7.3 本章小结
  • 第8章 Solidity语法详解
  • 8.1 注释
  • 8.2 整型和布尔型
  • 8.2.1 整型
  • 8.2.2 布尔型
  • 8.3 地址
  • 8.4 字节数组
  • 8.4.1 固定长字节数组
  • 8.4.2 动态长度字节数组
  • 8.5 类型转换和类型推断
  • 8.5.1 类型转换
  • 8.5.2 类型推断
  • 8.6 时间单位和货币单位
  • 8.6.1 时间单位
  • 8.6.2 货币单位
  • 8.7 数组和多维数组
  • 8.7.1 数组
  • 8.7.2 多维数组
  • 8.8 映射/字典
  • 8.9 结构体与枚举
  • 8.9.1 结构体
  • 8.9.2 枚举
  • 8.10 全局变量
  • 8.11 控制结构
  • 8.12 函数
  • 8.13 事件
  • 8.14 合约
  • 8.15 继承
  • 8.16 抽象合约
  • 8.17 接口
  • 8.18 库
  • 8.19 Using for
  • 8.20 引入其他源文件
  • 8.21 状态变量/局部变量
  • 8.22 数据位置
  • 8.22.1 数据位置概述
  • 8.22.2 数据位置之间相互转换
  • 8.23 异常处理
  • 8.24 编写安全solidity智能合约最佳实践
  • 8.24.1 尽早抛出异常
  • 8.24.2 结构化函数代码顺序
  • 8.24.3 在支付时使用pull模式而不是push模式
  • 8.24.4 整数上溢和下溢
  • 8.25 本章小结
  • 第9章 Solidity合约编译、部署
  • 9.1 编译合约
  • 9.1.1 安装solc编译工具
  • 9.1.2 开始编译合约
  • 9.2 部署合约
  • 9.2.1 启动以太坊geth节点
  • 9.2.2 部署智能合约
  • 9.3 调用合约
  • 9.4 本章小结
  • 第10章 Truffle详解
  • 10.1 什么是Truffle
  • 10.2 安装Truffle
  • 10.3 创建并初始化项目
  • 10.4 创建合约
  • 10.5 编译合约
  • 10.6 迁移合约
  • 10.7 合约交互
  • 10.7.1 交易
  • 10.7.2 调用
  • 10.7.3 合约抽象
  • 10.7.4 与合约交互
  • 10.7.5 添加一个新合约到网络
  • 10.7.6 使用现有合约地址
  • 10.7.7 向合约发送以太币
  • 10.8 测试合约
  • 10.9 JavaScript测试
  • 10.10 Solidity测试
  • 10.11 Truffle配置文件
  • 10.12 依赖管理
  • 10.13 本章小结
  • 第11章 以太坊DApps应用开发实战
  • 11.1 DApps架构与开发流程
  • 11.1.1 DApps架构VS Web应用架构
  • 11.1.2 DApps开发流程
  • 11.2 案例:去中心化微博
  • 11.2.1 创建项目
  • 11.2.2 合约
  • 11.2.3 前端应用
  • 11.3 本章小结
  • 附录A 比特币的原理和运行方式
  • 附录B 比特币的bitcoin-cli模块详解
  • 附录C 比特币系统的编程接口
  • 附录D 比特币系统客户端项目实战
  • 附录E 区块链相关术语
  • 后记
展开全部