From b90e825fab22d58a6ad6860bc0c4f5584e56a5e6 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Tue, 10 Nov 2020 16:31:57 +0800
Subject: [PATCH] modify
---
src/test/java/com/xcong/excoin/FilterTest.java | 93 ++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 88 insertions(+), 5 deletions(-)
diff --git a/src/test/java/com/xcong/excoin/FilterTest.java b/src/test/java/com/xcong/excoin/FilterTest.java
index fe53525..4346a08 100644
--- a/src/test/java/com/xcong/excoin/FilterTest.java
+++ b/src/test/java/com/xcong/excoin/FilterTest.java
@@ -1,7 +1,90 @@
-package com.xcong.excoin;/**
-*
-* @author wzy
-* @date 2020-11-04
-**/
+package com.xcong.excoin;
+
+import com.xcong.excoin.modules.blackchain.service.EthUsdtContract;
+import lombok.extern.slf4j.Slf4j;
+import org.junit.jupiter.api.Test;
+import org.web3j.crypto.Credentials;
+import org.web3j.protocol.Web3j;
+import org.web3j.protocol.core.DefaultBlockParameterName;
+import org.web3j.protocol.core.DefaultBlockParameterNumber;
+import org.web3j.protocol.core.methods.request.EthFilter;
+import org.web3j.protocol.http.HttpService;
+import org.web3j.tx.gas.StaticGasProvider;
+
+import java.math.BigInteger;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author wzy
+ * @date 2020-11-04
+ **/
+@Slf4j
public class FilterTest {
+
+
+ public static BigInteger GAS_PRICE = BigInteger.valueOf(45000000000L);
+ //public static final BigInteger GAS_LIMIT = BigInteger.valueOf(4300000L);
+ public static final BigInteger GAS_LIMIT = BigInteger.valueOf(2000000L);
+
+ private static Web3j web3;
+
+ private static String blockchainNode = "http://114.55.250.231:8545";
+
+ private static String contractAddr = "0xdac17f958d2ee523a2206206994597c13d831ec7";
+
+
+ // 操作账号
+ private static String privateKey = "4576fafdd215f52051c60e04618ef8997fbc5cee8413d3b34d210e296e6e9a3d";
+ @Test
+ public void testAA() {
+ BigInteger blockNum = new BigInteger("11189995");
+ Credentials credentials = Credentials.create(privateKey);
+ EthUsdtContract contract = EthUsdtContract.load(contractAddr, getInstance(), credentials, getStaticGasProvider());
+ EthFilter filter = getFilter(blockNum);
+ Map<String,BigInteger> map = new HashMap<String,BigInteger>();
+ map.put("blockNum",blockNum);
+
+ contract.transferEventFlowable(filter).subscribe(e->{
+// System.out.println(1);
+// Thread.sleep(60);
+// System.out.println(2);
+ });
+ }
+
+ public static void main(String[] args) {
+ BigInteger blockNum = new BigInteger("11190135");
+ Credentials credentials = Credentials.create(privateKey);
+ EthUsdtContract contract = EthUsdtContract.load(contractAddr, getInstance(), credentials, getStaticGasProvider());
+ EthFilter filter = getFilter(blockNum);
+ Map<String,BigInteger> map = new HashMap<String,BigInteger>();
+ map.put("blockNum",blockNum);
+
+ contract.transferEventFlowable(filter).subscribe(e->{
+ Thread.sleep(120);
+ });
+ }
+
+ private static Web3j getInstance() {
+ if (web3 == null) {
+ HttpService httpService = new HttpService(blockchainNode);
+ web3 = Web3j.build(httpService);
+ }
+ return web3;
+ }
+
+ private static EthFilter getFilter(BigInteger startBlock) {
+ if (startBlock != null) {
+ EthFilter filter = new EthFilter(new DefaultBlockParameterNumber(startBlock),
+ DefaultBlockParameterName.LATEST, contractAddr);
+ return filter;
+ } else {
+ return new EthFilter(DefaultBlockParameterName.EARLIEST,
+ DefaultBlockParameterName.LATEST, contractAddr);
+ }
+ }
+
+ private static StaticGasProvider getStaticGasProvider(){
+ return new StaticGasProvider(GAS_PRICE,GAS_LIMIT);
+ }
}
--
Gitblit v1.9.1