书籍详情
精通区块链编程:加密货币原理、方法和应用开发(原书第2版)
作者:[希] 安德烈亚斯,M.安东诺普洛斯 著,郭理靖 李国鹏 李卓 译,乔延宏 邵周 Higer 校
出版社:机械工业出版社
出版时间:2019-06-01
ISBN:9787111626053
定价:¥119.00
购买这本书可以去
内容简介
伴随着金融世界领域中的技术变革,本书将带领你走进看似复杂的比特币世界,为你参与到数字货币互联网提供必要的知识。无论你是正在构建下一个杀手级应用,还是在投资一个初创企业,或者只是对这种技术好奇,这本全面修订和扩展的第2版都是必不可少的。比特币,一个成功去中心化的数字货币,虽然仍处在早期的发展阶段,却已经孕育了全球数十亿美元规模的经济效应。这种经济活动对任何有相关知识和热情的人都是开放的。本书提供了必要的知识,你只需要付出你的热情。第二版包括: 比特币及其所蕴含的区块链技术的广泛介绍——非技术人员、投资者和企业高管的理想选择。 比特币及加密货币的技术基础——为开发者、工程师和软件系统架构师量身定制。 比特币去中心化的网络、点对点架构、交易生命周期和安全原则等相关细节的详细介绍。 新的进展,如隔离见证、支付通道和闪电网络。 深入挖掘区块链的应用, 包括如何通过结合区块链构建上层应用。 使用故事、类比、示例和代码片段等阐述关键的技术概念。
作者简介
Andreas M. Antonopoulos是备受好评的畅销书作家、演讲家和教育家,也是世界上重要的比特币和开放式区块链专家之一。Andreas善于化繁为简,让普通人理解深奥的技术话题。
目录
目录
前言1
第1章 比特币介绍9
1.1 比特币是什么9
1.2 比特币历史11
1.3 比特币的使用、用户及用户场景12
1.4 入门13
1.4.1 选择比特币钱包13
1.4.2 快速入门15
1.4.3 获取比特币17
1.4.4 查询比特币当前价格18
1.4.5 发送和接收比特币18
第2章 比特币的工作原理21
2.1 交易、区块、挖矿和区块链21
2.1.1 比特币概述21
2.1.2 购买一杯咖啡22
2.2 比特币交易24
2.2.1 交易输入和输出24
2.2.2 交易链25
2.2.3 找零25
2.2.4 常见的交易形式26
2.3 交易的构建27
2.3.1 获取正确的输入27
2.3.2 创建交易输出29
2.3.3 将交易加入账簿30
2.4 比特币挖矿31
2.5 在区块中挖掘交易32
2.6 消费交易33
第3章 比特币核心客户端:参考实现35
3.1 比特币开发环境36
3.2 从源码编译比特币核心36
3.2.1 选择比特币核心版本37
3.2.2 配置比特币核心生成38
3.2.3 生成比特币核心可执行文件40
3.3 运行比特币核心节点41
3.3.1 首次运行比特币核心42
3.3.2 配置比特币核心节点43
3.4 比特币核心客户端应用程序编程接口(API)46
3.4.1 获得比特币核心客户端状态信息47
3.4.2 探究和解码交易48
3.4.3 探究区块50
3.4.4 使用比特币核心的编程接口51
3.5 其他替代客户端、库和工具包54
3.5.1 C/C++类54
3.5.2 JavaScript类54
3.5.3 Java类54
3.5.4 Python类54
3.5.5 Ruby类55
3.5.6 Go类55
3.5.7 Rust类55
3.5.8 C#类55
3.5.9 Objective-C类55
第4章 密钥和地址56
4.1 简介56
4.1.1 公钥密码学和加密货币57
4.1.2 私钥和公钥58
4.1.3 私钥58
4.1.4 公钥60
4.1.5 椭圆曲线密码学60
4.1.6 创建公钥63
4.2 比特币地址64
4.2.1 Base58和Base58Check编码66
4.2.2 密钥的格式69
4.3 用Python实现密钥和比特币地址74
4.4 高级密钥和地址78
4.4.1 加密私钥(BIP-38)78
4.4.2 P2SH和多重签名地址79
4.4.3 靓号地址80
4.4.4 纸钱包85
第5章 钱包88
5.1 钱包技术概述88
5.1.1 非确定性(随机)钱包89
5.1.2 确定性(种子)钱包90
5.1.3 分层确定性钱包(BIP-32/BIP-44)90
5.1.4 种子和助记词(BIP-39)91
5.1.5 钱包最佳实践91
5.1.6 使用比特币钱包92
5.2 钱包技术细节93
5.2.1 助记词编码标准(BIP-39)93
5.2.2 从种子中创造HD钱包99
5.2.3在网店中使用扩展公钥103
第6章 交易108
6.1 简介108
6.2 交易细节108
6.3 交易的输出和输入110
6.3.1 交易输出111
6.3.2 交易输入113
6.3.3 交易费117
6.3.4 把交易费加到交易中118
6.4 交易脚本和脚本语言120
6.4.1 非图灵完备性121
6.4.2 无状态验证121
6.4.3 脚本构建(锁定与解锁)121
6.4.4 P2PKH124
6.5 数字签名(ECDSA)126
6.5.1 数字签名如何工作127
6.5.2 验证签名128
6.5.3 签名散列类型(SIGHASH)129
6.5.4 ECDSA数学131
6.5.5 随机性在签名中的重要性132
6.6 比特币地址、余额和其他摘要133
第7章 高级交易及脚本136
......
前言1
第1章 比特币介绍9
1.1 比特币是什么9
1.2 比特币历史11
1.3 比特币的使用、用户及用户场景12
1.4 入门13
1.4.1 选择比特币钱包13
1.4.2 快速入门15
1.4.3 获取比特币17
1.4.4 查询比特币当前价格18
1.4.5 发送和接收比特币18
第2章 比特币的工作原理21
2.1 交易、区块、挖矿和区块链21
2.1.1 比特币概述21
2.1.2 购买一杯咖啡22
2.2 比特币交易24
2.2.1 交易输入和输出24
2.2.2 交易链25
2.2.3 找零25
2.2.4 常见的交易形式26
2.3 交易的构建27
2.3.1 获取正确的输入27
2.3.2 创建交易输出29
2.3.3 将交易加入账簿30
2.4 比特币挖矿31
2.5 在区块中挖掘交易32
2.6 消费交易33
第3章 比特币核心客户端:参考实现35
3.1 比特币开发环境36
3.2 从源码编译比特币核心36
3.2.1 选择比特币核心版本37
3.2.2 配置比特币核心生成38
3.2.3 生成比特币核心可执行文件40
3.3 运行比特币核心节点41
3.3.1 首次运行比特币核心42
3.3.2 配置比特币核心节点43
3.4 比特币核心客户端应用程序编程接口(API)46
3.4.1 获得比特币核心客户端状态信息47
3.4.2 探究和解码交易48
3.4.3 探究区块50
3.4.4 使用比特币核心的编程接口51
3.5 其他替代客户端、库和工具包54
3.5.1 C/C++类54
3.5.2 JavaScript类54
3.5.3 Java类54
3.5.4 Python类54
3.5.5 Ruby类55
3.5.6 Go类55
3.5.7 Rust类55
3.5.8 C#类55
3.5.9 Objective-C类55
第4章 密钥和地址56
4.1 简介56
4.1.1 公钥密码学和加密货币57
4.1.2 私钥和公钥58
4.1.3 私钥58
4.1.4 公钥60
4.1.5 椭圆曲线密码学60
4.1.6 创建公钥63
4.2 比特币地址64
4.2.1 Base58和Base58Check编码66
4.2.2 密钥的格式69
4.3 用Python实现密钥和比特币地址74
4.4 高级密钥和地址78
4.4.1 加密私钥(BIP-38)78
4.4.2 P2SH和多重签名地址79
4.4.3 靓号地址80
4.4.4 纸钱包85
第5章 钱包88
5.1 钱包技术概述88
5.1.1 非确定性(随机)钱包89
5.1.2 确定性(种子)钱包90
5.1.3 分层确定性钱包(BIP-32/BIP-44)90
5.1.4 种子和助记词(BIP-39)91
5.1.5 钱包最佳实践91
5.1.6 使用比特币钱包92
5.2 钱包技术细节93
5.2.1 助记词编码标准(BIP-39)93
5.2.2 从种子中创造HD钱包99
5.2.3在网店中使用扩展公钥103
第6章 交易108
6.1 简介108
6.2 交易细节108
6.3 交易的输出和输入110
6.3.1 交易输出111
6.3.2 交易输入113
6.3.3 交易费117
6.3.4 把交易费加到交易中118
6.4 交易脚本和脚本语言120
6.4.1 非图灵完备性121
6.4.2 无状态验证121
6.4.3 脚本构建(锁定与解锁)121
6.4.4 P2PKH124
6.5 数字签名(ECDSA)126
6.5.1 数字签名如何工作127
6.5.2 验证签名128
6.5.3 签名散列类型(SIGHASH)129
6.5.4 ECDSA数学131
6.5.5 随机性在签名中的重要性132
6.6 比特币地址、余额和其他摘要133
第7章 高级交易及脚本136
......
猜您喜欢