×
Go语言区块链应用开发从入门到精通

Go语言区块链应用开发从入门到精通

1星价 ¥67.6 (7.6折)
2星价¥67.6 定价¥89.0
暂无评论
图文详情
  • ISBN:9787301321348
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:324
  • 出版时间:2021-05-01
  • 条形码:9787301321348 ; 978-7-301-32134-8

本书特色

适读人群 :普通读者(1)理论与实践相结合,每个理论都有对应的实践代码讲解,读者参考源码完成实例,就可以看到实践效果。 (2)每章都配备实训与问答。读者阅读后,能尽快巩固知识点,可以做到举一反三、学以致用。 (3)内容知识体系系统、完备,可以快速帮助读者搭建区块链应用开发知识体系,应用于实际工作。 (4)易学易懂,实战项目检验。零基础读者也能轻松学会Go语言和区块链应用开发两大知识体系。 (5)超值赠送本书案例同步源代码+380分钟视频教程+《新书学Go语言编程(3天快速入门)》电子书。

内容简介

本书全面系统地介绍了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服务器项目。

目录

第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 同步与 channel54

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 初识 Solidity114

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 如何订阅合约的 event163

实训:编写一个银行合约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


展开全部

作者简介

高野,高级软件工程师,CSDN《区块链应用工程师》课程合作讲师(2018年开发的国内体系化区块链课程),BSN(Block-chain-based Service Network)网络合格开发者FISCO-BCOS联盟认证讲师,工业与信息化部区块链人才认证课程讲师,清华x-lab 实验室区块链课程合作讲师。 曾就职于中国联通、大商所、传智播客等知名企业,擅长基于以太坊EOS、HyperLedger Fabric、FISCO-BCOS等公链、联盟链平台进行应用开发,主导开发了版权交易系统、 tokentask、一点知道(移动端)等多款区块链应用项目。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航