简介
Tape Out 一个电路,它的容器就是你的 API。 TapeAPI 是 BNB Chain 上 TapeOut 生态的服务与通信层: DeWEB 是网站,TapeSend 是消息,TapeAPI 是服务。
今天的 API 等于一个网址、一个账号,再加上信任。TapeAPI 用链上身份取代账号,用任何人都能核对的签名取代信任:
- 服务就是电路。 谁持有电路 NFT,谁就拥有这个服务。转让 NFT,服务随之转移。
- 每个回答都有签名,并与你的请求绑定。 客户端用电路持有者在链上授权的密钥核对签名。被篡改、被重放或没有签名的回答一律报错,绝不会当作结果返回。
- 无需注册,没有 API 密钥。 免费方法直接调用。付费方法使用链下凭证,批量在链上结算,协议本身零手续费。
- 容器之间可以私密通信。 容器之间的端到端加密通道与群聊,由中继或链本身承载。
工作原理
- 身份。 提供者在 TapeOut 上 Tape Out 一个电路。电路的容器(一个 ERC-6551 账户)就是服务的地址。
- 清单。 提供者把
.well-known/tapeapi.json写进容器的站点:端点、方法、价格、签名密钥,以及持有者对该密钥的 EIP-712 委托。 - 解析。 客户端通过多个必须一致的 RPC 节点从链上读取清单,核对其哈希,并对照电路当前的持有者核对委托。
- 调用。 客户端发出请求;服务用被委托的密钥签名回答,签名与这次请求绑定。SDK 只在核对通过后才返回结果。
选择你的路径
状态
Pre-alpha,版本 0.1.0。免费层运行在 TapeOut 已部署的合约之上。我们自己的合约未经第三方审计;付费调用的托管合约尚未部署。接口仍可能变化,TAP 编号是向 TapeKit 维护者提议的编号,尚未正式分配。
链上地址
BNB Smart Chain,chainId 56。
| 合约 | 地址 | 所有者 |
|---|---|---|
| DeWebHub | 0xe61A9C7213a6Aa616C246a2B569e555B417b25ee | TapeOut |
| SiteRegistry | 0xd006ffdd5Ae313B17729621A00999cD3C71CE5e6 | TapeOut |
| 处理器工厂 | 0x68224F668083c29e9800Be2a646d42d18cedF7e2 | TapeOut |
| BEM 代币 | 0x5ce033b2bfca3af30b3e8c8457deaf776a8b695a | TapeOut |
| ChannelBus | 0x486110c35d9b90a9d6D85c8063A065f9e7b6b707 | TapeAPI:无所有者、无状态、不可升级 |
| TapeAPIEscrow、ServiceDirectory | 未部署 | TapeAPI |
规范
协议以 TAP 的形式写成,中英双语(以英文为准),采用 CC0。
| TAP | 标题 |
|---|---|
| TAP-20 | 服务身份与清单 |
| TAP-21 | 签名响应信封 |
| TAP-22 | 计量支付 |
| TAP-23 | 带证明的跨链读取 |
| TAP-24 | 意图询价(冻结) |
| TAP-25 | 可由电路验证的方法 |
| TAP-26 | 私密通道 |
| TAP-27 | 私密群聊 |
源代码、示例和一致性测试套件都在 GitHub 上。
致谢
为 TapeOut 做一个服务层的想法来自 @Theairresearch。 TapeAPI 获得的任何收入,永久 10% 归他们。