本项目是基于Java开发的比特币交易所 | BTC交易所 | ETH交易所 | 数字货币交易所 | 交易平台 | 撮合交易引擎。本项目基于SpringCloud微服务开发,可用来搭建和二次开发数字货币交易所,有完整的撮合交易引擎源码、后台管理(后端+前端)、前台(交易页面、活动页面、我的中心等)、安卓APP源码(有偿提供)、苹果APP源码(有偿提供)、币种钱包RPC源码。html
随便画的一个草图,凑合看吧。。。 前端
PC前端(用户Web端):https://gitee.com/cexchange/CoinExchange/attach_filesvue
手机APP端:https://gitee.com/cexchange/CoinExchange/attach_filesjava
管理后台:https://gitee.com/cexchange/CoinExchange/attach_filesmysql
开源地址:https://gitee.com/cexchange/CoinExchangelinux
开发参考文档:https://gitee.com/cexchange/CoinExchange/blob/master/DEVELOP.mdnginx
管理后台截图:https://gitee.com/cexchange/CoinExchange/tree/master/09_DOC/管理后台截图git
00_frameworkgithub
└─———admin 后台管理APIweb
└─———bitrade-job 任务管理
└─———chat OTC聊天
└─———cloud SpringCloud微服务管理
└─———core 核心
└─———exchange 撮合交易引擎
└─———exchange-api 撮合交易API
└─———exchange-core 撮合交易核心
└─———jar 第三方类库
└─———market 市场行情API、K线生成
└─———otc-api OTC交易API(如无需otc功能可不启动)
└─———otc-core OTC核心
└─———sql SQL脚本
└─———ucenter-api 用户我的中心API
└─———wallet 钱包资产管理,负责与RPC对接
01_wallet_rpc
└─———act
└─———bch
└─———bitcoin
└─———bsv
└─———btm
└─———ect
└─———eos
└─———erc-eusdt
└─———erc-token
└─———eth
└─———eth-support
└─———lib
└─———ltc
└─———rpc-common
└─———usdt
└─———xmr
02_App_Android
03_App_IOS
04_Web_Admin
05_Web_Front
本数字货币交易系统系我所在公司为交易所开发的项目,该交易所因团队缘由已中止运营,我司也已于2月解散。因我参与项目时,负责总体研发管理、架构设计以及客户对接,因此掌握全部代码。
本系统在功能使用上有一些须要特别注意的地方,例如新建交易对之后的其余操做,操做不当会引发数据紊乱的错误出现。
本人可提供有偿技术帮助与使用培训指导!
联系QQ:877070886
当内存不足时,在linux控制台输入top能够查看java进程占用了大量内存(一个java进程占用1G以上),由于有不少jar包须要运行,因此须要控制某些jar包使用的内存,你可选择几个不怎么耗费资源的项目,以下:
java -jar -Xms128m -Xmx128m -Xmn200m -Xss256k admin-api.jar
java -jar -Xms512m -Xmx512m -Xmn200m -Xss256k cloud.jar
java -jar -Xms512m -Xmx512m -Xmn200m -Xss256k wallet.jar
有朋友反映没有完整的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 这个配置会自动更新数据库结构。
注册/登陆/实名认证/审核(目前仅支持手机,二次开发可加入邮件,很简单)
Banner/公告/帮助/定制页面(Banner支持PC与APP分开设置,帮助支持各类分类模式)
法币C2C交易/法币OTC交易(支持两种法币模式,项目早期可由平台承担C2C法币兑换,后期可开放OTC交易)
币币交易(支持限价委托、市价委托,二次开发可加入其它委托模式)
邀请注册/推广合伙人(支持对邀请推广人数、佣金进行以日、周、月的排行统计)
创新实验室(该部分支持功能较多,分项说明。另,APP暂不所有支持该功能)
6-1. 首发抢购活动模式(如发行新交易对时,可对交易对设置必定数量的币种进行抢购)
6-2. 首发分摊活动模式(如发行BTC/USDT交易对以前,官方拿出5BTC作活动,根据用户充值抵押的USDT多少进行均分BTC)
6-3. 控盘抢购模式(如发行ZZZ/USDT交易对以前,ZZZ币种价格为5USDT,官方发行活动价为0.5USDT,则可以使用该模式)
6-4. 控盘均摊模式(如6-3,只不过平均分配)
6-5. 矿机活动模式(支持用户抵押必定数量的币种,由官方承诺每个月返还必定数量的币种)
红包功能(支持平台及官方发放必定数量币种的红包,此功能适合用户裂变)
用户资产管理、流水管理、委托管理、实名管理等各类基础管理
概要(查看平台运行数据,包含交易额、注册人数、充值等)
会员管理(会员信息管理、会员实名审核、会员实名管理、会员余额管理、会员充值/冻结余额等)
邀请管理(会员邀请信息、会员邀请排行管理)
CTC管理(CTC订单管理、流水管理、承兑商管理)
内容管理(PC广告管理、APP广告管理、公告管理、帮助管理)
财务管理(充值提现管理、财务流水管理、对帐管理、币种钱包余额管理)
币币管理(新建交易对、管理交易对、新建交易机器人、设置交易机器人参数、设置行情引擎/交易引擎、撤销全部委托)
活动管理(新建活动、矿机认购、抢购/瓜分管理)
红包管理(平台红包管理、用户红包管理)
系统管理(角色管理、部门管理、用户管理、权限管理、币种管理、RPC管理、版本管理)
保证金管理(此功能设计时考虑到,但实际运营期间未使用到)
OTC管理(广告管理、订单管理、OTC币种管理、退保管理等,此功能未得到实际运营检验)
当你拿到代码之后,对本项目进行调试运行期间,可不链接区块链节点,这并不会有太大的影响;即便不链接区块链节点,你也能够部署其一个具备撮合交易功能的交易平台(只是用户没法经过钱包地址充值而已)。
当你渐渐熟悉整套系统,同时对区块链运行原理、节点搭建、区块链浏览器有必定基础储备后,就能够开始对 01_wallet_rpc 文件夹下的项目进行研究。每一个币种对应不一样的数据访问方式,大部分区块链项目的钱包操做方式是相同的或十分类似的,好比BTC、LTC、BCH、BSV、BCD等比特币衍生币,其API操做方式几乎同样;再好比ETH,当你掌握一个合约币种的操做,其余基于ETH发行的数字货币的操做方式几乎同样。因此,基本上当你花时间弄懂了一个,就懂了一堆币种。
本项目使用的钱包操做方案也是不一样的,也尽量的为你们展现了不一样用法:
通常而言,当交易所来往资金量不大的时候,你能够本身摸索,可是当交易所资金量大了之后,若是你对本身操做钱包不太放心,你也可使用第三方的钱包服务,固然,这须要你与钱包服务商进行谈判,付个年费什么的。
下图是用户充值监控逻辑的简要说明图,简单看看就行: