From f075619090205bc0b76cfba50131ac0bacd8ac55 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Sat, 22 Jul 2023 13:10:34 +0800
Subject: [PATCH] 智能合约

---
 src/main/java/cc/mrbird/febs/dapp/contract/andao/AndaoContractMain.java |   28 +++++++++++++++++++++++++++-
 1 files changed, 27 insertions(+), 1 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/dapp/contract/andao/AndaoContractMain.java b/src/main/java/cc/mrbird/febs/dapp/contract/andao/AndaoContractMain.java
index 5d991dc..e276648 100644
--- a/src/main/java/cc/mrbird/febs/dapp/contract/andao/AndaoContractMain.java
+++ b/src/main/java/cc/mrbird/febs/dapp/contract/andao/AndaoContractMain.java
@@ -160,7 +160,33 @@
             }catch (Exception exception) {
                 exception.printStackTrace();
             }
-        });
+        },
+                error -> System.out.println("onError: " + error),
+                () -> System.out.println("onComplete will not be printed!")
+        );
+    }
+
+    public void listenBettings(BigInteger startBlock){
+        System.out.println("启动投注监听事件");
+        // 指定密钥文件并进行账号和密码的验证
+        Credentials credentials = Credentials.create(privateKey);
+        Abi contract = Abi.load(contractAddr, getInstanceScope(), credentials, new DefaultGasProvider());
+        EthFilter filter = getFilter(startBlock);
+        contract.withdrawnEventFlowable(filter).subscribe(e->{
+            try {
+                // 更新区块编号 TODO
+                if(ObjectUtil.isEmpty(e.log.getBlockNumber())){
+                    redisService.set("BNB_BLOCK_NUMBER",startBlock.intValue());
+                }else{
+                    redisService.set("BNB_BLOCK_NUMBER",e.log.getBlockNumber().intValue());
+                }
+            }catch (Exception exception) {
+                exception.printStackTrace();
+            }
+        },
+                error -> System.out.println("onError: " + error),
+                () -> System.out.println("onComplete will not be printed!")
+        );
     }
 
     /**

--
Gitblit v1.9.1