OpenViSTAI · Agents · Blockchain · Crypto
Menu
Developer Tools

Moonworm

Moonworm is an open-source Python command-line toolkit for Ethereum smart-contract development and analysis. It generates Python interfaces and CLIs from contract ABIs, including from Brownie projects, and crawls decoded contract events and transactions through a Web3 provider.

Independent OpenViST project profile, based on linked sources.

Moonworm — 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 Moonworm when a development workflow needs generated Python tooling for a contract or command-line access to decoded contract activity. Monitoring requires an ABI, contract address, Web3 provider URL and starting block.

Who it is for

  • Python developers building tools around Ethereum smart contracts.
  • Brownie users who want generated contract interfaces and CLIs.
  • Developers who need decoded contract activity for incident analysis, alerting or dataset creation.

Documented uses

  • Generate a Python interface and CLI from a contract ABI.
  • Generate contract-specific tooling from a Brownie project.
  • Crawl decoded events and transactions over a selected block range.
  • Save monitored activity as JSONL for analysis or dataset creation.
Before you choose

Requirements & limits

The repository is public and lists an Apache-2.0 license. Installation is documented with pip.

  • Choose generate for pure Web3 use or generate-brownie when working from a Brownie project.
  • The watcher can crawl historic and ongoing activity; an end block makes the requested crawl bounded.
  • Monitoring can write output to JSONL, and event-only mode is available.
  • Moonstream database use is an optional watcher mode and requires a network value.

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

Monitor decoded contract activity

Crawl decoded events and transactions for a contract over a chosen block range.

Before you start

  • Moonworm installed with pip.
  • The contract ABI file and contract address.
  • A Web3 provider URL and starting block.

Steps

  1. Install Moonworm with the command below.

    Documented command
    pip install moonworm
  2. Run moonworm watch with --abi, --contract, --web3 and --start values.

  3. Optionally provide --end to stop at a block, or --outfile to write events and transactions to JSONL.

Expected outcome

Moonworm crawls decoded contract data; with `--outfile`, it writes the results to a JSONL file.

Guide limitations

  • Without --end, the crawler does not stop.
  • The documented command requires a Web3 provider URL and contract ABI.
Source-based practical guide

Generate a Brownie contract interface and CLI

Create generated Python files for a contract in an existing Brownie project.

Before you start

  • Moonworm installed with pip.
  • A Brownie project and contract name.
  • An output directory for generated files.

Steps

  1. Install Moonworm with the command below.

    Documented command
    pip install moonworm
  2. Run moonworm generate-brownie with the project path, output directory and contract name.

  3. Place the generated files in a subdirectory of the Brownie project, as the README recommends.

Expected outcome

The command generates a Python interface and CLI for the specified contract.

Guide limitations

  • The recipe requires a Brownie project; the separate generate command is documented for pure Web3 use.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
15 October 2026
Original website title
moonstream-to/moonworm · Official homepage title · retained in its source language