TapeAPI 操作台 / Holder console

在手机钱包的内置浏览器里打开本页。本页只会请求你的钱包确认交易,从不索要私钥或助记词。 Open this page in your wallet's in-app browser. It only asks your wallet to confirm transactions; it never asks for a key or a seed phrase.

1. 连接钱包 / Connect

未连接 / Not connected

2. 部署 ChannelBus / Deploy ChannelBus

TAP-26 §3.7 的链上传输合约:没有管理员、没有状态、不能升级,只会发事件。部署一次,任何人都可以用。 The on-chain transport of TAP-26 §3.7: no owner, no state, no upgrade path; it only emits events.

源码
GitHub

3. 核对 / Verify

核对某个地址上的代码是否与测试过的构建逐字节一致,以及两个常量。部署后会自动核对;也可以输入地址手动核对。 Checks that the code at an address equals the tested build byte for byte, and the two constants.

4. 你的电路 / Your circuit

两个框都填数字,不是地址。电路名字 <电路>.<处理器>.tape:例如 11.1013.tape,左边填处理器 1013,右边填电路 11(顺序和名字里相反)。页面从链上读出容器地址,并确认你连接的钱包就是当前持有人。

5. 服务密钥与变量 / Service key and variables

服务用这把密钥给每个回答签名。它在你的手机上生成,本页不会把它发到任何地方,也不会保存;关掉页面就没了。复制后粘到 Cloudflare: Workers & Pages → tapeapi-provider → Settings → Variables and Secrets → Add,类型选 Secret,名字 SIGNER_KEY。

6. 签委托 / Sign the delegation

设好 SIGNER_KEY 和上面三个变量、服务重新部署后,本页从服务读出它的签名地址,你用钱包签一个委托(EIP-712,只授权这把服务密钥代表你的容器回答,不涉及任何资金,90 天后到期)。

7. 把清单写上链 / Publish the manifest

把第 6 步的两个值设为变量、服务重新部署后,本页读取服务提供的清单,逐项核对它与你签的一致,再发一笔 SiteRegistry.putFile 交易把它写进容器站点。

页面源码:site/console。部署的字节来自 channelbus.json, 合约测试 ConsoleBytecode.t.sol 保证它与测试过的合约完全一致。