跳至主要內容
返回範例應用程式

x402 探索者

一個示範應用程式,展示Quicknode 所提供的x402 協定,用於按請求付費的區塊鏈 API 存取。請連接您的錢包、透過 SIWE 進行身份驗證,並使用 EVM 支付簽名跨多條鏈呼叫 RPC/REST 方法。

前端框架/函式庫:
React
語言:
TypeScript
建置工具/開發伺服器:
Next.js
範例應用程式預覽

概覽

此範例應用程式展示了Quicknode 所採用的x402 協定,該協定用於實現按請求付費的區塊鏈 API 存取。x402 協定可讓API 呼叫實現無縫的微支付——每項請求皆透過 EVM 簽名進行支付,從而無需使用傳統的 API 金鑰或訂閱方案。

連接您的錢包,透過「Ethereum 登入」(SIWE)進行驗證,並向水龍頭申請testnet 的 USDC。當您執行區塊鏈方法時,若信用點數不足,應用程式將自動使用您的testnet USDC 購買測試信用點數。您可在多個網路中執行 RPC/REST 方法,包括Ethereum 、Base Sepolia、Arbitrum 、Polygon 以及Aptos 。

建築

錢包 ──► SIWE 驗證 ──► JWT 憑證


x402 Fetch 封裝程式(JWT + EVM 支付簽名)


Quicknode x402 API ──► 區塊鏈 RPC / REST

每個 API 請求都會被 @x402/fetch,該功能會透過您已連線的錢包自動簽署付款授權。x402 後端會驗證簽名、扣除代幣,並將請求轉發至目標區塊鏈網路。

特色


  • 透過 ConnectKit連接錢包(MetaMask、Coinbase Smart Wallet 等)
  • 透過 SIWE 驗證以取得會話 JWT
  • Testnet Base Sepolia 上的USDC 贈幣活動— 當需要時,系統會自動使用 的 USDC 進行購買testnet
  • 橫跨Ethereum 、Base 、Sepolia、Arbitrum 、Polygon 及Aptos
  • 每次回應中皆會附帶「付款元資料檢查」結果
  • 支援JSON-RPC、REST、gRPC-Web 及 WebSocket方法

支援的方法

由於支援所有 JSON-RPC、REST、gRPC-Web 以及 WebSocket 方法,您可以呼叫目標網路上的任何可用方法。為便於示範,此應用程式內建了常用方法的按鈕:

方法議程網路
eth_blockNumberJSON-RPCBase Sepolia,Arbitrum ,Polygon
eth_gasPriceJSON-RPCBase
eth_chainIdJSON-RPCEthereum
帳本資訊RESTAptos
依高度分區RESTAptos

先決條件


  • Node.jsv18 及以上版本
  • pnpmv8+
  • 已設定Base Sepoliatestnet 的瀏覽器錢包(例如 MetaMask)

專案架構

src/
├── app/ # Next.js 應用程式路由器(頁面與佈局)
├── components/
│ ├── providers.tsx # Wagmi + React Query + ConnectKit 提供者
│ └── wallet-connection-shell.tsx
├── hooks/
│ ├── use-x402-auth.ts # SIWE 驗證狀態
│ ├── use-credits.ts # 信用餘額擷取
│ └── use-x402-fetch.ts # 經認證的資料擷取封裝函式
└── lib/
├── constants.ts #x402 URL、鏈 ID、合約地址
├── methods.ts # 可用 RPC/REST 方法定義
├── types.ts # TypeScript 類型
└──x402.ts # 核心x402 邏輯(認證、信用點數、執行)

環境變數

變數預設說明
NEXT_PUBLIC_X402_BASE_URLhttps://x402.quicknode.com/x402 API 基礎網址

建立一個 .env.local 需覆寫的檔案,但預設值指向公開的x402 endpoint ,您無需任何設定即可使用該連結進行測試。

NEXT_PUBLIC_X402_BASE_URL=https://x402.quicknode.com/

開始使用

1. 複製儲存庫

git clone https://github.com/quiknode-labs/qn-guide-examples.git
cd qn-guide-examples/sample-dapps/x402-quicknode

2. 安裝依賴項

pnpm 安裝

3. 啟動開發伺服器

pnpm 開發

請在瀏覽器中開啟http://localhost:3000。連接您的錢包、透過 SIWE 進行驗證、向水龍頭申請testnet USDC,並開始進行「按次付費」的 API 呼叫——系統會在需要時自動使用您的testnet USDC 購買信用額度。


預覽

預覽

貢獻與回饋
我們非常樂意聽取您的意見,並歡迎您為這個範例應用程式提供任何貢獻!
若要回報問題或提供意見回饋,請在 qn-guide-examples 儲存庫。
若要貢獻,請依照以下步驟操作:
  1. 分叉此儲存庫
  2. 建立功能分支:
    git checkout -b feature/amazing-feature
  3. 將您的變更提交:
    git commit -m "新增超棒的功能"
  4. 推送您的分支:
    git push origin feature/amazing-feature
  5. 開啟一個 Pull Request。