Magician-Web3 是一个区块链开发工具包。它由两个功能组成。一个是扫描区块链,根据开发者的需要监控交易。另一个是对 web3j 的一些二次封装,可以减少开发者在一些常见场景下的工作量。它计划支持三种链,ETH(BSC、POLYGAN 等)、SOL 和 TRON,目前已经完成了对 ETH 的支持。
自此以后,Magician 的定位发生了改变,他不再是一个 web 领域的框架了,而是一套 Java 开发的工具包,涵盖区块链,web 开发两个领域,我们可以回顾一下现有的所有组件。
这些组件并没有强依赖,有些甚至没有任何依赖,比如 Magician-Web3, Magician, Magician-JDBC, Magician-Configure 这几个组件,都是可以单独使用的,他们之间没有任何依赖关系。
-
如果你刚好需要开发一个扫块 + 入库的操作,那么 Magician-Web3 + Magician-JDBC 组合刚好可以满足你。
-
如果你只想对外提供一个简单的 http 接口,websocket 服务,那么 Magician 刚好可以满足你。
-
如果你有一个不是 web 的项目,但是刚好有个需求需要把数据入库,那么 Magician-JDBC 刚好可以帮到你。
Magician 的定位并不是 web 开发,而是一套 Java 开发的工具包!如果你需要一个功能,但是别人的方案又太重,那我或许可以帮到你。
Magician-Web3
说了这么多,我们回到 Magician-Web3 的介绍上,上面提到了有两个功能,一个是扫块,监听账户地址 或者 合约的动态,一个是对 Web3j 的二次封装。
扫块 + 监听
先创建一个监听器,注意看代码中的注释
/**
* 创建一个类,实现 EthMonitorEvent接口 即可
*/
public class EventDemo implements EthMonitorEvent {
/**
* 筛选条件,如果遇到了符合条件的交易,会自动触发 call方法
* 这些条件都是 并且的关系,必须要同时满足才行
* 如果不想根据某个条件筛选,直接不给那个条件设置值就好了
* 这个方法如果不实现,或者返回null, 那么就代表监听任意交易
*/
@Ove