商品详情
书名:GO语言区块链应用开发从入门到精通
定价:89 元
出版社:北京大学出版社
作者:高野
出版日期:2021-05-01
装帧:平装
开本:16开
书号:9787301321348
(1)理论与实践相结合,每个理论都有对应的实践代码讲解,读者参考源码,完成实例,就可以 看到实践效果。 (2)每章都配备实训与问答。读者阅读后,能尽快巩固知识点,可以做到举一反三、学以致用。 (3)内容知识体系系统、完备,可以快速帮助读者搭建区块链应用开发知识体系。 (4)易学易懂,零基础读者只要能够理解一些编程上的关键术语就可以阅读本书。Go语言和 Solidity是两门独立的开发语言,在本书中都进行了较为细致的讲解,便于读者由浅入深地学习。
本书全M地介绍了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语言爱好者阅读。
第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
- 北京大学出版社旗舰店 (微信公众号认证)
- 【发票】在订单留言电子邮箱、发票抬头、税号、(统一开电子发票,缺一项都不能开票,自行下载打印)
- 扫描二维码,访问我们的微信店铺
- 随时随地的购物、客服咨询、查询订单和物流...