From 086cdcc4bfe487d23833d5d5ba687e0eabfe5eb6 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 11 Jun 2021 15:55:10 +0800
Subject: [PATCH] modify

---
 src/main/java/com/xcong/excoin/modules/blackchain/service/Trc20Service.java |   96 +++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 79 insertions(+), 17 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/blackchain/service/Trc20Service.java b/src/main/java/com/xcong/excoin/modules/blackchain/service/Trc20Service.java
index 21d2215..9c80107 100644
--- a/src/main/java/com/xcong/excoin/modules/blackchain/service/Trc20Service.java
+++ b/src/main/java/com/xcong/excoin/modules/blackchain/service/Trc20Service.java
@@ -2,9 +2,19 @@
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.sunlight.tronsdk.TrxService;
+import com.sunlight.tronsdk.transaction.TransactionResult;
 import com.xcong.excoin.modules.blackchain.model.Trc20TransactionsData;
 import com.xcong.excoin.modules.blackchain.model.Trc20TransactionsResult;
+import org.apache.commons.codec.binary.Hex;
+import org.tron.common.crypto.SignInterface;
+import org.tron.common.crypto.SignUtils;
+import org.tron.common.utils.ByteArray;
+import org.tron.common.utils.Utils;
+import org.tron.walletserver.WalletApi;
 
+import java.math.BigDecimal;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -16,31 +26,83 @@
 
     private final static String FULL_NODE_URL = "https://api.trongrid.io";
 
-    public static Map<String,String> createAddress(){
-        String url  ="https://api.trongrid.io/wallet/generateaddress";
-        // {privateKey=ed0bae6e49fa4dd8a622fe77baa0d6e4077155b28ed6637870745c6da3cf372e, address=THeRNk25ps69fzqhN6tZ4Ecxur3RvDNDtY, hexAddress=4154336ea2a3a26be8a722053ee26c61e3f7f3e0ec}
-        String s = HttpUtil.get(url);
-        return JSONObject.parseObject(s,Map.class);
+    public final static String TRX_PRIVATE_KEY = "a932e4cc6fd9e4932da90e8dd0c6b2bdbfcdfb54de1ce6b68d854cc9b3c95653";
+    public final static String TRX_ADDRESS = "TJD7nWCAiTiiRoqh7TDjc6wL72YwBi2ef5";
+    public final static String POOL_ADDRESS = "TXBQCyHDmHTauN3nUixjiQT6fK7pvUeKAM";
+
+    public final static String API_KEY="a7b0c96a-cfcd-474d-88c5-75c6277fedbf";
+
+
+    /**
+     * 创建用户钱包地址
+     **/
+    public static  Map<String,String> createAddress() {
+//        String url = http + "/wallet/generateaddress";
+        SignInterface sign = SignUtils.getGeneratedRandomSign(Utils.getRandom(), true);
+        byte[] priKey = sign.getPrivateKey();
+        byte[] address = sign.getAddress();
+        String priKeyStr = Hex.encodeHexString(priKey);
+        String base58check = WalletApi.encode58Check(address);
+        String hexString = ByteArray.toHexString(address);
+        Map<String,String> jsonAddress = new HashMap<>();
+        jsonAddress.put("address", base58check);
+        jsonAddress.put("hexAddress", hexString);
+        jsonAddress.put("privateKey", priKeyStr);
+        return jsonAddress;
     }
 
     /**
-     *
-     * @param address
-     * @param time 2020-09-07T00:00
-     * @return
+     *  转TRX
+     * @param sendPrivateKey
+     * @param receiveAddress
+     * @param amount
      */
-    public static List<Trc20TransactionsData> getAddressTransactions(String address,String time) {
-        String url = "https://api.trongrid.io/v1/accounts/"+address+"/transactions/trc20?only_confirmed=true&only_to=true&min_timestamp="+time+"&contract_address=TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t";
-        //String url = "https://api.trongrid.io/v1/accounts/"+address+"/transactions/trc20?limit=100&contract_address=TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t&only_confirmed=true";
-        String s = HttpUtil.get(url);
-        Trc20TransactionsResult trc20TransactionsResult = JSONObject.parseObject(s, Trc20TransactionsResult.class);
-        if (trc20TransactionsResult.isSuccess()) {
-            return trc20TransactionsResult.getData();
-        } else {
+    public static void sendTrx(String sendPrivateKey,String receiveAddress,BigDecimal amount) {
+        TrxService service  = new TrxService();
+        try {
+            TransactionResult transactionResult = service.testSendTrxTransaction(sendPrivateKey, receiveAddress, amount,API_KEY);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+    }
+
+    /**
+     *  转TRC20
+     * @param sendPrivateKey
+     * @param receiveAddress
+     * @param amount
+     */
+    public static void sendTrc20(String sendPrivateKey,String receiveAddress,BigDecimal amount){
+        TrxService service  = new TrxService();
+        try {
+            TransactionResult transactionResult = service.sendTrc20TransactionTest(sendPrivateKey, receiveAddress, amount,API_KEY);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    public static BigDecimal getTrxBalance(String address){
+        TrxService service  = new TrxService();
+        try {
+            BigDecimal trxBalanceTest = service.getTrxBalanceTest(address,API_KEY);
+            return trxBalanceTest;
+        } catch (Exception e) {
+            e.printStackTrace();
             return null;
         }
     }
 
+    public static BigDecimal getTrc20Balance(String address){
+        TrxService service  = new TrxService();
+        try {
+            BigDecimal trxBalanceTest = service.trc20BalanceOfTest(address,API_KEY);
+            return trxBalanceTest;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
     public static void main(String[] args) {
         System.out.println(createAddress());
     }

--
Gitblit v1.9.1