本項目是基於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發行的數字貨幣的操做方式幾乎同樣。因此,基本上當你花時間弄懂了一個,就懂了一堆幣種。
本項目使用的錢包操做方案也是不一樣的,也儘量的爲你們展現了不一樣用法:
通常而言,當交易所來往資金量不大的時候,你能夠本身摸索,可是當交易所資金量大了之後,若是你對本身操做錢包不太放心,你也可使用第三方的錢包服務,固然,這須要你與錢包服務商進行談判,付個年費什麼的。
下圖是用戶充值監控邏輯的簡要說明圖,簡單看看就行: