@monad-crypto/mpp 包为 Machine Payments Protocol(MPP)实现了 Monad 支付。它通过 Monad 上的 ERC-20 代币转账实现一次性支付处理。
本指南涵盖 Monad 专用的 @monad-crypto/mpp 包。有关 MPP 通用概念,请参阅 MPPX 文档。
安装
安装该包及其对等依赖:- npm
- pnpm
- yarn
- bun
服务端
服务端定义所需的支付并验证客户端提交的凭证。从服务端入口导入monad 并传入 Mppx.create。
server.ts
保护端点
使用mppx.charge() 作为中间件,在返回响应之前要求支付。
server.ts
/premium 但未提供有效的支付凭证时,服务器将返回 402 Payment Required 状态码及描述支付要求的 challenge。客户端随后提交凭证(交易哈希或已签名的授权)以完成支付。
测试网
默认情况下,该包连接到 Monad 主网(chain ID143)。要使用测试网,请设置 testnet: true。
客户端
客户端处理钱包交互和凭证创建。从客户端入口导入monad。
在使用本地私钥时,客户端默认使用 pull 模式 —— 签署一个 ERC-3009 授权而不广播交易。
client.ts
Push 与 Pull 模式
覆盖模式
使用mode 选项显式设置支付模式,无论账户类型如何。
Monkey patch
客户端Mppx.create() 函数会 monkey patch Web fetch API,以便在收到 402 Payment Required HTTP 响应时使用配置的支付方式。
您也可以直接使用 mppx.fetch。
client.ts
链接
- NPM 包:@monad-crypto/mpp
- GitHub 仓库:monad-crypto/monad-ts

