首頁>科技>

簡要介紹

本專案是基於Java開發的比特幣交易所 | BTC交易所 | ETH交易所 | 數字貨幣交易所 | 交易平臺 | 撮合交易引擎。本專案基於SpringCloud微服務開發,可用來搭建和二次開發數字貨幣交易所,有完整的撮合交易引擎原始碼、後臺管理(後端+前端)、前臺(交易頁面、活動頁面、個人中心等)、原生安卓APP原始碼(有償提供)、原生蘋果APP原始碼(有償提供)、幣種錢包RPC原始碼。

系統架構概要

隨便畫的一個草圖,湊合看吧。。。

系統演示視訊

PC前端(使用者Web端):https://gitee.com/cexchange/CoinExchange/attach_files

手機APP端:https://gitee.com/cexchange/CoinExchange/attach_files

管理後臺:https://gitee.com/cexchange/CoinExchange/attach_files

開發參考

開發參考文件:https://gitee.com/cexchange/CoinExchange/blob/master/DEVELOP.md

管理後臺截圖:https://gitee.com/cexchange/CoinExchange/tree/master/09_DOC/管理後臺截圖

系統執行環境Centos 6.8MySQL 5.5.16Redis-x64-3.2.100Mongodb 3.6.13kafka_2.11-2.2.1nginx-1.16.0JRE 8u241JDK 1.8VueZookeeper檔案目錄說明

00_framework

└─———admin 後臺管理API

└─———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

使用教程準備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執行自動交易機器人程式(本部分程式碼未上傳,但不影響)技術支援

本數字貨幣交易系統系我所在公司為交易所開發的專案,該交易所因團隊原因已停止運營,我司也已於2月解散。因我參與專案時,負責整體研發管理、架構設計以及客戶對接,所以掌握所有程式碼。

本系統在功能使用上有一些需要特別注意的地方,例如新建交易對以後的其他操作,操作不當會引起資料紊亂的錯誤出現。

本人可提供有償技術幫助與使用培訓指導!

聯絡QQ:877070886

關於移動端原始碼與交易機器人原始碼

Android原始碼、IOS原始碼、交易機器人原始碼有償提供,需要的加QQ:877070886

Android原始碼:10000(不包除錯安裝)、50000(包除錯安裝)

IOS原始碼:15000(不包除錯安裝)、80000(包除錯安裝)

交易機器人原始碼:10000(不包除錯安裝)、30000(包除錯安裝)

移動端原始碼基本上高手很容易除錯安裝成功,如果不太會的,可以選擇讓我幫助。

注意事項

當記憶體不足時,在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

關於郵件&簡訊本系統支援郵件、簡訊傳送系統運營狀態系統通知/報警支援:使用者註冊、使用者認證、使用者充值/提現、幣種RPC執行狀態、系統資源使用監控等24種監控關於資料庫指令碼的問題

有朋友反映沒有完整的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發行的數字貨幣的操作方式幾乎一樣。所以,基本上當你花時間弄懂了一個,就懂了一堆幣種。

本專案使用的錢包操作方案也是不同的,也儘可能的為大家展示了不同用法:

如BTC、USDT,使用的自建全節點,現在差不多需要300G硬碟空間;如ETH,使用的是自建輕節點(參考文章),因為全節點需要硬碟空間太大;如BCH、BSV等,使用的是第三方區塊鏈瀏覽器獲取資料;如XRP,官方就已經提供了訪問區塊資料的介面(Ripple API GitHub地址)

一般而言,當交易所來往資金量不大的時候,你可以自己摸索,但是當交易所資金量大了以後,如果你對自己操作錢包不太放心,你也可以使用第三方的錢包服務,當然,這需要你與錢包服務商進行談判,付個年費什麼的。

下圖是使用者充值監控邏輯的簡要說明圖,簡單看看就行:

系統展示(PC前端)

最新評論
  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • 美國打壓下,華為HMS生態勝算有多大?