波場充提系統
- 寫在前面
- 提供的API接口(提供給邏輯服務直接調用)
-
- 1、位址建立 /tron/api/createAddress
- 2、TRX數量查詢 /tron/api/queryTrx
- 3、TRC10數量查詢 /tron/api/queryTrc10
- 4、TRC20數量查詢 /tron/api/queryTrc20
- 5、USDT數量查詢 /tron/api/queryUsdt
- 6、TRX轉賬 /tron/api/sendTrx
- 7、TRC10轉賬 /tron/api/sendTrc10
- 8、TRC20轉賬 /tron/api/sendTrc20
- 9、USDT轉賬 /tron/api/sendUsdt
- 10、交易成功狀态判斷 /tron/api/checkTransaction
- 代碼結構預覽 (後端)
- 管理系統示範
-
- 首頁資訊(檢視目前塊高&火币USDT價格)
- 充值交易清單
- 歸集異常清單
- 充值币種配置資料
- 系統運作資料
- API接口模拟使用
- 系統運作日志
-
- NILE網絡上進行的測試資料
- 在這裡插入圖檔描述 下面這個是用測試服代碼進行處理的(調用api接口,然後鍊上轉賬) 
- 寫在後面(示範網站)
寫在前面
本系統為Java + MySQL + Redis + Vue 開發的波場充提系統,不要求一定要搭建自己的私有節點(預設用官方節點,可以通過修改配置來切換到自己的私有節點),同時支援波場的各個測試網(預設為波場的主網,裡面有一份NILE測試網的配置)。包含了 波場歸集充值回調(trx/trc10/trc20版本整合) 中的所有功能點。
系統的功能點有:
1、TRX + TRC10 + TRC20 的查詢 / 轉賬 / 歸集
2、波場離線位址建立
3、火币USDT價格擷取
4、TRX + TRC10 + TRC20 的充值及交易回調
5、支援檢視曆史充值交易資訊
7、歸集失敗優化處理 + 回調失敗處理
8、币種資料支援背景配置(可以配置自己需要的TRC10 / TRC20 /TRX)
9、背景管理系統的賬号 & 權限管理
提供的API接口(提供給邏輯服務直接調用)
1、位址建立 /tron/api/createAddress

API代碼如下:
/**
* 建立位址
*
* @return
*/
@RequestMapping("/createAddress")
public WebResponse requestCreateAddress(@Validated @RequestBody RequestCreateTronAddress request) {
UTronAddress addr = addressService.createTronAddress(request);
return WebResponse.success(addr.getAddress());
}
2、TRX數量查詢 /tron/api/queryTrx
API代碼如下:
/**
* 查詢trx的數量
* @param request
* @return
*/
@PostMapping("/queryTrx")
public WebResponse requestQueryTrx(@Validated @RequestBody RequestQueryTrx request) throws IOException {
ResponseQueryTrx result = new ResponseQueryTrx();
BeanUtils.copyProperties(request,result);
result.setAmount(tronService.balanceOf(request.getAddress()));
return WebResponse.success(result);
}
3、TRC10數量查詢 /tron/api/queryTrc10
API代碼如下:
/**
* 查詢trc10的數量
* @param request
* @return
*/
@PostMapping("/queryTrc10")
public WebResponse requestQueryTrc10(@Validated @RequestBody RequestQueryTrc10 request) throws IOException {
ResponseQueryTrc10 result = new ResponseQueryTrc10();
result.setAddress(request.getAddress());
result.setTokenId(request.getTokenId());
result.setAmount(trc10Service.balanceOf(request.getTokenId(),request.getAddress()));
return WebResponse.success(result);
}
4、TRC20數量查詢 /tron/api/queryTrc20
API代碼如下:
/**
* 查詢trc10的數量
* @param request
* @return
*/
@PostMapping("/queryTrc20")
public WebResponse requestQueryTrc20(@Validated @RequestBody RequestQueryTrc20 request) throws IOException {
ResponseQueryTrc20 result = new ResponseQueryTrc20();
result.setContract(request.getContract());
result.setAddress(request.getAddress());
result.setAmount(trc20Service.balanceOf(request.getContract(),request.getAddress()));
return WebResponse.success(result);
}
5、USDT數量查詢 /tron/api/queryUsdt
API代碼如下
/**
* 查詢usdt的數量
* @param request
* @return
*/
@PostMapping("/queryUsdt")
public WebResponse requestQueryUSDT(@Validated @RequestBody RequestQueryUSDT request) throws IOException {
ResponseQueryUsdt result = new ResponseQueryUsdt();
result.setAddress(request.getAddress());
result.setAmount(usdtHandler.balanceOf(request.getAddress()));
return WebResponse.success(result);
}
6、TRX轉賬 /tron/api/sendTrx
API代碼如下
/**
* trx轉賬
* @param request
* @return
*/
@PostMapping("/sendTrx")
public WebResponse requestSendTrx(@Validated @RequestBody RequestSendTrx request) throws Throwable {
String txid = tronService.transfer(request.getPrivateKey(),request.getAddress(),request.getAmount(),"");
if(StrUtil.isNotEmpty(txid)){
return WebResponse.success(txid);
}
return WebResponse.error("轉賬異常,請檢視日志");
}
7、TRC10轉賬 /tron/api/sendTrc10
API代碼如下
/**
* 發送trc10代币
* @param request
* @return
*/
@PostMapping("/sendTrc10")
public WebResponse requestSendTrc10(@Validated @RequestBody RequestSendTrc10 request) throws IOException, NoSuchAlgorithmException {
String txid = null;
if(StrUtil.isEmpty(request.getPrivateKey())){
txid = trc10Service.transfer(SystemDataPool.MINER_FEE_PRIVATE_KEY,request.getTokenId(),request.getAddress(),request.getAmount(),"");
}else{
txid = trc10Service.transfer(request.getPrivateKey(),request.getTokenId(),request.getAddress(),request.getAmount(),"");
}
if(StrUtil.isNotEmpty(txid)){
return WebResponse.success(txid);
}
return WebResponse.error("發送交易錯誤,檢測是否trx不足以支撐手續費 還是trc10代币不足");
}
8、TRC20轉賬 /tron/api/sendTrc20
API代碼如下
/**
* 發送trc20代币
* @param request
* @return
*/
@PostMapping("/sendTrc20")
public WebResponse requestSendTrc20(@Validated @RequestBody RequestSendTrc20 request) throws IOException, NoSuchAlgorithmException {
String txid = null;
if(StrUtil.isEmpty(request.getPrivateKey())){
txid = trc20Service.transfer(SystemDataPool.MINER_FEE_PRIVATE_KEY,request.getContract(),request.getAddress(),request.getAmount(),"");
}else{
txid = trc20Service.transfer(request.getPrivateKey(),request.getContract(),request.getAddress(),request.getAmount(),"");
}
if(StrUtil.isNotEmpty(txid)){
return WebResponse.success(txid);
}
return WebResponse.error("發送交易錯誤");
}
9、USDT轉賬 /tron/api/sendUsdt
API代碼如下
/**
* usdt轉賬
* @param request
* @return
*/
@PostMapping("/sendUsdt")
public WebResponse requestSendUSDT(@Validated @RequestBody RequestSendUsdt request) throws IOException, NoSuchAlgorithmException {
String txid = null;
if(StrUtil.isNotEmpty(request.getPrivateKey())){
txid = usdtHandler.transfer(request.getPrivateKey(),request.getAddress(),request.getAmount(),"");
}else{
txid = usdtHandler.transfer(SystemDataPool.MINER_FEE_PRIVATE_KEY,request.getAddress(),request.getAmount(),"");
}
if(StrUtil.isNotEmpty(txid)){
return WebResponse.success(txid);
}
return WebResponse.error("發送交易錯誤,檢測是否trx不足以支撐手續費 還是USDT不足");
}
10、交易成功狀态判斷 /tron/api/checkTransaction
API代碼如下
/**
* 檢測交易是否發送成功
* @param request
* @return
* @throws IOException
*/
@PostMapping("/checkTransaction")
public WebResponse requestCheckTransaction(@Validated @RequestBody RequestTransactionData request) throws IOException {
boolean success = tronService.isSuccess(request.getHash());
return WebResponse.success(success);
}
代碼結構預覽 (後端)
──api-core
├── pom.xml
├── readme.md
├── recharge-commons (通用工具)
│ ├── pom.xml
│ ├── src
├── recharge-db (系統相關的mysql對象封裝 使用mybatis)
│ ├── pom.xml
│ ├── sql
│ ├── src
├── recharge-sys (主系統 充提系統)
│ ├── HELP.md
│ ├── doc
│ ├── lombok.config
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ ├── src
├── test-serv (api調用模拟服務 含鍊上轉賬等 用于壓測)
│ ├── lombok.config
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ ├── src
│ ├── target
├── tron-core (波場的核心代碼 波場的操作)
│ ├── lombok.config
│ ├── pom.xml
│ ├── src
├── tron-protobuf (波場的相關protobuf代碼)
│ ├── lombok.config
│ ├── pom.xml
│ ├── src
└── tron-spring (波場的操作封裝 封裝成spring的)
├── lombok.config
├── mvnw
├── mvnw.cmd
├── pom.xml
├── src
管理系統示範
首頁資訊(檢視目前塊高&火币USDT價格)
充值交易清單
歸集異常清單
這裡的資料是故意弄出來的,一般情況下這裡都是沒有資料或者資料很少
遇到有歸集異常的資料,點選重新歸集就可以再次進行歸集
充值币種配置資料
系統運作資料
API接口模拟使用
系統運作日志
都是先請求建立位址 然後給那個位址進行轉賬(轉賬的币種在币種配置表上面,隻有配置了的才會進行回調)
NILE網絡上進行的測試資料
波場充提系統(含管理平台)寫在前面提供的API接口(提供給邏輯服務直接調用)代碼結構預覽 (後端)管理系統示範系統運作日志寫在後面(示範網站) 下面這個是用測試服代碼進行處理的(調用api接口,然後鍊上轉賬)
波場充提系統(含管理平台)寫在前面提供的API接口(提供給邏輯服務直接調用)代碼結構預覽 (後端)管理系統示範系統運作日志寫在後面(示範網站)
寫在後面(示範網站)
波場充提系統(含背景管理)
示範網站: http://139.159.185.26:2080/tron/
登入賬号: user001
登入密碼: tronuser001
内容:
1、trx trc10 trc20的轉賬/查詢/充值&回調
2、離線位址建立
3、trx trc10 trc20的歸集
4、歸集/回調失敗資訊查詢 & 曆史交易資訊查詢
6、币種資料直接支援配置
7、更多内容請到網站上面檢視(請勿修改密碼)