区块链:以太坊APP钱包开发实战
作者: 谢跃书
出版时间:2020年版
内容简介
本书分为基础篇、安卓篇和苹果篇。基础部分讲解开发以太坊钱包App所涉及的技术理论基础知识;区块链概念及其关键技术,包括分布式数据存储、点对点传输、共识机制、密码学、分布式账本等;数字钱包理论原理与技术发展;DApp与数字钱包的关系。 安卓篇讲解Android Studio开发工具,Java原生App开发技术,常用Java开源库OkHttp、Retrofit、RxJava和Dagger,Java密码学框架JCA/JCE的使用方法,以太坊Java开源库Web3j的使用,以及对Trust Wallet钱包Android版App项目架构及核心功能代码进行全面分析等。 苹果篇讲解Xcode开发工具,Swift原生App开发技术,常用iOS开源库BigInt、APIKit、Moya、R.swift、CryptoSwift和JSONRPCKit,iOS加密库Common Crypto和Security库的使用方法,基于JSONRPC方式的Web3开发,以及对Trust Wallet钱包iOS版App项目架构及核心功能代码进行全面分析等。 本书适合所有软件开发者及技术管理人员阅读,特别是对区块链或数字货币技术感兴趣、准备开发数字钱包的技术人员;尤其适合准备开展以太坊钱包开发工作的技术人员阅读。
目录
基础篇
第1章区块链2
1.1区块链简介2
1.2比特币的背景与起源2
1.3比特币的诞生与发展2
1.4区块链的发展3
1.5区块链定义4
1.6分布式数据存储4
1.7点对点传输5
1.8密码学6
1.9共识机制15
1.10分布式账本17
第2章以太坊24
2.1简介24
2.2诞生历史26
2.3发展计划27
2.4客户端29
2.5Web3 API30
2.6账户45
2.7交易48
2.8区块51
2.9智能合约53
2.10代币55
第3章数字钱包57
3.1钱包简介57
3.2钱包分类57
3.3轻钱包的兴起59
3.4钱包基本原理60
3.5钱包技术发展61
3.6以太坊钱包App66
第4章DApp72
4.1DApp简介72
4.2DApp轻钱包73
4.3DApp发展现况74
4.4DApp生态系统76
4.5DApp开发技术78
4.6DApp功能结构82
4.7DApp与App82
安卓篇
第5章Android Studio86
5.1Android简介86
5.2Android Studio89
5.3Android SDK92
5.4第一个App94
5.5项目结构97
5.6打包与发布101
第6章Android开发技术105
6.1开发技术简介105
6.2应用架构106
6.3Java开发语言108
6.4其他开发语言119
第7章Android开源库121
7.1OkHttp121
7.2Retrofit123
7.3RxJava127
7.4Dagger133
第8章JCA/JCE开发135
8.1技术简介135
8.2对称加密138
8.3MD消息摘要140
8.4MAC消息认证141
8.5非对称加密143
8.6数字签名147
8.7密钥生成153
第9章Web3j开发156
9.1Web3j简介156
9.2Android适用性157
9.3账户160
9.4交易163
9.5智能合约170
9.6代币174
9.7区块180
第10章Android钱包项目184
10.1开源软件介绍184
10.2钱包开源项目185
10.3项目概况186
10.4功能架构191
10.5导入钱包199
10.6导出钱包209
10.7创建钱包211
10.8发起交易215
10.9交易记录222
10.10账户查询227
10.11DApp浏览器230
苹果篇
第11章Xcode238
11.1IDE简介238
11.2版本特性238
11.3安装与配置240
11.4开发介绍242
11.5创建iOS项目247
11.6打包与上架249
第12章iOS开发252
12.1Swift简介252
12.2开发文档254
12.3基本数据类型258
12.4特殊数据类型259
12.5其他开发语言261
第13章iOS开源库264
13.1BigInt264
13.2APIKit268
13.3Moya271
13.4R.swift274
13.5CryptoSwift277
13.6JSONRPCKit283
第14章iOS加密库290
14.1加密库介绍290
14.2接口简介290
14.3对称加密293
14.4MD消息摘要300
14.5MAC消息认证301
14.6非对称加密303
14.7数字签名308
14.8密钥生成309
第15章Web3 iOS312
15.1Web3简介312
15.2Web3接口312
15.3账户320
15.4交易322
15.5智能合约325
15.6代币327
15.7区块331
第16章iOS钱包项目334
16.1项目概况334
16.2功能架构340
16.3创建钱包360
16.4导入钱包364
16.5导出钱包368
16.6发起交易371
16.7交易记录374
16.8账户查询375
16.9DApp浏览器381
第17章附录384
17.1Android国内各大应用商店384
17.2ERC20太阳城
智能合约388
参考文献396