OpenViSTAI · Agents · Blockchain · Crypto
Menu
Developer Tools

Magician Scanning

Magician-Scanning is a Java toolkit for monitoring blockchain transactions and invoking application methods when configured filters match. Its examples cover incoming ETH, contract calls such as ERC-20 transfers, recipient-specific token-transfer filters and recording transactions from a starting block height.

Independent OpenViST project profile, based on linked sources.

Magician Scanning — OpenViST project profile in Developer Tools.
OpenViST project illustration. See the linked sources for product details.
Understand the project

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.
Before you choose

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.

Source-based practical guide

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

  1. Add the com.github.yuyenews:Magician-Scanning:1.0.12 dependency and an SLF4J-compatible logging dependency to the project.

  2. Implement EthMonitorEvent; return an EthMonitorFilter from ethMonitorFilter() and define call(TransactionModel) to handle matching transactions. The example filters contract input data using the ERC-20 transfer function code and address/uint256 type references.

  3. Initialize EventThreadPool with at least as many core threads as chains to scan; the README recommends matching the number of chains.

  4. Create a scan task with MagicianBlockchainScan.create(), set its RPC URL configuration, scan period, and begin block number, add the event implementation, and call start(). 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.
Evidence and transparency

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