CoinExchange开源数字货币合约交易所,基于Java开发的比特币交易所|比特币交易所 | ETH 交易所 |数字货币兑换|交易平台|匹配交易引擎。本项目有完整配套的交易引擎源码,后台管理(后台+前端),前端(交易页面,活动页面,个人中心等)比特币交易平台源码,安卓APP源码,苹果APP源码代码,以及货币钱包RPC源代码。开源项目仅供学习参考,请勿用于非法用途。
特点:
1、基于内存匹配引擎,比传统数据库匹配更快
2、前后端分离,基于Token的Api授权机制
3、基于SpringCloud微服务架构,扩展更容易
4、MySQL、MongoDB、Redis多种数据存储方式,只为更快
5、Kafka 发布订阅消息队列,让订单流的更快
6、主流币种对接区块链接端口完成,开箱即可使用
7、冷热钱包分离,两种提现方式确保安全
8、Robot 系统,同步行情,保持深度,防止搬砖
9、Native App、Java 和 ObjectC 提供原生体验
10、Exchange设计师提供技术支持、部署+二次开无忧
11、支持添加自定义平台币种和其他币种
使用教程:
准备mysql数据库并创建一个名为“xxxx”的数据库
准备redis缓存数据库
准备Kafka流媒体环境(先配置运行zookper,再配置运行kafka)
准备mongodb数据库环境,创建用户admin、xxxx,并创建bitrade数据库
准备阿里云OSS(修改项目中需要配置的)
准备nginx并修改配置文件(可选,正式启动需要配置)
修改框架代码中的配置文件,准备环境配置参数
编译生成jar可执行文件
运行 cloud.jar(微服务注册中心)
运行exchange.jar(匹配交易引擎)
运行market.jar(市场中心,需要等待Exchange.jar完全启动)
运行 ucenter.jar(用户中心)
运行其他模块(wallet.jar、chat.jar、otc-api.jar等)
打开mysql,在框架代码中导入sql文件夹下的xxxxxxx.sql文件。注意,如果触发器sql报错,需要在钱包表中添加触发器
运行前端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交易对发行前,使用官方5 BTC进行活动,BTC根据发行的USDT数量平分)用户存款和抵押)
6-3.恐慌抢购模式(如ZZZ/USDT交易对发行前,ZZZ币的价格为5USDT,官方发行价为0.5USDT,那么这种模式可以使用)
6-4.控制板共享方式(如6-3,但均匀分布)
6-5.矿机活动模式(支持用户抵押一定数量的货币,官方承诺每月返还一定数量的货币)
7.红包功能(支持一定数量币种的平台和官方红包,该功能适合用户裂变)
8. 用户资产管理、流量管理、委托管理、实名管理等各种基础管理
核心功能描述(管理端)
1.汇总(查看平台运营数据比特币交易平台源码,包括交易量、注册人数、充值等)
2.会员管理(会员信息管理、会员实名审核、会员实名管理、会员余额管理、会员充值/冻结余额等)
3.邀请管理(会员邀请信息、会员邀请排名管理)
4.CTC管理(CTC订单管理、流程管理、acceptor管理)
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
动物园管理员