第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 上建议修改