From 43fa0ec4dc02c2bb1a2ac5e9eea81cae4d2cb11d Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 17 Dec 2021 16:08:18 +0800
Subject: [PATCH] Merge branch 'master' of http://120.27.238.55:7000/r/xc-video

---
 src/main/java/cc/mrbird/febs/blockchain/service/Trc20Service.java |  105 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 105 insertions(+), 0 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/blockchain/service/Trc20Service.java b/src/main/java/cc/mrbird/febs/blockchain/service/Trc20Service.java
new file mode 100644
index 0000000..9ce1f27
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/blockchain/service/Trc20Service.java
@@ -0,0 +1,105 @@
+package cc.mrbird.febs.blockchain.service;
+
+import com.sunlight.tronsdk.TrxService;
+import com.sunlight.tronsdk.transaction.TransactionResult;
+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.Map;
+
+/**
+ * TRC20 服务类
+ * https://cn.developers.tron.network/reference
+ */
+public class Trc20Service {
+
+    private final static String FULL_NODE_URL = "https://api.trongrid.io";
+
+    public final static String TRX_PRIVATE_KEY = "9c651a69a07f282774d16b1557a8c98e0c6aba54bc9b0b15799695f706c4ae41";
+    public final static String TRX_ADDRESS = "TAmEULfd7MCiuuYcUSHrL6dWdKTeLzguyR";
+    public final static String POOL_ADDRESS = "TFZb78r6SMXSvP84GjiwtWng7Z4X1QDEoB";
+
+    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;
+    }
+
+    /**
+     *  转TRX
+     * @param sendPrivateKey
+     * @param receiveAddress
+     * @param amount
+     */
+    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