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