一张邀请卡
昵称、原创牛仔头像、Solana 收款地址、Sepolia EVM 解密地址。双签关联钱包由产品流程验证,卡片本身只是分享信息。
BREWCOLI Saloon Invite(产品概念):一个计划向所有人开放使用的独立酒馆体验。收件人先为自己的 Solana 与 EVM 地址分别签名关联,朋友核对后可用 Solana 上的 ZAMA 请客,并可另附一条仅授权收件人解密的 Sepolia 密封祝酒。
这是一份产品与实施计划,产品仍处于测试与开发阶段。主角是绿色西兰花牛仔;收据公开、祝酒正文加密,两件事要说清楚。
DRAFT FOR PRODUCT DECISIONS把“下一轮我请”做成一条可核验、跨两条链的朋友体验:Solana ZAMA 转账负责公开请客;Ethereum Sepolia 上的 Zama FHE 合约负责加密存放一段短祝酒。
昵称、原创牛仔头像、Solana 收款地址、Sepolia EVM 解密地址。双签关联钱包由产品流程验证,卡片本身只是分享信息。
发送者核对两条链的收款地址后选择金额。普通 ZAMA 转账与可选密封祝酒独立提交、独立显示状态。
支付、地址、时间与链上交易可公开查看。只有祝酒正文使用 Zama FHE 密文和收件人授权解密。
当下可交付的真实基础:Sepolia 上已完成独立密封祝酒 PoC 的真实端到端验证。钱包 SDK 生产选型、Solana 钱包转账、邀请关联和正式产品均待开发或验证。
| 状态 | 内容 | 产品表达 |
|---|---|---|
| 已确定 | BREWCOLI = Brocoli + brew;原创绿色西兰花牛仔;口号 “Next round's on Brewcoli.”;独立 Saloon companion 概念。 | 可进入设计与原型,不代表角色素材已定稿。 |
| 已验证 | PoC 在 Sepolia 允许指定收件人解密密文正文,发送者及陌生地址被拒绝;客户端 codec 限制可接受文本。部署和交易哈希见证据。 | 仅说明该 PoC 和该次 E2E 通过,不是生产就绪或 SLA。 |
| 待开发 | 邀请卡、双钱包签名关联、Solana ZAMA 转账、余额/网络校验、收件箱、收据、端到端产品安全与发布。 | 不得写成可用功能;可标注“计划中”。 |
| 待决策 | 钱包 SDK 组合、签名消息格式和有效期、toast 文本上限、快捷金额、索引方案与品牌资产。 | 先验证兼容性与成本,再定规格。 |
| 明确不包含 | 跨链桥/原子交易、SVM 原生 FHE 与复杂链上 FHE 游戏。 | 不暗示官方背书、官方合作或 Zama 已支持 Solana 原生 FHE。 |
BREWCOLI 取 Brocoli 与 brew 的双关。用户提供的角色命名出处是 @noespadon 自创的 Woody Brocoli;BREWCOLI 是据此独立创作的新角色,不是 Zama 或 Mint City 的官方吉祥物。
查看作者原帖 ↗ · 查看 Zama 分享的 Mint City 原帖 ↗
Mint City Sepolia 社区游戏有“bank mint stablecoins → sheriff shield → saloon encrypted beer payment”体验,入口为 faucet.cfdtl.xyz ↗。这是来源体验链接。没有源码许可前,不复制、移植或声称修改了原游戏;BREWCOLI companion 酒馆独立开发。
NEXT ROUND'S ON BREWCOLI.
A broccoli cowboy. A cold beer. A saloon full of friends.
Send ZAMA on Solana. Add a toast encrypted with Zama on Ethereum Sepolia.
中文说明:Solana 上公开转 ZAMA;可选在 Ethereum Sepolia (Zama FHE) 发送加密祝酒正文。
Make an Invite · Buy the next round · Open the receipt
Your toast is encrypted for the recipient. Payment details remain public on their networks.
愿意连接钱包并完成签名验证。希望自己的收款地址展示清楚、能收到 ZAMA,也能在自己的钱包中解密密封祝酒。
任何人都可加入,无需持有特定资产或理解 FHE;若付款,仍需 ZAMA 及 SOL 网络费。需要确认收件人、代币和金额;能选择只付小费、不发祝酒;失败后知道钱是否已转出。
邀请卡上的双地址必须来自已验证的关联流程。仅展示两个地址或让用户自行填入,不能证明这两个钱包属于同一人。
首发做一套轻量网页体验。首页解释、邀请、转账、收件箱、收据和出处账本可以是路由或锚点页面;先保持前端直连钱包与链,确有检索需求再加最小索引服务。
| 页面 | 用户问题 / 主要内容 | 主要 CTA(示意) | 关键文案 / 状态 |
|---|---|---|---|
| 项目首页 | BREWCOLI 是什么、公开小费与密封祝酒如何区分、隐私边界、PoC 来源。 | Create your invite / Open an invite | “Public tip. Sealed toast. Two separate networks.” 明确产品还在测试阶段。 |
| Invite Create / Profile | 设置昵称头像、连接 Solana + EVM 钱包、发起双签关联、生成预览卡。 | Verify both wallets / Create invite | 两把钱包各自授权本次关联,仅证明地址控制权,不证明现实身份;不发交易,展示 nonce 与到期说明。 |
| Send a Round | 显示收件人双地址、选择自由金额/快捷项、可选祝酒、费用和双链状态。 | Send ZAMA tip / Add a sealed toast | 两个独立确认动作。Phase 1 测试网 toast 可独立走通;Phase 2 联动时仅 tip confirmed 后开放可选 toast。Toast 失败不影响 tip。 |
| Toast Inbox | 按 Sepolia 链与收件人地址索引密文事件,打开授权解密。 | Open your toast | 密文、交易、网络费可见;解密按钮只对收件人钱包可成功。 |
| Round Receipt | 分享完成状态与交易链接;用户主动选择公开金额。 | Copy receipt link | 默认隐藏明文、金额、完整地址。提示隐藏展示不改变链上公开信息。 |
| Provenance / Ledger | 链接角色出处、Mint City、Zama 官方文档、PoC 代码和真实测试凭证。 | Inspect sources | 标注哪些是概念、哪些已验证,严禁把引用写成官方合作。 |
Solana 支付与 Sepolia 密文提交之间没有桥、原子交换或跨链结算。UI 的任务是避免用户把“分别成功”误解为“一笔交易共同成功”。
Solana adapter 负责读取账户和签转账;EVM provider 负责签名验证、切 Sepolia、发送密文交易与授权解密。前端 SDK 的兼容性、许可、版本和手机支持先做 spike;PoC 的 legacy relayer SDK 不自动升级或照搬为生产选型。
服务端可选:把两个地址、签名请求来源 origin、用途、唯一 nonce、issuedAt、expiresAt 组成规范化消息;Solana 与 EVM 分别签名,客户端或轻量 API 验证后签发短期关联凭证。过期即拒绝。MVP 由最小状态 API 消费 nonce 并撤销 invite;客户端仍负责验证两条链签名的用途、origin 与过期时间,不把 nonce 保护包装成身份认证。
分享标识可使用随机不可猜的 invite ID,由静态/轻量记录映射昵称、头像及双地址。不可放祝酒明文、钱包私钥、SDK key 或长期有效的签名。限制昵称长度、过滤危险内容、图片先用预设/本地选取并控制上传面。
支付和密文消息可通过 RPC / 合约事件读取及浏览器本地历史回查。若收件箱必须跨设备可检索,再加只保存 message ID、recipient、chain、tx hash、状态的最小索引;不存明文。RPC 提供商与留存期限待定。
ZAMA mint 使用 Zama 官方文档记录并固定校验;界面显示完整 mint 与来源链接。地址只读配置,mainnet/devnet 明确区分。
合约 `SealedToast.sol` 接收 4 个 `euint64` 块及输入证明;客户端 codec 将最多 32 字节 ASCII 编成 4 块,并在客户端拒绝空值、NUL、非 ASCII 和超限输入。合约本身无法对密文原文执行这些字符检查。只有合约和收件人得到 ACL 权限;没有 admin、upgrade 或 public decrypt。PoC 依赖 `@fhevm/hardhat-plugin` 0.4.2、`@fhevm/mock-utils` 0.4.2、`@fhevm/solidity` 0.11.1(FHE 合约库)、Hardhat 2.28.6 及 `@zama-fhe/relayer-sdk` 0.4.1 legacy SDK。前端 SDK 需独立选型并复核依赖审计中报告的 8 项 high findings 对计划路径的实际影响。
| 阶段 | 状态 / 错误 | 行为与安全规则 |
|---|---|---|
| 关联 | 等待 Solana 签名 / 等待 EVM 签名 / 已验证 / 已过期 | 两把钱包各自授权本次地址关联,不代表现实身份认证;签名提示明确“验证地址关联、不转账”,不记录私钥。任一签名缺失或 nonce 过期,作废整组并重新签。 |
| 准备支付 | wrong chain / wrong mint / insufficient balance | 拒绝继续;解释预期网络与 mint;不得静默切网络后直接签名。 |
| 支付提交 | awaiting signature / submitted / confirming / confirmed / failed | 提交后用 signature 查询状态。网络超时先查询原交易,不直接重签,避免重复转账;只有明确失败后让用户重新确认。 |
| 祝酒提交 | draft / encrypting / awaiting signature / submitted / confirmed / failed | Phase 1 toast 独立测试;Phase 2 联动仅 tip confirmed 后开放追加祝酒。Toast failed 时只重试 toast,显示已成功的 tip tx hash;绝不再次触发 transfer。 |
| 收件人 | locked / decrypting / decrypted / unavailable | Wrong wallet 或权限失败时提醒切换收件人钱包;RPC 暂不可用可重试读取/解密;不自动再次写链。 |
手续费可能由钱包估算并随网络变动;前端显示估算来源与实际链上结果。交易广播后页面关闭时,以链上 signature 为准;客户端不得只靠按钮回调标记成功。
以下为一名熟悉前端/Web3 的工程师与一名产品/设计协作的粗估人日,含实现、集成和自测,不含等待外部平台支持、品牌生产或主网审批。可并行任务不等于日历截止日期。
交付:客户端 codec、mock ACL/chain guard、real SDK encryption smoke、Sepolia E2E 及 README 证据。
依赖 / 验收:Sepolia 测试币、测试钱包;recipient 解出原文,sender/stranger 被拒。单机约 13 秒和交易费只作样本。
负责人:Luna 执行;root 核对证据。
交付:双钱包关联签名、invite create/profile、短文加密提交、收件箱和 recipient 解密;不做 Solana 付款。
依赖:确认前端 SDK、消息签名格式、nonce/过期与 invite 最小状态策略。
通过:测试钱包完成关联;toast 可独立提交/重读;sender、陌生钱包解密失败;页面无支付错觉。
负责人:Luna 实现;root 验收;user 定文案。
交付:Devnet SPL 转账、ZAMA mint/account guard、金额/费用预览、confirmation 状态恢复与失败提示。
依赖:Solana 钱包适配器、devnet 测试 SPL token;此处只验证转账代码,不称官方 ZAMA devnet。
通过:错误网络/mint 被拒;超时先查原 signature;tip confirmed 后才可选 toast;toast 失败重试不重付。
负责人:Luna 实现;root 验收;user 决定后续主网 gate。
交付:手机钱包兼容、RPC 降级策略、无敏感日志复核、跨设备 inbox 决策、支持/故障流程及发布页。
依赖:安全评审、隐私文案、beta 条款与监控;若接 mainnet ZAMA 小额测试,另行专项授权和独立清单。
通过:验收清单全过、关键依赖风险有处置结论、故障可定位且不重复付款。
负责人:Luna 交付;root 签验收;user 批准公开 beta 与主网操作。
邀请体验、Sepolia 密封祝酒与 Solana ZAMA 支付按阶段验证;公开发布前需完成对应的产品、安全、隐私与支持准备。
| 决策项 | 当前状态 | 通过 gate 所需证据 |
|---|---|---|
| 邀请与双钱包关联 | 待开发 | 两条链签名、用途、origin、nonce 与过期校验通过;用户能核对完整地址。 |
| Sepolia 密封祝酒 | PoC 已验证,产品原型待开发 | 收件人可解密,发送者与陌生钱包被拒;错误网络与失败恢复通过。 |
| Solana ZAMA 支付 | 待技术验证 | 网络、mint、金额、收件地址和费用在签名前明确;超时查询原交易且不重复付款。 |
| 角色与素材 | 已有命名出处,视觉资产未定稿 | 使用原创素材并记录许可范围;不得暗示与出处作者或 Zama 官方合作。 |
| 手机与无障碍 | 待验证 | 常见手机钱包流程、键盘操作、标签、颜色对比和窄屏布局通过验收。 |
| 支持与发布 | 待准备 | 隐私文案、故障处理、依赖风险复核与支持入口就绪;按阶段批准 beta 范围。 |
双地址关联、mint 标识和签名前预览是付款边界。错地址一旦转出可能不可逆;不要隐藏完整核对步骤。
FHE 保护约定字段正文的访问,不消除 metadata、发送者已知信息或收件人转发能力。收据隐藏不是链上隐私。
PoC 是 legacy SDK 路径且扫描报告有 8 项 high findings;需逐项判断是否触及产品依赖、生产构建和部署工具,更新后再定发布风险,不泛化成“全是开发依赖”或“对产品无影响”。
本方案在 Solana 只做公开 token transfer;FHE toast 落在 Ethereum Sepolia (Zama FHE) EVM。SVM 适配未验证,不承诺日期或原生支持。
引用来源与链接可以说明灵感;移植 Mint City 或复制角色资产前要取得许可。以原创 companion 保持边界清晰。
0x32534A058bCB6Fed5A9826A87f063389b1998c91。BREWCOLI is an independent community concept. No official affiliation or endorsement is claimed. Product status and network details must be rechecked before release.