在线验收 --days 1 链上回扫(事件扫描与报告产物)。
- Date (UTC): 2026-02-26
- Python runtime:
.venv/bin/python(3.14.2) - RPC tier: Alchemy Free (eth_getLogs 单次最多 10 blocks)
src/events/scanner.py增加 HTTP 超时(默认 30s,可用EVENT_SCAN_HTTP_TIMEOUT覆盖),避免无限等待。- 运行参数调整:
--batch-size 10以适配 Free tier 限制。
-
Unit tests (events module)
- Command:
.venv/bin/pytest tests/test_event_scanner.py tests/test_event_analyzer.py tests/test_event_reporter.py -q - Result: PASS (6 passed)
- Command:
-
Online scan (creation-only, v4, days=1)
- Command:
EVENT_SCAN_HTTP_TIMEOUT=20 .venv/bin/python main.py --event-scan --protocol v4 --days 1 --batch-size 10 --event-types creation - run_id:
20260226T170849Z - Result: PASS (creation events = 276)
- Command:
-
Online scan (state-only, v4, days=1)
- Command:
EVENT_SCAN_HTTP_TIMEOUT=20 .venv/bin/python main.py --event-scan --protocol v4 --days 1 --batch-size 10 --event-types modifyliquidity - run_id:
20260226T172527Z - Result: PASS (state events = 4244)
- Command:
-
Online scan (combined creation + state, v4, days=1)
- Command:
EVENT_SCAN_HTTP_TIMEOUT=20 .venv/bin/python main.py --event-scan --protocol v4 --days 1 --batch-size 10 --event-types creation,modifyliquidity - run_id:
20260226T173154Z - Output files:
reports/events/20260226T173154Z/events.ndjsonreports/events/20260226T173154Z/summary.jsonreports/events/20260226T173154Z/analysis.md
- Result: PASS
- Command:
events.ndjsonlines: 4506summary.totals.events_total: 4506summary.totals.creation_events_total: 262summary.totals.state_events_total: 4244- Integrity:
events_total_matches: truecreation_plus_state_matches: true
- Scan window:
- from_block: 24535405
- to_block: 24542570
- from_timestamp: 2026-02-25T17:25:23Z
- to_timestamp: 2026-02-26T17:25:23Z
- delta_seconds: 86400
- 在 Free tier RPC 下,
protocol=all或包含高频Swap的 1 天窗口会显著变慢。 - 为稳定验收,建议:
--batch-size 10- 先按协议分开跑,优先 creation + 中等频率 state(如
ModifyLiquidity) - 高流量
Swap建议更高配 RPC(PAYG / dedicated node)
- Command style: 串行分协议(balancer -> v3 -> v4 -> algebra),每协议先按时间戳反查 1h 区块窗口,再调用
scan_events(..., event_types=['creation','state']),最后合并写出单份报告。 - Runtime params:
EVENT_SCAN_HTTP_TIMEOUT=20,batch_size=10 - run_id:
20260226T175941Z_1h_all_serial - Output:
reports/events/20260226T175941Z_1h_all_serial/events.ndjsonreports/events/20260226T175941Z_1h_all_serial/summary.jsonreports/events/20260226T175941Z_1h_all_serial/analysis.md
- Totals:
- events_total: 4923
- creation_events_total: 6
- state_events_total: 4917
- parsed_error_total: 0
- Integrity:
- events.ndjson lines: 4923
- events_total_matches: true
- creation_plus_state_matches: true
- Warnings:
- v3: state scan scope is pools created within the selected window
- algebra: rpc chain_id=1 != expected 137, skip