基于 Cloudflare Workers 的 JSON-RPC 代理:
- 根据子域名路由到对应的 Alchemy 上游列表;
- 不支持 batch;
- 读方法可缓存,写方法不缓存且不重试;
- 读方法在 429/网络错误时进行指数退避+抖动的重试(有最大次数与总预算限制);
- CORS 开放全部来源。
- 安装依赖
pnpm i
# 或 npm i / yarn- 配置子域名映射
编辑 src/config.ts 的 SUBDOMAIN_TARGETS,填入你的子域名与 Alchemy URL(带 API Key)。
- 本地开发
pnpm dev
# 或 npm run dev / yarn dev- 部署
在 wrangler.toml 中配置 routes,然后:
pnpm deploy
# 或 npm run deploy / yarn deploy- 仅支持
POST与OPTIONS; Content-Type: application/json;- Body 为单个 JSON-RPC 请求对象(不支持数组 batch)。
GET /health返回{"status":"ok"},不访问上游。
- 你要求将配置直接写在代码中:请注意 API Key 泄露风险,建议后续迁移到 Secrets。
- Cache API 仅支持 GET,本实现使用合成 GET Key 进行缓存,不影响客户端使用。