书籍作者:武源文 | ISBN:9787121350078 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:1362 |
创建日期:2021-02-14 | 发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
《区块链:交易系统开发指南》使用通俗易懂的语言,从技术的角度详细介绍了区块链交易系统应有的功能架构及工作原理,让人们能够张开双臂轻松地拥抱区块链技术,享受区块链交易系统带来的惊喜与成就感。
《区块链:交易系统开发指南》共分 7 章,第 1~2 章主要介绍区块链及数字货币的基本概念,以及各种公有链的 API 接口;第3~5 章主要介绍区块链交易系统的分类架构及功能; 6 章主要介绍区块链交易系统面临的问题及演进方向;第 7 章对全书做了总结。
《区块链:交易系统开发指南》是作者多年从事区块链交易系统产品研发实践经验的概括和总结,实用性和技术指导性较强,可供从事区块链产品研发和区块链交易系统研发的人员参考研究,也可供希望了解区块链技术或希望投身于区块链交易系统开发的技术人员学习。本书同样适用于传统行业、互联网金融等一些非区块链行业中从事电子商务、在线购物等其他交易系统产品研发、测试、维护等的技术人员参考学习。
武源文
北京宏畅通科技有限公司董事长,中关村大数据产业联盟副秘书长,区块链金融协会副会长,国内大数据领域和产业互联网发展专家,区块链和大数据领域专家,《区块链世界》《区块链与大数据》的主要作者。
在电信行业有超过20年的工作经验、10多年的电信行业软件项目经理经历,主持开发的系统用户数据超过5亿条。作为武汉长江大数据交易所总经理,主持开发的武汉大数据交易系统支持千万级用户的大数据交易。
柏罡
北京井立通科技有限公司研发经理,数字资产交易系统技术负责人,高级系统架构师。
在软件行业有13年工作经历,拥有丰富的金融、保险、电信领域软件产品设计研发经验,拥有每日60TB海量数据分析系统设计经验。
温江凌
大数据智能链创始人兼CEO,北京大地宝科技发展有限公司CEO,系统分析师。
在软件行业有23年工作经历,在电信行业有超过18年的工作经验,主持开发的系统日处理数据超过3亿条。在金融行业量化交易方面有7年工作经验。
多年区块链交易系统产品研发实践经验的概括和总结
助你快速设计搭建一个属于自己的区块链交易系统
主题新颖:交易系统是区块链的重要组成部分,也是重要特色之一
全面系统:从交易系统架构设计到交易系统功能实现,面面俱到
内容实用:让交易系统技术不再为少数人所有,“刀刀见肉”
案例丰富:作者实际搭建过很多套交易系统,融入了很多案例
序
交易(transaction)是最基本的经济活动,也是区块链中最基本的数据结构。我当初学习比特币技术的时候,对比特币中的 transaction 数据结构设计狠下过一番工夫进行研究。然而,比特币中的交易是单向的,只包含了资金侧的转账支付(transfer/pay),并不包含商品和服务流一侧的数据。在理想的通证经济系统中,交易的双侧都应该表达为通证的流转,也就是代表价值的通证与代表商品与服务权益的通证在交易中进行原子化的所有权对调(exchange)。
麻烦的是,在中文区块链世界里,我们把 transaction 翻译成“交易”,把 exchange 也翻译成“交易”,这就摆了乌龙。实际上,transaction 在数据库技术世界中被普遍翻译为“事务”,强调的是其原子性—要么保持原状,要么完全成功,没有中间状态。在 transaction中既包括 transfer/pay,也包括 exchange,还可以有其他更复杂的操作,因此在区块链世界里,将 transaction 翻译成“交易”是不合适的。交易,要有来有往,有交有易。所以,exchange才是交易。
支付(transfer/pay)是单向的,而交易(exchange)是双向的。通证经济的基础设施,将会努力将各种价值和权益都通证化,因此在通证经济中交易表现为两份通证的对换。你去电商网站购买商品,其实花出去的是数字货币,买到的是一张数字合同,这才是这次交易的本质。至于商家通过快递将商品发送给你,只是对数字合同规定条款的履约行为,是“副作用”。单向的通证流转(transfer/pay),以及双向的通证对换交易(exchange),这是未来通证经济中最基本的两个事务性操作。后者当然要比前者复杂,但由于包含了完整的交易流信息,因此可以更好地进行验证、追溯、分析和优化,其价值要比前者高得多。
理解了这一点,我们就会明白,在未来的大多数通证经济应用场景下,交易(exchange)将成为最普遍的基本操作。在通证经济里,购物是交易,阅读是交易,发表文章是交易,投票是交易,可能说句话都是交易。我们甚至可以把本来是支付的操作升级为交易—用户的支付行为,实际上是用一笔数字资产交换一个数字收据。这样一来,我们也可以认为,未来的世界,交易将是泛在(pervasive)的。
然而,看看我们现在的区块链和通证技术圈子,交易这一操作只集中出现在一个场所中,那就是交易所。而在其他大部分区块链和通证经济应用中,都回避了双向的 exchange,而钟情于单向的 transfer/pay。在这样的架构下,从区块链上你只能看到交易的一半,看不到另一半。这显然不能被视为通证经济的高级状态。
我在这里大胆猜测,未来在每一个区块链和通证经济应用当中,都需要有交易系统的功能,或者内置,或者外包,或者服务化,总之,交易系统将无所不在,集合竞价的交易模式将无所不在。也就是说,未来当通证经济发展到成熟阶段的时候,交易系统将不独为某一类特别组织所有,而是泛在的基础设施。交易系统技术将成为与 Web 后端一样被广泛研究的技术,数以百万计的开发者将会在这个领域工作。因此,学习和研究交易系统技术,对于今天的技术人员来说,绝对是最具价值的投资之一。
遗憾的是,交易系统开发绝非易事,不但涉及面广,而且在性能、并发、安全等核心技术上有极大的挑战。更糟糕的是,市面上探讨交易系统开发技术的资料十分稀缺,高质量的内容更加少见。
由井通生态团队编写的这本开发指南,几乎是目前市面上唯一一本从开发技术层面阐述交易系统的图书,可谓本类作品的一个起点。可贵的是,这个起点相当高,这本书不但内容丰富,覆盖了区块链交易系统的各个方面,而且特别“实诚”,可谓“刀刀见肉”,章章都是实料。我本人并非这个领域的专家,但是翻读此书,对于交易系统的认识有了很大的提升。如果读者是一位有经验的开发者,那么这本书应该可以引导他走入区块链交易系统开发的大门。
很愿意向技术圈的朋友推荐这本书,我相信这本书会在中国区块链和通证经济的发展进程中留下自己的印记。
孟岩
前言
在区块链问世的第 10 个年头,区块链和区块链技术已经越来越多地出现在我们的生活中,越来越深入地改变着我们的价值传递方式。区块链交易系统可以为价值传递提供安全、可靠、便捷的活动场所,因此也逐渐受到人们的青睐。而如果没有系统地研究学习过区块链,则很容易被各种抽象概念和复杂的设计理念搞得云里雾里摸不着头脑。若要想设计搭建一个属于自己的区块链交易系统,更是无从下手。本书使用通俗易懂的语言,介绍了区块链的基本概念、设计思想,并从技术的角度详细介绍了区块链交易系统应有的功能架构及工作原理,目的就是揭开区块链交易系统的神秘面纱,填坑清障,指引前行,让人们能够张开双臂轻松地拥抱区块链技术,享受区块链交易系统带来的惊喜与成就感。
本书共分 7 章,第 1~2 章主要介绍区块链及数字货币的基本概念,以及各种公有链的API 接口;第 3~5 章主要介绍区块链交易系统的分类架构及功能;第 6 章主要介绍区块链交易系统面临的问题及演进方向;第 7 章对全书做了总结。王春、王万云、王亚伟、魏庆伟、潘子鑫、郝运锴、张庆娜等协助本书作者完成了大量的资料收集和整理工作,计松辰对全书内容进行了统稿。
本书是作者多年从事区块链交易系统产品研发实践经验的概括和总结,实用性和技术指导性较强,可供从事区块链产品研发和区块链交易系统研发的人员参考研究,也可供希望了解区块链技术或希望投身于区块链交易系统开发的技术人员学习。本书同样适用于传统行业、互联网金融等一些非区块链行业中从事电子商务、在线购物等其他交易系统产品研发、测试、维护等的技术人员参考学习。
在本书出版之际,衷心感谢张少华、李孟杰、郭媛媛、王春、王栋、韩金祺、赵树理等与我们分享了运营实践、产品架构设计等多个层面的丰富经验,并为本书的编写提出了非常宝贵的意见和建议;感谢在本书编写过程中给予我们大力支持和帮助的各界人士;感谢电子工业出版社的大力支持。在本书编写过程中参考了大量的文献资料,对这些文献资料的作者表示真诚的谢意。
由于水平有限,书中难免出现纰漏和不妥之处,敬请读者朋友们批评指正。
第1章 区块链交易基础 1
1.1 区块链概述 1
1.1.1 区块链的定义 1
1.1.2 区块链的核心原理 3
1.1.3 区块链的特性 4
1.2 区块链分类 6
1.2.1 公有链 6
1.2.2 私有链 7
1.2.3 联盟链 7
1.2.4 其他分类方式 8
1.3 数字货币 8
1.3.1 什么是数字货币 8
1.3.2 数字货币与法币的不同 8
1.3.3 数字货币的产生和发展 9
1.4 数字货币交易 11
1.4.1 数字货币交易的特点 .11
1.4.2 数字货币成交的基本原则 11
1.5 区块链交易系统 12
1.5.1 区块链交易系统的特点 12
1.5.2 区块链交易系统中常见的专业名词 13
.1.6 本章小结 14
第 2 章 公有链及其 API 接口 15
2.1 BTC 15
2.1.1 BTC 公有链的特点 15
2.1.2 BTC 公有链 API 接口 15
2.2 ETH 22
2.2.1 ETH 公有链的特点 22
2.2.2 ETH 公有链 API 接口 23
2.3 SWT 35
2.3.1 SWT 公有链的特点 35
2.3.2 SWT 公有链 API 接口 35
2.4 MOAC 42
2.4.1 MOAC 公有链的特点 42
2.4.2 MOAC 公有链 API 接口 42
2.5 EOS 47
2.5.1 EOS 公有链的特点 47
2.5.2 EOS 公有链 API 接口 48
2.6 本章小结 52
第 3 章 交易系统架构 53
3.1 系统概述 53
3.1.1 背景 53
3.1.2 系统目标 54
3.1.3 设计理念 54
3.2 业务功能 60
3.2.1 功能架构 61
3.2.2 功能模块 62
3.2.3 系统流程图 63
3.2.4 业务流程 64
3.3 系统模块 67
3.3.1 服务熔断 67
3.3.2 风控服务 67
3.3.3 数据库设计 68
3.3.4 组网部署结构设计 68
3.4 技术选型 70
3.4.1 ZooKeeper 选型 70
3.4.2 Dubbo 选型 73
3.4.3 中间件选型 81
3.4.4 Redis 83
3.4.5 数据库 84
3.4.6 MyBatis 87
3.4.7 Druid 90
3.4.8 日志收集 91
3.4.9 数据同步 93
3.4.10 数据分析 94
3.4.11 实时计算 95
3.4.12 实时推送 97
3.5 本章小结 98
第 4 章 交易系统功能 99
4.1 前台功能 99
4.1.1 交易 99
4.1.2 财务中心 118
4.1.3 个人中心 143
4.1.4 服务中心 161
4.2 后台管理概述 164
4.2.1 用户管理 167
4.2.2 交易管理 178
4.2.3 财务管理 211
4.2.4 运营推广 236
4.2.5 系统监控及预警 238
4.3 多语言 249
4.3.1 多语言的目的 249
4.3.2 多语言网站实现方案 250
4.4 软件安全测试 255
4.4.1 安全测试基本概念 255
4.4.2 安全测试的目的 256
4.4.3 安全测试理论 256
4.4.4 安全测试与功能测试的区别 257
4.4.5 安全测试与渗透测试的区别 257
4.4.6 安全测试工具介绍 257
4.5 系统运维 263
4.5.1 平台的数据分类 264
4.5.2 DevOps 264
4.5.3 持续集成、持续交付、持续部署 266
4.6 本章小结 277
第 5 章 中心化区块链交易系统 278
5.1 中心化区块链交易系统的特点 278
5.1.1 中心化区块链交易系统的机制 278
5.1.2 中心化区块链交易系统的 gas 耗费 280
5.1.3 中心化区块链交易系统的优劣势 281
5.2 去中心化区块链交易系统的特点 283
5.2.1 去中心化区块链交易系统的机制 283
5.2.2 去中心化区块链交易系统的 gas 耗费 285
5.2.3 去中心化区块链交易系统的优劣势 286
5.3 本章小结 287
第 6 章 交易系统的演进 288
6.1 去中心化 288
6.1.1 中心化交易系统 289
6.1.2 去中心化交易系统 292
6.2 证券化 294
6.3 本章小结 295
第 7 章 总结 296
7.1 完美支持各种链 296
7.2 稳定、高可用的系统 298
7.3 交易系统功能齐全 298