进阶 getfoundry.sh 2026-10-10 09:32:11 · 9 阅读

第6章 Foundry v1.7.0 支持 MPP 付费 RPC 端点

MPP 支持的 RPC 端点

Foundry v1.7.0 能够处理使用 Machine Payments Protocol(MPP)的 RPC 提供商返回的 HTTP 402 Payment Required 响应。

当 RPC 端点返回 402 时,Foundry 会自动发现你的 Tempo 钱包、支付质询并重试请求。普通 RPC URL 照常工作,只有端点要求付款时才会启用 MPP。

安装并配置钱包

最简单的做法是安装 Tempo CLI 并登录一次:

$ curl -fsSL https://tempo.xyz/install | bash $ tempo wallet login

这会创建 ~/.tempo/wallet/keys.toml,Foundry 可以自动发现它。

如果你想直接提供单个密钥,可以改用设置 TEMPO_PRIVATE_KEY:

$ export TEMPO_PRIVATE_KEY=0xabc123...

向 MPP 端点发起请求

把任意 Foundry 工具指向支持 MPP 的 RPC URL 即可:

$ cast block-number --rpc-url https://rpc.mpp.tempo.xyz

内置 tempo 和 moderato 回退别名

Foundry 内置了两个 MPP 别名,无需任何 foundry.toml 配置即可使用:

别名 解析为 tempo https://rpc.mpp.tempo.xyz moderato https://rpc.mpp.moderato.tempo.xyz

因此在新 shell 里可以直接这样用:

$ cast block-number --rpc-url tempo $ forge test --fork-url moderato

这些回退别名只在 [rpc_endpoints] 中没有定义同名别名时才生效。

配置存款和本地状态

Foundry 会自动开立并复用支付通道。

要覆盖新通道的默认存款金额,请设置 MPP_DEPOSIT:

$ MPP_DEPOSIT=500000 cast block-number --rpc-url tempo

已打开的通道存储在 $TEMPO_HOME/channels.db。

如果未设置 TEMPO_HOME,Foundry 会使用 ~/.tempo/channels.db 如果你从旧版本升级,~/.tempo/foundry/channels.json 已不再使用,通道会自动重新打开

密钥发现顺序

Foundry 按以下顺序发现 MPP 签名密钥:

TEMPO_PRIVATE_KEY $TEMPO_HOME/wallet/keys.toml

读取 keys.toml 时,Foundry 的优先级为:

包含内联签名密钥的 Passkey 条目 其他包含内联私钥的条目 首个匹配的条目作为兜底

当服务器质询指定了 chain ID 或货币时,Foundry 会先按质询过滤密钥,再应用上述优先级规则。

相关指南

Tempo:项目设置和 Tempo 专属配置 MESC:如需在共享配置文件中管理 RPC 别名 cast block 和 cast call:基于 RPC 的工作流 这个页面有帮助吗?在 GitHub 上建议修改

评论 (0)