@zeitnotbr/hardhat-watch
v0.1.1
Published
Hardhat watch plugin
Readme
hardhat-observer
Realtime event monitor and transaction logger for Hardhat projects.
Designed to simplify debugging, monitoring and observability during smart contract development.
Features
- Realtime contract event monitoring
- Automatic ABI decoding
- Multi-contract support
- Transaction event inspection
- Automatic contract registration via ENV
- Generic event rendering
- Compatible with ethers v5
- Works with local Hardhat node
Installation
npm installor
yarnStart Hardhat Node
npx hardhat nodeDeploy Contracts
Example:
npx hardhat run scripts/deploy.js --network localhostEnvironment Convention
The monitor automatically discovers contracts using ENV variables.
Example:
ADDR_LG_USDT=0x...
ABI_LG_USDT=MockERC20
ADDR_LG_DAI=0x...
ABI_LG_DAI=MockERC20
ADDR_LG_MOCK_DEX=0x...
ABI_LG_MOCK_DEX=MockDexRealtime Monitor
npx hardhat run backend/logs.js --network localhostExample:
============================================================
[USDT] Transfer
------------------------------------------------------------
from: 0x0000000000000000000000000000000000000000
to: 0x70997970C51812dc3A010C7d01b50e0d17dc79C8
value: 1000000000Basic Usage
Create Monitor
const hre = require("hardhat");
const {
EventMonitor
} = require("./lib/event-monitor");
const monitor =
new EventMonitor(hre);Automatic Registration
await monitor.autoRegister();Start Monitor
monitor.start();Manual Registration
monitor.register("USDT", usdt);
monitor.register("DAI", dai);
monitor.register("MOCK_DEX", mockDex);Transaction Inspection
Useful for scripts, deploys and tests.
const tx = await contract.transfer(...);
await monitor.inspectTx(tx);Example Architecture
/scripts
deploy.js
tests.js
/backend
logs.js
/lib
event-monitor.jsRecommended Workflow
Terminal 1
Run Hardhat node:
npx hardhat nodeTerminal 2
Run monitor:
npx hardhat run backend/logs.js --network localhostTerminal 3
Execute tests/scripts:
npx hardhat run scripts/teste.js --network localhostSupported Event Types
The monitor is ABI-based and works with any contract event.
Examples:
- ERC20 Transfer
- ERC20 Approval
- Custom DEX events
- Lending protocol events
- Generic EVM logs
Current Goals
- Simple
- Generic
- Reusable
- Hardhat-first
- Low configuration
- Fast debugging
Future Improvements
- Transaction grouping
- Address aliases
- Colored logs
- Token metadata formatting
- Event filtering
- File persistence
- Trace support
- Gas metrics
- Multi-network support
License
MIT
