Tollbooth DPYC 0.1.55:为MCP服务器提供比特币闪电网络微支付解决方案
Tollbooth DPYC 0.1.55:为MCP服务器提供比特币闪电网络微支付解决方案作者:James Bentley
来源:Pypi.org
引用:https://pypi.org/project/tollbooth-dpyc/0.1.55/
Tollbooth DPYC项目,旨在为MCP(多智能体控制协议)服务器提供比特币闪电网络的微支付解决方案,以解决MCP服务器运营中的经济问题。
项目灵感来源于诺顿·朱斯特的《幽灵 tollbooth》,由朱尔斯·费弗插图(1961年)。Milo、Tock、收费站、词典城和数字城都是朱斯特先生非凡想象力的产物。Tollbooth DPYC项目则专注于构建支付基础设施。
**问题**:
目前,成千上万的开发者正在构建MCP服务器,这些服务器允许AI代理(如Claude)与世界互动。每个服务都是地图上的一个城市。然而,连接这些城市的公路却开放无阻,没有收费站,没有可持续的经济模式,只是一片没有人知道如何资助的道路网络。
每个MCP运营商都面临着一个共同的问题:如何维持运营?
传统的API密钥和每月计费?你现在在运营一家SaaS公司。L402协议——闪电网络本地的按请求付费?每个API调用都需要支付谈判。Milo的玩具车在每一个交叉口都要停下来找零。
**解决方案**:
Tollbooth DPYC采取了不同的方法——一种尊重每个人时间的做法:
Milo只需在收费站停车一次,用一张闪电发票购买一卷代币,然后开车。没有停车,没有谈判,没有按请求的摩擦。代币在后台悄悄地减少。当卷子快用完时,他再买一卷。高速公路保持畅通。
通过比特币的闪电网络提供预付费信用额度,在工具级别进行门控,即时结算,无需订阅管理,也没有第三方支付处理器从中抽取提成。
**安装**:
pip install tollbooth-dpyc # 带Nostr功能(安全快递,审计跟踪,通知)
pip install tollbooth-dpyc
**功能**:
Tollbooth DPYC提供了一系列模块和工具,包括:
- TollboothConfig:用于配置Tollbooth的冻结数据类。
- UserLedger:每个用户的信用余额,带有借记/贷记/回滚,每日使用日志,JSON序列化。
- BTCPayClient:用于BTCPay Server Greenfield API的异步HTTP客户端——发票,支付,健康检查。
- VaultBackend:可插拔持久化协议。
- LedgerCache:内存中的LRU缓存,具有写后刷新。
- ToolTier:工具调用计费的成本层。
- tools.credits:现成的工具实现。
- tools.anchors:OpenTimestamps比特币锚定。
- ConstraintEngine:评估访问/定价约束列表。
- ConstraintGate:将约束与_debit_or_error模式集成的中间件助手。
- SecureCourierService:3个MCP工具的高级包装器。
- NostrCredentialExchange:NIP-44/NIP-04加密DM凭证交付。
- CredentialVaultBackend:可插拔凭证存储协议。
- NostrAuditPublisher:在每次存储写入时发布kind-30078 NIP-78事件。
- NotificationManager:当客户余额超过阈值时,主动发送NIP-44 DM。
- ToolPricing:动态定价。
- TheBrainVault:使用基于思想的持久性的存储后端。
- NeonVault:使用无服务器Postgres的Neon作为存储后端。
**快速开始**:
python
from tollbooth import TollboothConfig, UserLedger, BTCPayClient, LedgerCache
# 配置
config = TollboothConfig(
btcpay_host="https://your-btcpay.example.com",
btcpay_store_id="your-store-id",
btcpay_api_key="your-api-key",
tollbooth_royalty_address="[email protected]",
)
# 创建BTCPay客户端
async with BTCPayClient(config.btcpay_host, config.btcpay_api_key, config.btcpay_store_id) as client:
# 创建1000 sats的发票
invoice = await client.create_invoice(1000, metadata={"user": "milo
页:
[1]