From 5333da8c927897054d89fa69b074a188b95ddec6 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Fri, 11 Jun 2021 17:42:35 +0800 Subject: [PATCH] modify --- /dev/null | 290 ------------------------------------------------ .gitignore | 1 src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java | 1 src/main/resources/logback-spring.xml | 2 src/main/resources/application-prod.yml | 18 +- pom.xml | 4 6 files changed, 13 insertions(+), 303 deletions(-) diff --git a/.gitignore b/.gitignore index d472d37..a8c1807 100644 --- a/.gitignore +++ b/.gitignore @@ -20,6 +20,7 @@ *.iml *.ipr +gbz/ .mvn mvnw mvnw.cmd diff --git a/pom.xml b/pom.xml index 6c6c371..b41dd89 100644 --- a/pom.xml +++ b/pom.xml @@ -3,9 +3,9 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.xcong</groupId> - <artifactId>excoin-back</artifactId> + <artifactId>gbz-back</artifactId> <version>1.0</version> - <name>golden-back</name> + <name>gbz-back</name> <description>coin back manage</description> <parent> diff --git a/src/main/java/com/xcong/excoin/modules/member/service/EthService.java b/src/main/java/com/xcong/excoin/modules/member/service/EthService.java deleted file mode 100644 index 115a8db..0000000 --- a/src/main/java/com/xcong/excoin/modules/member/service/EthService.java +++ /dev/null @@ -1,290 +0,0 @@ -package com.xcong.excoin.modules.member.service; - -import org.apache.commons.lang3.StringUtils; -import org.web3j.abi.FunctionEncoder; -import org.web3j.abi.FunctionReturnDecoder; -import org.web3j.abi.TypeReference; -import org.web3j.abi.datatypes.Address; -import org.web3j.abi.datatypes.Function; -import org.web3j.abi.datatypes.Type; -import org.web3j.abi.datatypes.generated.Uint256; -import org.web3j.crypto.Credentials; -import org.web3j.crypto.RawTransaction; -import org.web3j.crypto.TransactionEncoder; -import org.web3j.crypto.WalletUtils; -import org.web3j.protocol.Web3j; -import org.web3j.protocol.core.DefaultBlockParameterName; -import org.web3j.protocol.core.Request; -import org.web3j.protocol.core.methods.request.Transaction; -import org.web3j.protocol.core.methods.response.*; -import org.web3j.protocol.http.HttpService; -import org.web3j.utils.Convert; -import org.web3j.utils.Convert.Unit; -import org.web3j.utils.Numeric; - -import java.io.File; -import java.io.IOException; -import java.math.BigDecimal; -import java.math.BigInteger; -import java.util.*; -import java.util.concurrent.ExecutionException; - -/** - * ETH类,使用Web3j 下面为使用教程 - * https://kauri.io/article/925d923e12c543da9a0a3e617be963b4/manage-an-ethereum-account-with-java-and-web3js - * - * @author Administrator - * - */ - -public class EthService { - - private static String ethWalletPath = "/home/javaweb/webresource/eth"; - - - public static final String TOTAL_ADDRESS = "0x3d83A28B6C2d599d2B6D272c5DBcDC9c976d344F"; - public static final String TOTAL_PRIVATE_KEY = "4a1ce332133d8917360c5f3b194f703a0cf5b86c4eea319b1cd01197e68dad27"; - // private static String ethWalletPath="E://"; - private Web3j web3j; - // private Admin admin; - // private Parity parity; - /** - * 服务器地址 - */ - //private static final String ETH_UTL = "https://mainnet.infura.io/v3/882c66ebcfc141abbea22b948fa44321"; - private static final String ETH_UTL = "http://120.55.86.146:8545"; - - public EthService() { - try { - HttpService service = new HttpService(ETH_UTL); - web3j = Web3j.build(service); - // parity = Parity.build(service); - // admin = Admin.build(service); - } catch (Exception e) { - System.out.println("liangjieshibao"); - // logger.error("==============虚拟币-以太坊链接获取失败!"); - e.printStackTrace(); - } - } - - /** - * 查询ETH余额 - * - * @param address - * @return - */ - public static BigDecimal getEthBlance(String address) { - Web3j web3 = Web3j.build(new HttpService(ETH_UTL)); - EthGetBalance balanceWei; - try { - balanceWei = web3.ethGetBalance(address, DefaultBlockParameterName.LATEST).send(); - if (balanceWei.getResult() == null) { - return null; - } - BigDecimal balanceInEther = Convert.fromWei(balanceWei.getBalance().toString(), Unit.ETHER); - return balanceInEther; - } catch (Exception e) { - System.out.println("ETH查询失败:" + address); - e.printStackTrace(); - } - return null; - - } - - /** - * 创建ETH钱包 - * - * @return - */ - public static Map<String, String> createEth() { - Map<String, String> wallet = new HashMap<String, String>(); - try { - String walletPassword = "secr3t"; - // 文件路径 - String walletDirectory = ethWalletPath; - - String walletName = WalletUtils.generateNewWalletFile(walletPassword, new File(walletDirectory)); - System.out.println("wallet location: " + walletDirectory + "/" + walletName); - Credentials credentials = WalletUtils.loadCredentials(walletPassword, walletDirectory + "/" + walletName); - String accountAddress = credentials.getAddress(); - String privateKey = credentials.getEcKeyPair().getPrivateKey().toString(16); - // 钱包地址 - wallet.put("address", accountAddress); - // 钱包私钥 - wallet.put("privateKey", privateKey); - // 产生的钱包文件地址 - wallet.put("walletLocation", walletDirectory + "/" + walletName); - } catch (Exception e) { - e.printStackTrace(); - } - return wallet; - } - - public boolean checkTransferResult(String hash) { - // 0xa3e6a0ccc3aac30d866a86ca9c0477dd58b7b061787ba40b16c3844803273816 交易hash - Request<?, EthGetTransactionReceipt> ethGetTransactionReceiptRequest = web3j.ethGetTransactionReceipt(hash); - EthGetTransactionReceipt send = null; - try { - send = ethGetTransactionReceiptRequest.send(); - if(send!=null){ - TransactionReceipt result = send.getResult(); - if(result!=null){ - String status = result.getStatus(); - System.out.println(status);//0x1 - if("0x1".equals(status)){ - return true; - }else{ - return false; - } - } - - } - - } catch (IOException e) { - e.printStackTrace(); - return false; - } - return false; - } - - public static void main(String[] args) throws IOException, ExecutionException, InterruptedException { - HttpService service = new HttpService(ETH_UTL); - Web3j build = Web3j.build(service); - //Request<?, EthTransaction> ethTransactionRequest = build.ethGetTransactionByHash("0xa3e6a0ccc3aac30d866a86ca9c0477dd58b7b061787ba40b16c3844803273816"); -// Request<?, EthGetTransactionReceipt> ethGetTransactionReceiptRequest = build.ethGetTransactionReceipt("0xa3e6a0ccc3aac30d866a86ca9c0477dd58b7b061787ba40b16c3844803273816"); -// EthGetTransactionReceipt send = ethGetTransactionReceiptRequest.send(); -// String status = send.getResult().getStatus(); - //System.out.println(status);//0x1 -// EthTransaction send = ethTransactionRequest.send(); -// String input = send.getResult().getInput(); -// System.out.println(input); - EthService ethService = new EthService(); - String s = ethService.tokenSend("0x0cf5f120ea654f6806038daa6b021e83a9ab07c8", "1.0", null); - System.out.println(s); - } - - /** - * - * 方法描述:获取代币余额 - * - * @param fromAddress - * @param - * @param - * @return long - */ - public BigDecimal tokenGetBalance(String fromAddress) { - try { - if(StringUtils.isBlank(fromAddress)){ - fromAddress = TOTAL_ADDRESS; - } - // 合约地址 - String contractAddress = "0xdac17f958d2ee523a2206206994597c13d831ec7"; - int decimal = 6; - String methodName = "balanceOf"; - List<Type> inputParameters = new ArrayList<>(); - List<TypeReference<?>> outputParameters = new ArrayList<>(); - Address address = new Address(fromAddress); - inputParameters.add(address); - TypeReference<Uint256> typeReference = new TypeReference<Uint256>() { - }; - outputParameters.add(typeReference); - Function function = new Function(methodName, inputParameters, outputParameters); - String data = FunctionEncoder.encode(function); - Transaction transaction = Transaction.createEthCallTransaction(fromAddress, contractAddress, data); - - EthCall ethCall; - BigInteger balanceValue = BigInteger.ZERO; - try { - ethCall = web3j.ethCall(transaction, DefaultBlockParameterName.LATEST).send(); - List<Type> results = FunctionReturnDecoder.decode(ethCall.getValue(), function.getOutputParameters()); - balanceValue = (BigInteger) results.get(0).getValue(); - } catch (IOException e) { - e.printStackTrace(); - } - double res = BigDecimalUtil.div(new BigDecimal(balanceValue).doubleValue(), Math.pow(10, decimal), 8); - if (res > 0) { - return new BigDecimal(res); - } - } catch (Exception e) { - // logger.error("==============以太坊代币链接获取失败!"); - e.printStackTrace(); - } - return BigDecimal.ZERO; - } - - // USDT - public String tokenSend( String toAddress, String amount,String gas) - throws InterruptedException, ExecutionException { - // Web3j web3j = Web3j.build(new - // HttpService("https://mainnet.infura.io/v3/882c66ebcfc141abbea22b948fa44321")); - String contractAddress = "0xdac17f958d2ee523a2206206994597c13d831ec7"; - Credentials credentials = Credentials.create(TOTAL_PRIVATE_KEY); - - EthGetTransactionCount ethGetTransactionCount = web3j - .ethGetTransactionCount(TOTAL_ADDRESS, DefaultBlockParameterName.LATEST).sendAsync().get(); - - BigInteger nonce = ethGetTransactionCount.getTransactionCount(); - - Function function = new Function("transfer", - Arrays.asList(new Address(toAddress), new Uint256(new BigInteger(amount))), - Arrays.asList(new TypeReference<Type>() { - })); - - String encodedFunction = FunctionEncoder.encode(function); - if(StringUtils.isBlank(gas)){ - gas = "70"; - } - RawTransaction rawTransaction = RawTransaction.createTransaction(nonce, - Convert.toWei(gas, Unit.GWEI).toBigInteger(),// 给矿工开的转账单价 单价越高越快 - Convert.toWei("60000", Unit.WEI).toBigInteger(), contractAddress, encodedFunction);//里程上限 - // 10*80000/1000000000=0.0008 手续费 - - byte[] signedMessage = TransactionEncoder.signMessage(rawTransaction, credentials); - String hexValue = Numeric.toHexString(signedMessage); - - // log.debug("transfer hexValue:" + hexValue); - - EthSendTransaction ethSendTransaction = web3j.ethSendRawTransaction(hexValue).sendAsync().get(); - - - if (ethSendTransaction.hasError()) { - // log.info("transfer error:", ethSendTransaction.getError().getMessage()); - return ""; - } else { - String transactionHash = ethSendTransaction.getTransactionHash(); - // log.info("Transfer transactionHash:" + transactionHash); - return transactionHash; - } - } - - public String ethSend(String privateKey, String fromAddress, String toAddress, String amount) - throws InterruptedException, ExecutionException { - // Web3j web3j = Web3j.build(new - // HttpService("https://mainnet.infura.io/v3/882c66ebcfc141abbea22b948fa44321")); - - Credentials credentials = Credentials.create(privateKey); - - EthGetTransactionCount ethGetTransactionCount = web3j - .ethGetTransactionCount(fromAddress, DefaultBlockParameterName.LATEST).sendAsync().get(); - - BigInteger nonce = ethGetTransactionCount.getTransactionCount(); - BigInteger value = Convert.toWei(amount, Unit.ETHER).toBigInteger(); - RawTransaction rawTransaction = RawTransaction.createEtherTransaction(nonce, - Convert.toWei("50", Unit.GWEI).toBigInteger(), - Convert.toWei("60000", Unit.WEI).toBigInteger(), toAddress, value); - byte[] signedMessage = TransactionEncoder.signMessage(rawTransaction, credentials); - String hexValue = Numeric.toHexString(signedMessage); - - EthSendTransaction ethSendTransaction = web3j.ethSendRawTransaction(hexValue).sendAsync().get(); - if (ethSendTransaction.hasError()) { - // log.info("transfer error:", ethSendTransaction.getError().getMessage()); - return ""; - } else { - String transactionHash = ethSendTransaction.getTransactionHash(); - // log.info("Transfer transactionHash:" + transactionHash); - return transactionHash; - } - } - - -} diff --git a/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java b/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java index fec245b..82499de 100644 --- a/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java @@ -31,7 +31,6 @@ import com.xcong.excoin.modules.member.mapper.MemberMapper; import com.xcong.excoin.modules.member.mapper.MemberQuickBuySaleMapper; import com.xcong.excoin.modules.member.mapper.MemberWalletCoinMapper; -import com.xcong.excoin.modules.member.service.EthService; import com.xcong.excoin.modules.member.service.IMemberService; import com.xcong.excoin.modules.member.service.RocService; import com.xcong.excoin.modules.member.vo.MemberAuthenticationVo; diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index ea825e7..e82cf3e 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -15,20 +15,20 @@ datasource: # 数据源-1,名称为 base base: - username: roc_user - password: roc123pasd!@ + username: db_gbz + password: db_gbz123!@# driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://rm-bp1i2g5rg5dubo9s40o.mysql.rds.aliyuncs.com:3306/db_roc?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2b8 + url: jdbc:mysql://127.0.0.1:3306/db_gbz?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2b8 redis: # Redis数据库索引(默认为 0) - database: 1 - # Redis服务器地址 - host: 47.114.114.219 - # Redis服务器连接端口 + database: 0 + ## Redis服务器地址 + host: 127.0.0.1 + ## Redis服务器连接端口 port: 6379 - # Redis 密码 - password: roccqwe1234 + ## Redis服务器连接密码(默认为空) + password: ann123!@# lettuce: pool: # 连接池中的最小空闲连接 diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml index 6d69b8c..77535b6 100644 --- a/src/main/resources/logback-spring.xml +++ b/src/main/resources/logback-spring.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <configuration scan="true" scanPeriod="60 seconds" debug="false"> <contextName>febs</contextName> - <property name="log.path" value="logs/back" /> + <property name="log.path" value="gbz/back" /> <property name="log.maxHistory" value="15" /> <property name="log.colorPattern" value="%magenta(%d{yyyy-MM-dd HH:mm:ss}) %highlight(%-5level) %yellow(%thread) %green(%logger) %msg%n"/> <property name="log.pattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5level %thread %logger %msg%n"/> -- Gitblit v1.9.1