1. 首頁
    2. java token(基于Java開發的比特幣區塊鏈 BTC ETH 數字貨幣交易所源碼)

    java token(基于Java開發的比特幣區塊鏈 BTC ETH 數字貨幣交易所源碼)

    先轉發后關注 私信“交易所”即可下載源碼

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

    簡要介紹

    本項目是基于Java(SpringCloud)開發的比特幣交易所 | BTC交易所 | ETH交易所 | 數字貨幣交易所 | 交易平臺 | 撮合交易引擎。本項目基于SpringCloud微服務開發,可用來搭建和二次開發數字貨幣交易所,有完整的系統組成部分。

    撮合交易引擎(未開源)

    后臺管理(后端+前端)

    前臺(交易頁面、活動頁面、個人中心等)

    原生安卓APP源碼(未開源)

    原生蘋果APP源碼(未開源)

    幣種錢包RPC源碼

    系統架構概要

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

    整體架構

    邏輯架構

    部署架構

    依賴關系

    ==============================================

    系統運行環境

    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

    生產環境建議配置

    文件目錄說明

    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

    └─———bitcoin

    └─———bsv

    └─———btm

    └─———eos

    └─———erc-eusdt

    └─———erc-token(可對接各種ERC20幣種)

    └─———eth

    └─———ltc

    └─———usdt

    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

    運行自動交易機器人程序(本部分代碼未上傳,但不影響)

    運行Admin項目(該服務并不依賴其他服務,因此也可只運行此項目,直接查看后臺)

    技術支持

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

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

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

    注意事項

    當內存不足時,在linux控制臺輸入top可以查看java進程占用了大量內存(一個java進程占用1G以上),因為有很多jar包需要運行,所以需要控制某些jar包使用的內存,你可選擇幾個不怎么耗費資源的項目,如下:

    java -jar -Xms128m -Xmx128m -Xmn200m -Xss256k  admin-api.jarjava -jar -Xms512m -Xmx512m -Xmn200m -Xss256k  cloud.jarjava -jar -Xms512m -Xmx512m -Xmn200m -Xss256k  wallet.jar

    關于郵件&短信

    本系統支持郵件、短信發送系統運營狀態

    系統通知/報警支持:用戶注冊、用戶認證、用戶充值/提現、幣種RPC運行狀態、系統資源使用監控等24種監控

    關于數據庫腳本的問題

    有朋友反映沒有完整的SQL文件,這是因為編譯成功的Jar,首次運行后會自動將Entity映射成數據庫結構,項目中的SQL只是完成一些Springcloud無法完成的數據庫結構。 數據庫自動生成配置位于application.properties配置文件:

    #jpaspring.jpa.show-sql=truespring.data.jpa.repositories.enabled=truespring.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幣種管理、退保管理等,此功能未獲得實際運營檢驗)

    關于區塊鏈錢包對接

    本項目提供兩種錢包對接方式,一種是自建節點+區塊鏈瀏覽器的方式,另一種是第三方錢包對接方式。如果你想使用自建節點或區塊鏈瀏覽器,你直接使用00_framework中的代碼進行編譯即可。如果你想使用第三方錢包對接,你可以下載07_Uduncloud文件夾的優盾錢包的項目文件,把他們復制到00_framework中即可。

    當你拿到代碼以后,對本項目進行調試運行期間,可不連接區塊鏈節點,這并不會有太大的影響;即使不連接區塊鏈節點,你也可以部署其一個具有撮合交易功能的交易平臺(只是用戶無法通過錢包地址充值而已)。

    當你漸漸熟悉整套系統,同時對區塊鏈運行原理、節點搭建、區塊鏈瀏覽器有一定基礎儲備后,就可以開始對 01_wallet_rpc 文件夾下的項目進行研究。每個幣種對應不同的數據訪問方式,大部分區塊鏈項目的錢包操作方式是相同的或十分相似的,比如BTC、LTC、BCH、BSV、BCD等比特幣衍生幣,其API操作方式幾乎一樣;再比如ETH,當你掌握一個合約幣種的操作,其他基于ETH發行的數字貨幣的操作方式幾乎一樣。所以,基本上當你花時間弄懂了一個,就懂了一堆幣種。

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

    如BTC、USDT,使用的自建全節點,現在差不多需要300G硬盤空間;

    如ETH,使用的是自建輕節點(參考文章),因為全節點需要硬盤空間太大;

    如BCH、BSV等,使用的是第三方區塊鏈瀏覽器獲取數據;

    如XRP,官方就已經提供了訪問區塊數據的接口(Ripple API GitHub地址)

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

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

    系統展示(PC前端)

    系統運行展示(APP前端)

    手機Web端部分頁面

    系統運行展示(后端)

    APP下載圖片示例

    先轉發后關注 私信“交易所”即可下載源碼

    相關文章
    草莓视频