|
CoinExchange开源数字货币合约交易所v1.0 基于Java开发的比特币交易所+BTC+ETH+数字货币
CoinExchange开源数字货币合约交易所,基于 Java 开发的比特币交易所 | BTC 交易所 | ETH 交易所 | 数字货币交易所 | 交易平台 | 撮合交易引擎。本项目有完整的撮合交易引擎源码、后台管理(后端+前端)、前台(交易页面、活动页面、个人中心等)、安卓 APP 源码、苹果 APP 源码、币种钱包 RPC 源码。开源项目仅供学习参考,请勿用于非法用途。
特色:
1、基于内存撮合引擎,与传统基于数据库撮合更快
2、前后端分离,基于 Token 的 Api 授权机制
3、基于 SpringCloud 微服务架构,扩展更容易
4、MySQL、MongoDB、Redis 多种数据存储方式,只为更快
5、Kafka 发布订阅消息队列,让订单更快流转
6、主流币种对接区块链接口齐全,开箱即用
7、冷热钱包分离,两种提现方式,保证安全
8、机器人系统,同步行情,维护深度,防止搬砖
9、原生 App,Java 和 ObjectC 提供原生体验
10、交易所设计者提供技术支持,部署+二开无忧
11、支持添加自定义平台币及其他币种
使用教程:
准备 mysql 数据库,创建名称为“xxxx”的数据库
准备 redis 缓存数据库
准备 kafka 流式处理环境(先配置运行 zookper,接着配置运行 kafka)
准备 mongodb 数据库环境,创建用户 admin、xxxx,创建 bitrade 数据库
准备阿里云 OSS(修改项目中需要配置的地方)
准备 nginx,修改配置文件(可选,正式上线需配置)
修改 framework 代码中的配置文件为准备环境配置参数
编译生成 jar 可执行文件
运行 cloud.jar(微服务注册中心)
运行 exchange.jar(撮合交易引擎)
运行 market.jar(行情中心,需要等待 Exchange.jar 完全启动)
运行 ucenter.jar(用户中心)
运行其他模块(wallet.jar、chat.jar、otc-api.jar 等)
打开 mysql,导入 framework 代码中的 sql 文件夹中 xxxxxxx.sql 文件,注意,trigger 的 sql 如果报错,需要针对 wallet 表添加 trigger
运行前端 vue 项目
运行后端 vue 项目
运行钱包 RPC
运行自动交易机器人程序(本部分代码未上传,但不影响)
运行 Admin 项目(该服务并不依赖其他服务,因此也可只运行此项目,直接查看后台)
关于数据库脚本的问题
有朋友反映没有完整的 SQL 文件,这是因为编译成功的 Jar,首次运行后会自动将 Entity 映射成数据库结构,项目中的 SQL 只是完成一些 Springcloud 无法完成的数据库结构。 数据库自动生成配置位于 application.properties
配置文件:
#jpa
spring.jpa.show-sql=true
spring.data.jpa.repositories.enabled=true
spring.jpa.hibernate.ddl-auto=update
spring.jpa.hibernate.ddl-auto=update 这个配置会自动更新数据库结构。
核心功能说明(用户端)
1. 注册/登录/实名认证/审核(目前仅支持手机,二次开发可加入邮件,很简单)
2. Banner/公告/帮助/定制页面(Banner 支持 PC 与 APP 分开设置,帮助支持各种分类模式)
3. 法币 C2C 交易/法币 OTC 交易(支持两种法币模式,项目早期可由平台承担 C2C 法币兑换,后期可开放 OTC 交易)
4. 币币交易(支持限价委托、市价委托,二次开发可加入其它委托模式)
5. 邀请注册/推广合伙人(支持对邀请推广人数、佣金进行以日、周、月的排行统计)
6. 创新实验室(该部分支持功能较多,分项说明。另,APP 暂不全部支持该功能)
6-1. 首发抢购活动模式(如发行新交易对时,可对交易对设置一定数量的币种进行抢购)
6-2. 首发分摊活动模式(如发行 BTC/USDT 交易对之前,官方拿出 5BTC 做活动,根据用户充值抵押的 USDT 多少进行均分 BTC)
6-3. 控盘抢购模式(如发行 ZZZ/USDT 交易对之前,ZZZ 币种价格为 5USDT,官方发行活动价为 0.5USDT,则可使用该模式)
6-4. 控盘均摊模式(如 6-3,只不过平均分配)
6-5. 矿机活动模式(支持用户抵押一定数量的币种,由官方承诺每月返还一定数量的币种)
7. 红包功能(支持平台及官方发放一定数量币种的红包,此功能适合用户裂变)
8. 用户资产管理、流水管理、委托管理、实名管理等各种基础管理
核心功能说明(管理端)
1. 概要(查看平台运行数据,包含交易额、注册人数、充值等)
2. 会员管理(会员信息管理、会员实名审核、会员实名管理、会员余额管理、会员充值/冻结余额等)
3. 邀请管理(会员邀请信息、会员邀请排行管理)
4. CTC 管理(CTC 订单管理、流水管理、承兑商管理)
5. 内容管理(PC 广告管理、APP 广告管理、公告管理、帮助管理)
6. 财务管理(充值提现管理、财务流水管理、对账管理、币种钱包余额管理)
7. 币币管理(新建交易对、管理交易对、新建交易机器人、设置交易机器人参数、设置行情引擎/交易引擎、撤销所有委托)
8. 活动管理(新建活动、矿机认购、抢购/瓜分管理)
9. 红包管理(平台红包管理、用户红包管理)
10. 系统管理(角色管理、部门管理、用户管理、权限管理、币种管理、RPC 管理、版本管理)
11. 保证金管理(此功能设计时考虑到,但实际运营期间未使用到)
12. OTC 管理(广告管理、订单管理、OTC 币种管理、退保管理等,此功能未获得实际运营检验)
系统运行环境:
Centos 6.8
MySQL 5.5.16
Redis-x64-3.2.100
Mongodb 3.6.13
kafka_2.11-2.2.1
nginx-1.16.0
JRE 8u241
JDK 1.8
Vue
Zookeeper
|
|