智能合约执行后有时需要在后台监听相应的事件。本文将介绍下如何在springboot中使用web3j库监听智能合约的事件
导入web3j的包
在 pom.xml 文件中添加如下依赖
<dependency>
<groupId>org.web3j</groupId>
<artifactId>core</artifactId>
<version>3.3.1</version>
</dependency>
将web3j对象放入spring容器中管理
新建 ContractConfig.java
文件,代码注释比较详细,参考注释
注意不能是单例模式,还有合约地址的格式也要注意。
package io.liqiangz.config;
import io.liqiangz.contract.Trace;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Scope;
import org.web3j.protocol.Web3j;
import org.web3j.protocol.admin.Admin;
import org.web3j.protocol.core.DefaultBlockParameter;
import org.web3j.protocol.core.DefaultBlockParameterName;
import org.web3j.protocol.core.Request;
import org.web3j.protocol.core.methods.request;
import org.web3j.protocol.core.methods