Practical overview
When it fits
Use it when a Java application needs filtered blockchain transactions delivered to application methods. The repository example provides an Ethereum-style setup with RPC configuration, a starting block and event filters.
Who it is for
- Java developers adding blockchain transaction monitoring to backend applications.
- Teams that need matching transaction data passed into application methods.
Documented uses
- Trigger application logic when an address receives ETH.
- Watch for contract calls such as ERC-20 transfers, with an optional recipient-address filter.
- Configure a scan beginning at a chosen block height to record transactions.
Requirements & limits
The public GitHub repository specifies an MIT license. The README lists JDK 8+ and Maven 3.5.4+.
- The example requires an RPC URL and configures a scan period and starting block.
- The README says the thread pool must have at least as many core threads as chains being scanned.
- Ethereum is the chain shown in the implementation example; support for BNB Smart Chain, Polygon, Solana and TRON is described as planned.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Configure an Ethereum transaction-monitoring task
Register a filtered transaction callback and start a scan task using the README example.
Before you start
- Java runtime JDK 8 or later.
- Maven 3.5.4 or later, as indicated by the README badges.
- The Magician-Scanning 1.0.12 dependency and an SLF4J-compatible logging dependency.
- Ethereum RPC URL or URLs and a transaction filter appropriate to the desired monitoring.
Steps
Add the
com.github.yuyenews:Magician-Scanning:1.0.12dependency and an SLF4J-compatible logging dependency to the project.Implement
EthMonitorEvent; return anEthMonitorFilterfromethMonitorFilter()and definecall(TransactionModel)to handle matching transactions. The example filters contract input data using the ERC-20 transfer function code and address/uint256 type references.Initialize
EventThreadPoolwith at least as many core threads as chains to scan; the README recommends matching the number of chains.Create a scan task with
MagicianBlockchainScan.create(), set its RPC URL configuration, scan period, and begin block number, add the event implementation, and callstart(). The example supplies multiple RPC URLs and notes that polling is used for multiple addresses.
Expected outcome
The configured task scans from the selected block and invokes the event callback for transactions matching its filter, passing the transaction model to `call`.
Guide limitations
- The README labels ETH, BSC, Polygon, Solana, and TRON support as planned; it does not establish that every listed chain is currently supported.
- The example’s RPC URLs and filter values are illustrative; use values suitable for the target network and monitoring criteria.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 16 October 2026
- Original website title
- Magician-Blockchain/Magician-Scanning · Official homepage title · retained in its source language

