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