From 91c36cc2d9b5fae741fe5a59e366eb34c7072674 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Wed, 12 Jul 2023 10:38:06 +0800
Subject: [PATCH] 智能合约
---
src/main/java/cc/mrbird/febs/dapp/chain/ChainService.java | 26 +++++++++++++++++++++++++-
1 files changed, 25 insertions(+), 1 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/dapp/chain/ChainService.java b/src/main/java/cc/mrbird/febs/dapp/chain/ChainService.java
index cb25b7c..e62286b 100644
--- a/src/main/java/cc/mrbird/febs/dapp/chain/ChainService.java
+++ b/src/main/java/cc/mrbird/febs/dapp/chain/ChainService.java
@@ -7,11 +7,13 @@
import com.alibaba.fastjson.JSONObject;
import io.reactivex.Flowable;
import io.reactivex.disposables.Disposable;
+import io.reactivex.functions.Function;
import lombok.extern.slf4j.Slf4j;
import okhttp3.Interceptor;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
+import org.reactivestreams.Subscription;
import org.springframework.data.repository.query.ParameterOutOfBoundsException;
import org.springframework.util.Base64Utils;
import org.web3j.abi.FunctionReturnDecoder;
@@ -25,15 +27,19 @@
import org.web3j.protocol.core.DefaultBlockParameterName;
import org.web3j.protocol.core.DefaultBlockParameterNumber;
import org.web3j.protocol.core.methods.request.EthFilter;
+import org.web3j.protocol.core.methods.response.Log;
import org.web3j.protocol.core.methods.response.TransactionReceipt;
import org.web3j.protocol.http.HttpService;
import org.web3j.protocol.websocket.WebSocketClient;
import org.web3j.protocol.websocket.WebSocketService;
+import org.web3j.tx.Contract;
import org.web3j.tx.gas.StaticGasProvider;
+import org.web3j.utils.Async;
import java.io.IOException;
import java.math.BigDecimal;
import java.math.BigInteger;
+import java.math.RoundingMode;
import java.net.URI;
import java.nio.charset.StandardCharsets;
import java.rmi.activation.UnknownObjectException;
@@ -126,6 +132,24 @@
}
+ public static void wssBaseCoinEventListener(BigInteger startBlock, BaseCoinService event) {
+ WebSocketService ws = null;
+ WebSocketClient webSocketClient = null;
+ Web3j web3j = null;
+
+ try {
+ webSocketClient = new WebSocketClient(new URI("wss://bsc-mainnet.nodereal.io/ws/v1/78074065950e4915aef4f12b6f357d16"));
+ ws = new WebSocketService(webSocketClient, true);
+ ws.connect();
+ web3j = Web3j.build(ws);
+
+ Disposable subscribe = web3j.replayPastAndFutureTransactionsFlowable(new DefaultBlockParameterNumber(startBlock)).subscribe(event::compile, error ->{
+ log.error("监听链上异常", error);
+ });
+ }catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
private static EthUsdtContract contract(String privateKey, String contractAddress, String url) {
Credentials credentials = Credentials.create(privateKey);
@@ -183,7 +207,7 @@
// log.error("--->", error);
// });
- System.out.println(ChainService.getInstance(ChainEnum.BSC_TFC.name()).totalSupply());
+// System.out.println(ChainService.getInstance(ChainEnum.BSC_TFC.name()).totalSupply());
}
}
--
Gitblit v1.9.1