源码99-找源码搭建系统网络技术支持、就来源码99不跑路工作室(www.ym99.cc)

全部分类
全部分类

加密货币交易所 / 货币交易所/ 区块链交易盘开发/ 数字币交易所系统建设制作平台出租


开发各种数字货币交易所,比特币交易所 | BTC 交易所 | ETH 交易所 | 数字货币交易所 | 交易平台 | 撮合交易引擎等等

可用于搭建和二次开发数字货币交易所,系统组成部分。

  • 撮合交易引擎

  • 后台管理(扶手+前端)

  • 前台(交易页面、活动页面、个人中心等)


个人电脑

应用程序

应用程序

系统架构概要

随便画的几个草图,凑合看吧。。。

整体架构

整体架构

逻辑建筑

逻辑建筑

部署建筑

部署建筑

依赖关系

依赖关系


关于服务器配置与部署

如果你想在自己的电脑或者云服务器上搭建一套交换机系统,我这里准备了一些基本的配置手册,当然,在linux/unix上安装软件并不是一件简单的事,你需要有一定的linux基础和命令行功底,同时还要有遇到问题解决问题的勇气和耐心,祝你顺利!


关于SpringCloud

Spring Cloud 是一系列框架的集群集合。它利用 Spring Boot 的开发便利性简化了整个系统基础设施的开发,如服务发现注册、配置中心、消息队列、负载均衡、端点、数据监控等等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装,掉掉了复杂的配置和实现原理,最终给开发者留下了一套简单易懂、易部署和易维护的系统开发工具包。 一般来说,一个完整的SpringCloud框架应该如下图所示:

SpringCloud 框架

如果对SpringCloud尚不熟悉,可以先简单学习一下SpringCloud的相关教程,这样再回来看本项目,会更容易上手。提醒一下,因为Springcloud框架图示是完整的架构,在开发的时候,我们会适当的一些内容,从而使开发和部署更加快速,所以有一些进入的地方。

关于撮合交易引擎

本系统对交易队列采用内存撮合的方式进行,以Kafka做撮合订单信息传输,MongoDB持久化订单成交明细,MySQL记录订单总体成交。其中01_Framework/Exchange项目主要负责内存撮合,01_Framework/Market项目主要负责订单成交持久化、行情生成、行情主动等服务,包括:

  • K线数据,间隔分别为:1分钟、5分钟、15分钟、30分钟、1、1天、1周、1月

  • 所有交易对的市场深度(market Depth)数据

  • 所有交易均针对的最新价格

  • 交易对

内存撮合交易支持的模式

  • 限价订单与限价订单撮合

  • 市价订单与限价订单撮合

  • 限价订单与市价订单撮合

  • 市价订单与市价订单撮合

限价&市价订单处理逻辑

限价&市价订单处理逻辑 注意:这个图很久以前的了,最新代码中的逻辑更复杂了

撮合引擎支持的其他功能

除了普通的限价与市价撮合交易功能外,本系统的撮合交易引擎还引入了活动成交模式,通过设置交易对(如:BTC/USDT)的开始交易时间、初始发行量、初始发行价、活动模式等参数,可以制定出丰富的撮合交易模式,从而满足不同的撮合交易模式。

举例说明

交易所预计于2020年8月8日12时00分00秒上线对AAA/USDT进行交易,但是作为一个新上线的币种,没有活动怎么能行呢?项目方或交易所决定了10000个AAA以0.0001USDT(市场行情价:0.0005)的价格让大家抢购。本系统支持对此类活动的设置。

另外,如果项目方或交易所决定以0.0001USDT的价格发行10000个AAA,不希望大家抢购,而是希望所有价值USDT的用户能够平均瓜分10000个AAA,本系统也支持此类活动的设置。

总结

总之,本系统支持高度自定义的撮合模式,同时你也可以开发出你自己想要的撮合交易模式,只需要通过修改交换项目中的撮合逻辑就可以。


侧栏导航
展开 收缩