新書推薦:
《
金融科技监管的目标、原则和实践:全球视野下加密货币的监管
》
售價:HK$
110.9
《
城市轨道交通绿色低碳规划设计研究——深圳地铁6号线工程创新与实践
》
售價:HK$
221.8
《
艾尔米塔什国家博物馆 少年游学 人一生一定要看的博物馆
》
售價:HK$
38.1
《
世界四大博物馆4册套装 卢浮宫大英大都会艾尔米塔什博物馆 青少年游学艺术参观科普书
》
售價:HK$
152.3
《
艺术家之路 塑造插画风格
》
售價:HK$
166.8
《
古乐钩沉(中国音乐学院60周年校庆中青年学者文集)
》
售價:HK$
132.2
《
我和抑郁症的3000天
》
售價:HK$
66.1
《
与骸骨交谈:我希望每一个真相都被发现
》
售價:HK$
76.2
|
編輯推薦: |
(1)理论与实践相结合,每个理论都有对应的实践代码讲解,读者参考源码,完成实例,就可以
看到实践效果。
(2)每章都配备实训与问答。读者阅读后,能尽快巩固知识点,可以做到举一反三、学以致用。
(3)内容知识体系系统、完备,可以快速帮助读者搭建区块链应用开发知识体系。
(4)易学易懂,零基础读者只要能够理解一些编程上的关键术语就可以阅读本书。Go语言和
Solidity是两门独立的开发语言,在本书中都进行了较为细致的讲解,便于读者由浅入深地学习。
|
內容簡介: |
《GO语言区块链应用开发从入门到精通》全面地介绍了Go语言区块链应用工程师所需要的基础知识和各种技术,主要分为基础篇、进阶篇和实战篇三部分。全书共7章,其中1~2章为基础篇,介绍Go语言环境安装、基础语法、函数编程、容器编程、面向对象编程、并发编程以及网络编程;3~5章为进阶篇,第3章介绍区块链基本原理、发展历程、行业应用案例,第4章主要介绍智能合约,包括solidity基础语法,多个经典案例,以及Go语言如何调用智能合约,第5章主要介绍区块链原理的程序化实践,包括Go语言实现Base58编码、P2P网络、PoW共识、区块链组块以及UTXO账户模型实现;6~7章为实战篇,介绍2个实战项目,第6章介绍如何实现Go语言版的区块链钱包项目,内容包括助记词生成、私钥存储、Coin交易以及Token交易等内容,第7章介绍如何实现一个版权交易系统,内容包含如何去设计区块链应用系统、后端功能如何与区块链相结合,它既是一个区块链系统应用项目,也是一个Go语言Web服务器项目。《GO语言区块链应用开发从入门到精通》适合想从事GO语言区块链开发的程序员及GO语言爱好者阅读。
|
關於作者: |
高野,2006年毕业于吉林大学计算机科学与技术专业,曾先后就职于中国联通、恒生电子、飞创科技、传智播客,现任柏链道捷CTO。十多年开发和授课经验,熟悉以太坊、EOS等主流公链以及各联盟链平台应用开发,研发了国内个区块链应用教学项目——版权交易系统,研发了国内首个EOS应用开发培训课程,多次参加高校师资培训、线上线下教学和技术分享活动,培养过的学生遍布全球。
|
目錄:
|
第1章 初识 Go 语言...· 2
1.1 为什么要学习 Go 语言 .3
1.1.1 Go 语言的前世今生..... 3
1.1.2 Go 语言能做什么...... 4
1.2 Go 语言开发环境搭建.·5
1.2.1 多平台开发环境搭建.... 5
1.2.2 Go 语言 IDE 开发工具介绍............... 11
实训:查看并使用 Go 语言命令行帮助手册......... 13
本章总结 ... 15
第2章 Go 语言基础语法................ 16
2.1 数据类型与定义 .... 17
2.1.1 数据类型丰富........17
2.1.2 如何定义变量.......· 18
2.1.3 如何定义常量.......· 20
2.1.4 如何优雅地定义枚举类型................ 21
2.1.5 不用害怕指针.......· 23
2.2 分支与循环 ....... 24
2.2.1 if 语句的写法 .......· 24
2.2.2 一个关键字支持所有循环方式............. 26
2.3 函数 ..· 27
2.3.1 Go 语言函数的特色....·27
2.3.2 函数闭包..........· 30
2.4 容器编程 ........· 33
2.4.1 数组的使用......... 34
2.4.2 什么是切片......... 36
2.4.3 map 的使用......... 38
2.5 面向对象编程 .....· 41
2.5.1 自定义结构......... 41
2.5.2 方法封装..........· 42
2.5.3 结构体内嵌......... 44
2.5.4 接口....· 47
2.6 并发编程 ........· 49
2.6.1 并发的概念与 Go 并发的设计.............· 50
2.6.2 并发经典案例.......· 52
2.6.3 同步与 channel......· 54
2.6.4 单方向 channel......· 58
2.6.5 定时器... 62
2.7 网络编程......... 63
2.7.1 文件 IO 处理 ........ 64
2.7.2 TCP 协议简介 ....... 68
2.7.3 TCP 服务器搭建 .....· 70
2.7.4 HTTP 协议简介 ......75
2.7.5 HTTP 服务器搭建 ....·77
实训:基于 TCP 协议的并发聊天室 ..............79
本章总结 ... 86
第3章 区块链原理、发展与应用..........· 88
3.1 区块链基本原理 .... 89
3.1.1 区块链技术为什么会产生................ 89
3.1.2 什么是 hash 函数 ..... 90
3.1.3 P2P 网络简介.......· 92
3.1.4 PoW 共识算法....... 93
3.1.5 UTXO 模型 ........· 94
3.2 区块链发展历程 .... 95
3.2.1 区块链发展现状...... 95
3.2.2 区块链 2.0 时代 ......·97
3.2.3 区块链行业未来展望...·97
3.3 区块链开发技术选型 . 98
3.3.1 DApp 架构分析......· 98
3.3.2 公链与联盟链之争....· 99
3.4 区块链行业应用示例 ................ 100
3.4.1 数字金融..........100
3.4.2 电子存证..........101
3.4.3 食品安全..........103
实训:区块链理论在线 demo 演示 ..............104
本章总结 .. 104
第4章 Go 语言区块链初级应用开发.......· 105
4.1 智能合约开发 ....· 106
4.1.1 合约开发环境搭建....106
4.1.2 初识 Solidity.......·114
4.1.3 智能合约有哪些数据类型...............·122
4.1.4 什么是内建对象.....·126
4.1.5 智能合约的函数.....·128
4.1.6 函数修饰符........·132
4.1.7 巧用复合类型 ......133
4.1.8 断言处理与自定义修饰符 ..............·136
4.1.9 经典智能合约案例....138
4.1.10 智能合约开发技巧 ...146
4.2 Go 语言与智能合约调用..............·154
4.2.1 合约函数如何被调用..·154
4.2.2 智能合约被调用的基本步骤..............154
4.2.3 调用合约时如何签名..·160
4.2.4 如何订阅合约的 event.·163
实训:编写一个银行合约....168
本章总结 ..·169
第5章 Go 语言区块链高级应用开发.......· 170
5.1 Go 语言与区块链开发准备.............171
5.1.1 Go 语言与 hash 函数..·171
5.1.2 Go 语言与 Base58 编码 ................·172
5.1.3 Go 语言与默克尔树...·174
5.1.4 Go 语言实现 P2P 网络.·178
5.2 Go 语言实现 PoW 共识算法 ............183
5.2.1 区块定义与数据串行化.183
5.2.2 PoW 算法实现......·186
5.3 区块数据如何持久化 ................ 190
5.3.1 Go 语言与 boltDB 实战.190
5.3.2 区块数据如何持久化 .·192
5.3.3 区块数据如何遍历 ...195
5.4 Go 语言实现 UTXO 模型..............196
5.4.1 如何定义交易.......197
5.4.2 如何判断 CoinBase 交易................199
5.4.3 如何使用 CoinBase 交易................199
5.4.4 如何查找账户的 UTXO ................·203
5.4.5 如何发送交易.......206
5.5 区块链账户地址如何生成 .............·210
5.5.1 公钥加密与数字签名 .·210
5.5.2 生成区块链账户地址..·213
实训:结合区块链账户地址,发送区块链交易......·217
本章总结 ..·218
第6章 Go 语言离线钱包开发............220
6.1 区块链钱包原理 ...·221
6.1.1 区块链钱包的核心原理.221
6.1.2 助记词如何生成与验证.223
6.1.3 如何存储私钥.......230
6.2 区块链钱包核心功能实现 .............·237
6.2.1 flag 使用与开发框架搭建 ...............·238
6.2.2 钱包如何支持 Coin 转移 ................241
6.2.3 钱包如何支持 Coin 查询 ................246
6.2.4 ERC-20 标准与实现 ..·248
6.2.5 钱包如何支持 token 转移...............·254
6.2.6 钱包如何支持 token 查询...............·256
6.2.7 交易明细查询.......257
本章总结 ..·261
第7章 Go 语言图片版权交易系统开发......262
7.1 项目需求分析与通证设计 .............·263
7.1.1 项目需求与痛点分析..·263
7.1.2 项目整体设计.......264
7.1.3 ERC-721 标准与实现..265
7.2 项目核心功能实现 ..276
7.2.1 Go 语言 Echo 框架搭建 ................·276
7.2.2 注册实现..........281
7.2.3 登录与 session 处理...285
7.2.4 图片上传处理.......289
7.2.5 拍卖功能实现.......298
7.2.6 投票功能实现.......308
本章总结 ..·311
参考文献.. 312
|
|