返回部落格
架構支付cryptoweb3http-402
API 貨幣化的未來:實作 HTTP 402 多鏈微支付
探索 ZelfProof 如何利用 HTTP 402 標準,在 Solana、Avalanche 和 Base 上實現無縫、改進的微支付。
Miguel Treviño•

幾十年來,HTTP 狀態碼
402 Payment Required 一直被保留用於未來使用。當 404 Not Found 和 500 Internal Server Error 成為我們日常開發者詞彙的一部分時,402 靜靜地等待著原生數位價值傳輸層的到來。隨著 Solana、Avalanche 和 Base 等高速區塊鏈的崛起,那個未來終於到來了。
在 ZelfProof,我們實作了一個生產就緒的 HTTP 402 架構,允許用戶使用我們的 ZNS 代幣按請求付費使用 API。這個系統消除了偶爾使用者的月訂閱摩擦,展示了「可程式化貨幣」的真正力量。
重點摘要:
- 創新: ZelfProof 實作了
HTTP 402 Payment Required,實現無縫的按請求付費 API 存取。 - 多鏈: 用戶可以使用 Solana、Avalanche 和 Base 上的 ZNS 代幣進行支付。
- 流程: 標準挑戰-回應:伺服器發送 402 並附帶費用 -> 客戶端在鏈上支付 -> 客戶端用交易雜湊重試。
- 影響: 實現真正的微支付,用公平的按使用量計費模式取代昂貴的月訂閱。
架構概述
我們的系統設計為鏈不可知的,允許用戶在其偏好的網路上付費,同時存取相同的統一 API 服務。
核心元件
- 支付中介軟體:在允許存取受保護端點之前驗證支付標頭和證明。
- 特定鏈驗證模組:Solana、Avalanche 和 Base 各有專用模組在其各自帳本上驗證交易。
- ZNS 代幣:用於所有支付的實用代幣。
流程如何運作
這個架構的美在於它的簡潔。它遵循標準的挑戰-回應模式:
- 挑戰:用戶嘗試存取受保護的端點(例如
/api/zelf-proof/encrypt)。 - 402 回應:伺服器檢查支付標頭。如果缺失,返回
402 Payment Required狀態。此回應包含一個 JSON 負載,其中有精確的指示:- 請求的費用(例如 0.1 ZNS)
- 接受的鏈
- 服務錢包地址
- 支付:用戶(或其客戶端應用程式)在其選擇的鏈上發送所需的 ZNS 代幣。
- 重試:客戶端重試原始請求,這次在
x-payment-tx標頭中附帶交易雜湊。 - 存取:中介軟體在鏈上驗證交易。如果有效,API 請求被處理。
sequenceDiagram
participant User
participant API
participant Blockchain
User->>API: POST /encrypt (無支付)
API-->>User: 402 Payment Required (費用: 0.1 ZNS)
User->>Blockchain: 發送 0.1 ZNS
Blockchain-->>User: 交易雜湊
User->>API: POST /encrypt (x-payment-tx: 雜湊)
API->>Blockchain: 驗證交易
Blockchain-->>API: 有效
API-->>User: 200 OK (加密資料)
為什麼選擇多鏈?
我們選擇支持 Solana、Avalanche 和 Base 以最大化可及性並最小化成本。
- Solana:亞秒級確認(約 400 毫秒)和可忽略的手續費。
- Avalanche:穩健的 EVM 相容體驗和快速確認時間。
- Base:利用以太坊的安全性和 L2 的速度。
每條鏈都有自己的驗證邏輯來處理區塊時間和確認要求的差異,確保我們不會讓用戶等待超過必要的時間。
開發者體驗
從前端整合這個系統很簡單。以下是典型客戶端處理 402 挑戰的方式:
async function callPaidEndpoint(endpoint, data, chain, wallet) {
try {
// 嘗試請求
return await axios.post(endpoint, data);
} catch (error) {
if (error.response?.status === 402) {
// 1. 獲取支付詳情
const { cost, serviceWallet } = error.response.data.paymentDetails;
// 2. 執行加密交易
const txHash = await wallet.sendTokens(cost, serviceWallet);
// 3. 帶證明重試
return await axios.post(endpoint, data, {
headers: {
"x-payment-chain": chain,
"x-payment-tx": txHash,
},
});
}
throw error;
}
}
安全與重放保護
允許透過交易雜湊進行支付引入了一個風險:重放攻擊。惡意用戶可能嘗試使用相同的交易雜湊進行多次 API 呼叫。
為防止這種情況,我們的中介軟體實作了:
- 交易追蹤:每個已使用的交易雜湊都儲存在資料庫中。
- Redis 快取:最近的支付被快取以供即時查詢。
- 原子驗證:檢查並標記為已使用的操作是原子的,以防止競態條件。
微支付的未來
這個架構為新的網路經濟鋪平了道路。服務可以按每篇文章、每秒影片或每次 API 呼叫收取幾分之一美分的費用,而不是用 20 美元/月的訂閱將內容擋在牆後。
透過利用 HTTP 402 和高效能區塊鏈,ZelfProof 不僅在建構產品;我們在建構網路貨幣化未來的藍圖。
與 Zelf 一起建構未來
準備好在你自己的應用程式中實作這個了嗎?或正在尋找一個能無縫處理這些微交易的安全、生物識別錢包?
- 整合 ZelfProof:只需幾行程式碼即可為你的應用程式添加隱私保護身份驗證。
- 探索我們的技術堆疊:查看我們的開源文檔,了解我們如何建構安全、可擴展的加密基礎設施。
- 加入網路:使用 Zelf 錢包乾淨安全地與 ZelfProof 服務互動。