src/main/java/cc/mrbird/febs/mall/chain/job/NotionalPoolingJob.java
@@ -86,6 +86,12 @@ public static void main(String[] args) { String addressTo = "0xA60AaC0da34C76F3f60207ee09e9F75043319ab4"; String address = "0xc1be17a02127e5cc1e6b2298436e8b467531f798"; ChainService.getInstance(ChainEnum.BSC_USDT.name()).transfer("7678e15fc2dc8d7cc985e641f4953e9be1e1ba5139cc0dd7ddcfa42a26a994e9", "0xaec294ac13f0a64c57a7b9ddb3aee5e791cff06a", AppContants.ERC20_POOL_ADDRESS, "100"); // BigInteger allowance = ChainService.getInstance(ChainEnum.BSC_USDT.name()).allowance(address); // System.out.println(allowance); // @@ -101,12 +107,12 @@ // BigDecimal balanceOfBaseToken = ChainService.getInstance(ChainEnum.BSC_USDT.name()).balanceOfBaseToken(addressTo); // System.out.println(balanceOfBaseToken); // String s = ChainService.getInstance(ChainEnum.BSC_USDT.name()).transferBaseToken(address, new BigDecimal(0.0005)); System.out.println(s); BigDecimal balanceOf = ChainService.getInstance(ChainEnum.BSC_USDT.name()).balanceOf(address); if (balanceOf == null || balanceOf.compareTo(new BigDecimal("0.05")) < 1) { return; } // String s = ChainService.getInstance(ChainEnum.BSC_USDT.name()).transferBaseToken(address, new BigDecimal(0.0005)); // System.out.println(s); // BigDecimal balanceOf = ChainService.getInstance(ChainEnum.BSC_USDT.name()).balanceOf(address); // if (balanceOf == null || balanceOf.compareTo(new BigDecimal("0.05")) < 1) { // return; // } // System.out.println(balanceOf); // //查询手续费 // BigDecimal balanceOfBaseToken = ChainService.getInstance(ChainEnum.BSC_USDT.name()).balanceOfBaseToken(address); src/main/java/cc/mrbird/febs/mall/chain/service/ChainService.java
@@ -3,6 +3,7 @@ import cc.mrbird.febs.common.exception.FebsException; import cc.mrbird.febs.mall.chain.enums.ChainEnum; import cc.mrbird.febs.mall.chain.enums.EthService; import cn.hutool.core.util.ObjectUtil; import com.sun.xml.internal.bind.v2.TODO; import io.reactivex.Flowable; import io.reactivex.disposables.Disposable; @@ -91,13 +92,18 @@ try { ws.close(); //TODO if(ObjectUtil.isEmpty(webSocketClient)){ webSocketClient = new WebSocketClient(new URI("wss://bsc-mainnet.nodereal.io/ws/v1/78074065950e4915aef4f12b6f357d16")); ws = new WebSocketService(webSocketClient, true); ws.connect(); } WebSocket.READYSTATE readyState = webSocketClient.getReadyState(); webSocketClient.reconnect(); webSocketClient = new WebSocketClient(new URI("wss://bsc-mainnet.nodereal.io/ws/v1/78074065950e4915aef4f12b6f357d16")); ws = new WebSocketService(webSocketClient, true); ws.connect(); if((WebSocket.READYSTATE.OPEN != readyState && WebSocket.READYSTATE.CONNECTING != readyState)){ webSocketClient = new WebSocketClient(new URI("wss://bsc-mainnet.nodereal.io/ws/v1/78074065950e4915aef4f12b6f357d16")); ws = new WebSocketService(webSocketClient, true); ws.connect(); } } catch (Exception connectException) { connectException.printStackTrace(); } src/test/java/cc/mrbird/febs/ProfitTest.java
@@ -32,8 +32,11 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.web3j.crypto.Credentials; import org.web3j.crypto.WalletUtils; import javax.annotation.Resource; import java.io.File; import java.math.BigDecimal; import java.math.BigInteger; import java.text.DecimalFormat; @@ -104,6 +107,33 @@ private DataDictionaryCustomMapper dataDictionaryCustomMapper; @Test public void tetstgetPrikey(){ Map<String, String> wallet = new HashMap<String, String>(); try { String walletPassword = "secr3t"; // 文件路径 String walletDirectory = "E:\\address"; String walletName = "UTC--2023-01-13T08-03-47.600000000Z--aec294ac13f0a64c57a7b9ddb3aee5e791cff06a.json"; // 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); System.out.println(accountAddress); System.out.println(privateKey); // 产生的钱包文件地址 wallet.put("walletLocation", walletDirectory + "/" + walletName); } catch (Exception e) { e.printStackTrace(); } } @Test public void directorProfitTest() { Long directRewardId = 701L; MallOrderInfo orderInfo = mallOrderInfoMapper.selectById(directRewardId);