# Moccasin

整理：链小知（AI 辅助）
资料核对日期：2026-10-12
引用地址：https://lianxiaozhi.com/tools/moccasin

Cyfrin 的 Python/Vyper 开发测试框架，基于 titanoboa；适合核对本地 pyevm 与脚本配置优先级。

官方入口：https://cyfrin.github.io/moccasin/
类别：开发与基础设施
网络：Ethereum、Arbitrum
访问条件：本地 Python/Vyper 工程使用 mox CLI；pyevm 不需真实钱包。真实网络命令、账户和 RPC 配置属于独立接入。
费用：pyevm 模拟不支付真实链 Gas；fork 会使用远端 RPC 额度，真实部署另有链上费用。

## 用途
- 检查 mox test 是否保持本地
- 排查配置覆盖
- 识别 fork 的远端读取
- 核对 named contract 可能触发部署

## 使用边界
- 官方 README 标 beta；文档各页更新时间不同，应固定项目依赖和命令帮助后再复现。
- Ethereum/Arbitrum 来自官方 named contract 配置示例，不代表预配置公共节点或全部版本部署验证。
- 脚本设置优先于 CLI 参数；--network pyevm 不能阻止任意测试代码主动发起 HTTP/RPC。
- manifest_named 在合约缺失时可能执行部署；--fork 仍依赖远端 RPC，不能按离线测试理解。

## 操作教程
- [Moccasin 的本地测试为何连了远端：核对 pyevm 与配置优先级](https://lianxiaozhi.com/tools/guides/moccasin-pyevm-config-local-test)：沿着脚本、CLI 和配置文件逐级排查，并识别 fork 与 manifest_named 的外部读取/部署边界。

## 相关知识

## 官方依据
- [Moccasin：官方 README](https://raw.githubusercontent.com/Cyfrin/moccasin/main/README.md)
- [Moccasin：pyevm 本地网络生命周期](https://cyfrin.github.io/moccasin/core_concepts/networks/pyevm.html)
- [Moccasin：配置优先级](https://cyfrin.github.io/moccasin/core_concepts/moccasin_toml.html)
- [Moccasin：test 命令参数](https://cyfrin.github.io/moccasin/cli_reference/test.html)
- [Moccasin：manifest_named 的读取与部署边界](https://cyfrin.github.io/moccasin/core_concepts/named_contracts/manifest_named.html)
