web
- 全新UI版面
- 支持49国语言
- 支持54种货币汇率
- 全新K线组件
- 等等等各种,可以自己对比着老版的看看。
后端
- 系统性能提升(基础软件优化)
- 系统稳定性提升(完善服务治理、链路监控、网关路由、负载均衡等)
- 撮合引擎升级,支持横向扩展(当前系统唯一性能瓶颈所在)
- 基础软件版本升级(SpringCloud、MySQL、Kafka、Redis以及Maven依赖等)
- 统一配置中心,降低配置难度(计划将Eureka变更为Nacos)
- 支持Docker及K8S容器编排部署方式
- 支持Jekins持续集成
- 设计全新交易所UI,提升用户体验&避免撞脸
体验地址
特色
- 特色1: 基于内存撮合引擎,与传统基于数据库撮合更快特色2: 前后端分离,基于Token的Api授权机制
- 特色3: 基于SpringCloud微服务架构,扩展更容易
- 特色4: MySQL、MongoDB、Redis多种数据存储方式,只为更快
- 特色5: Kafka发布订阅消息队列,让订单更快流转
- 特色6: 主流币种对接区块链接口齐全,开箱即用
- 特色7: 冷热钱包分离,两种提现方式,保证安全
- 特色8: 机器人系统,同步行情,维护深度,防止搬砖
- 特色9: 原生App,Java和ObjectC提供原生体验
- 特色10: 交易所设计者提供技术支持,部署+二开无忧
- 特色11: 支持添加自定义平台币及其他币种
介绍
本项目是基于Java(SpringCloud)开发的比特币交易所 | BTC交易所 | ETH交易所 | 数字货币交易所 | 交易平台 | 撮合交易引擎。
本项目基于SpringCloud微服务开发,可用来搭建和二次开发数字货币交易所,有完整的系统组成部分。
- 撮合交易引擎
- 后台管理(后端+前端)
- 前台(交易页面、活动页面、个人中心等)
- 原生安卓APP源码
- 原生苹果APP源码
- 币种钱包RPC源码
架构图
整体架构
逻辑架构
部署架构
撮合交易引擎
本系统对交易队列采用内存撮合的方式进行,以Kafka做撮合订单信息传输,MongoDB持久化订单成交明细,MySQL记录订单总体成交。
其中01_Framework/Exchange项目主要负责内存撮合,01_Framework/Market项目主要负责订单成交持久化、行情生成、行情推送等服务,包括:
- K线数据,间隔分别为:1分钟、5分钟、15分钟、30分钟、1小时、1天、1周、1月
- 所有交易对的市场深度(market depth)数据
- 所有交易对的最新价格
- 最近成交的交易对
限价&市价订单处理逻辑
技术构成
- 后端:Spring、SpringMVC、SpringData、SpringCloud、SpringBoot
- 数据库:Mysql、Mongodb
- 其他:redis、kafka、阿里云OSS、腾讯防水校验
- 前端:Vue、iView、less
区块链钱包对接
提供两种钱包对接方式,一种是自建节点+区块链浏览器的方式,另一种是第三方钱包对接方式
本项目使用的钱包操作方案也是不同的,也尽可能的为大家展示了不同用法:
- 如BTC、USDT,使用的自建全节点,现在差不多需要300G硬盘空间;
- 如ETH,使用的是自建轻节点(参考文章),因为全节点需要硬盘空间太大;
- 如BCH、BSV等,使用的是第三方区块链浏览器获取数据;
- 如XRP,官方就已经提供了访问区块数据的接口(Ripple API GitHub地址)