BREWCOLITHE SALOON PLAN · 2026
FIELD PLAN · PRODUCT + DELIVERY

先把一轮酒
请得明白。

BREWCOLI Saloon Invite(产品概念):一个计划向所有人开放使用的独立酒馆体验。收件人先为自己的 Solana 与 EVM 地址分别签名关联,朋友核对后可用 Solana 上的 ZAMA 请客,并可另附一条仅授权收件人解密的 Sepolia 密封祝酒。

这是一份产品与实施计划,产品仍处于测试与开发阶段。主角是绿色西兰花牛仔;收据公开、祝酒正文加密,两件事要说清楚。

DRAFT FOR PRODUCT DECISIONS
版本 1.0 · 2026-10-05面向产品 / 设计 / 工程 / 社区独立社区创作
01

执行摘要

把“下一轮我请”做成一条可核验、跨两条链的朋友体验:Solana ZAMA 转账负责公开请客;Ethereum Sepolia 上的 Zama FHE 合约负责加密存放一段短祝酒。

WHAT

一张邀请卡

昵称、原创牛仔头像、Solana 收款地址、Sepolia EVM 解密地址。双签关联钱包由产品流程验证,卡片本身只是分享信息。

WHY

先确认,再请客

发送者核对两条链的收款地址后选择金额。普通 ZAMA 转账与可选密封祝酒独立提交、独立显示状态。

BOUNDARY

不伪装隐私

支付、地址、时间与链上交易可公开查看。只有祝酒正文使用 Zama FHE 密文和收件人授权解密。

产品口径:任何人都可参与;付款人仍需准备 ZAMA 转账额与 SOL 网络费。仅发 Sepolia 测试祝酒时需 Sepolia ETH 支付测试网费用。用户自由输入金额,也可用“一杯 / 两杯 / 一轮”快捷选项(具体数额待定)。项目不收额外服务费;网络费、协议费如有必须在签名前说明。

当下可交付的真实基础:Sepolia 上已完成独立密封祝酒 PoC 的真实端到端验证。钱包 SDK 生产选型、Solana 钱包转账、邀请关联和正式产品均待开发或验证。

02

状态与范围边界

状态内容产品表达
已确定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。
03

叙事、出处与对外文案

BREWCOLI 取 Brocoli 与 brew 的双关。用户提供的角色命名出处是 @noespadon 自创的 Woody Brocoli;BREWCOLI 是据此独立创作的新角色,不是 Zama 或 Mint City 的官方吉祥物。

“Thks ! this is a ledger, and you can make your own. mine is Woody Brocoli”@noespadon · 角色命名出处 · 原文保留拼写与标点

查看作者原帖 ↗ · 查看 Zama 分享的 Mint City 原帖 ↗

Mint City Sepolia 社区游戏有“bank mint stablecoins → sheriff shield → saloon encrypted beer payment”体验,入口为 faucet.cfdtl.xyz ↗。这是来源体验链接。没有源码许可前,不复制、移植或声称修改了原游戏;BREWCOLI companion 酒馆独立开发。

英文主文案

HERO

NEXT ROUND'S ON BREWCOLI.

A broccoli cowboy. A cold beer. A saloon full of friends.

PRODUCT

Send ZAMA on Solana. Add a toast encrypted with Zama on Ethereum Sepolia.

中文说明:Solana 上公开转 ZAMA;可选在 Ethereum Sepolia (Zama FHE) 发送加密祝酒正文。

CTA

Make an Invite · Buy the next round · Open the receipt

PRIVACY

Your toast is encrypted for the recipient. Payment details remain public on their networks.

叙事限制:不写 “anonymous”、 “only you can ever see this” 或“完全隐私”。发送者本来就知道输入正文,收件人也可能转发;公开收据隐藏展示字段不会改变链上公开性。
04

用户与关键旅程

常客 · 邀请发起人 / 收件人

认识你的朋友

愿意连接钱包并完成签名验证。希望自己的收款地址展示清楚、能收到 ZAMA,也能在自己的钱包中解密密封祝酒。

圈外朋友 · 付款人

第一次来酒馆

任何人都可加入,无需持有特定资产或理解 FHE;若付款,仍需 ZAMA 及 SOL 网络费。需要确认收件人、代币和金额;能选择只付小费、不发祝酒;失败后知道钱是否已转出。

默认主路径

RECIPIENT
  1. 连接 Solana 钱包及 EVM 钱包,分别签署用途明确、含随机 nonce 与过期时间的关联声明,证明对两地址的控制及各自授权本次关联,不代表现实身份认证。
  2. 选择昵称和自创头像,预览邀请卡。邀请链接只携带公开资料及已验证地址,不含明文祝酒、签名私钥或解密密钥。
  3. 分享卡片;可撤销或重新生成邀请标识,仅阻止未来通过该卡生成新交互,不能撤销已提交密文的永久 ACL;签名过期时重新验证。
SENDER
  1. 打开邀请页,看到昵称、Solana 地址和 Sepolia EVM 地址;核对链名与地址缩略及完整复制值。
  2. 连接 Solana 钱包;自由填写金额或使用“一杯 / 两杯 / 一轮”快捷金额。
  3. 确认金额、ZAMA mint、收款地址、预计网络费用后提交 Solana 转账并等待确认。
  4. 成功后可选择写祝酒。正文在本机加密后发往 Sepolia;支付与 toast 分开签名、分开报告状态。
  5. 查看 Round Receipt 并分享。默认不显示正文、精确金额、完整地址;用户可主动公开金额。
RECIPIENT
  1. 收件箱分别显示收到的 Solana 小费与 Sepolia 密封消息,不把两条链合并成一个“原子完成”。
  2. 在 EVM 钱包中授权解密自己的密封正文;失败时可稍后重试解密/读取,不重发付款。

邀请卡上的双地址必须来自已验证的关联流程。仅展示两个地址或让用户自行填入,不能证明这两个钱包属于同一人。

05

页面信息架构

首发做一套轻量网页体验。首页解释、邀请、转账、收件箱、收据和出处账本可以是路由或锚点页面;先保持前端直连钱包与链,确有检索需求再加最小索引服务。

策划示意:下表 CTA 与关键文案是信息架构草案,不代表页面、按钮或交易功能已上线。
页面用户问题 / 主要内容主要 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标注哪些是概念、哪些已验证,严禁把引用写成官方合作。
06

双链泳道:两笔独立动作

Solana 支付与 Sepolia 密文提交之间没有桥、原子交换或跨链结算。UI 的任务是避免用户把“分别成功”误解为“一笔交易共同成功”。

1 · 核对邀请发送人看到已关联的 Solana 收款地址与 EVM 解密地址;关联声明由两个钱包各自签名。
→
2 · 公开支付Solana 钱包向确认过的 ZAMA mint / 收款地址转账。交易金额、地址、时间和 tx 可公开查询。
→
3 · 可选密封祝酒前端对短文本加密,EVM 钱包在 Ethereum Sepolia (Zama FHE) 提交密文;收件人授权解密。
SOLANA · PAYMENT
  1. 验证 cluster 为计划使用的网络;读取官方 mint;校验代币账户和余额。
  2. 显示 mint、收件人、数量、网络费;用户签名 transfer。
  3. 等待确认,保存签名 / signature 与确认状态。浏览器刷新后可从 URL/本地保存记录恢复查询。
公开链上转账 没有 FHE 隐私保证
ZAMA SEPOLIA · TOAST
  1. 构造最多 32 bytes ASCII 短文本;中文 / emoji 扩展须单独验证编码和成本后再过 gate。在客户端用经核验的 Zama FHE SDK 加密并生成输入证明。
  2. 确认当前 EVM chain ID 为 Sepolia (11155111),提交 recipient + 密文到已核验合约。
  3. 合约 ACL 仅授权合约及目标 recipient 读取;收件人通过钱包授权读取 / 解密。
加密正文 · 公开 metadata 无 Solana 原生 FHE
隐私范围:密文正文之外,消息 ID、recipient 地址、交易时间、密文容量及交易费用等链上信息仍可能公开。PoC 固定 32 字节编码会显露容量;生产产品需确认编码和 UI 文案。公开收据不可出现“匿名”或“完全不可追踪”。
07

最小技术方案

WALLET

按链选择钱包

Solana adapter 负责读取账户和签转账;EVM provider 负责签名验证、切 Sepolia、发送密文交易与授权解密。前端 SDK 的兼容性、许可、版本和手机支持先做 spike;PoC 的 legacy relayer SDK 不自动升级或照搬为生产选型。

ASSOCIATION

双签关联,防重放

服务端可选:把两个地址、签名请求来源 origin、用途、唯一 nonce、issuedAt、expiresAt 组成规范化消息;Solana 与 EVM 分别签名,客户端或轻量 API 验证后签发短期关联凭证。过期即拒绝。MVP 由最小状态 API 消费 nonce 并撤销 invite;客户端仍负责验证两条链签名的用途、origin 与过期时间,不把 nonce 保护包装成身份认证。

INVITE

链接放最少数据

分享标识可使用随机不可猜的 invite ID,由静态/轻量记录映射昵称、头像及双地址。不可放祝酒明文、钱包私钥、SDK key 或长期有效的签名。限制昵称长度、过滤危险内容、图片先用预设/本地选取并控制上传面。

INDEX

先从事件恢复

支付和密文消息可通过 RPC / 合约事件读取及浏览器本地历史回查。若收件箱必须跨设备可检索,再加只保存 message ID、recipient、chain、tx hash、状态的最小索引;不存明文。RPC 提供商与留存期限待定。

配置必须从官方来源核验

ZAMA mint 使用 Zama 官方文档记录并固定校验;界面显示完整 mint 与来源链接。地址只读配置,mainnet/devnet 明确区分。

Solana ZAMA mint: 4Zp52aF4hZi9fzH19xpbWKYKQvgLyCN67KFbrQDqeTKh
EVM PoC evidence (Sepolia): 0x32534A058bCB6Fed5A9826A87f063389b1998c91
Chain guard: Sepolia chain ID 11155111 for sealed-toast test path
不做大后台:MVP 建议用极小 API/状态表保存 invite ID、地址关联凭证摘要、nonce 到期与已消费标记,只服务邀请撤销和全局防重放;钱包签名仍由客户端验证,不建账户体系,也不保存祝酒明文。收件箱索引跨设备需求另行 gate。

消息验证PoC的当前边界

合约 `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 对计划路径的实际影响。

08

状态机与失败恢复

阶段状态 / 错误行为与安全规则
关联等待 Solana 签名 / 等待 EVM 签名 / 已验证 / 已过期两把钱包各自授权本次地址关联,不代表现实身份认证;签名提示明确“验证地址关联、不转账”,不记录私钥。任一签名缺失或 nonce 过期,作废整组并重新签。
准备支付wrong chain / wrong mint / insufficient balance拒绝继续;解释预期网络与 mint;不得静默切网络后直接签名。
支付提交awaiting signature / submitted / confirming / confirmed / failed提交后用 signature 查询状态。网络超时先查询原交易,不直接重签,避免重复转账;只有明确失败后让用户重新确认。
祝酒提交draft / encrypting / awaiting signature / submitted / confirmed / failedPhase 1 toast 独立测试;Phase 2 联动仅 tip confirmed 后开放追加祝酒。Toast failed 时只重试 toast,显示已成功的 tip tx hash;绝不再次触发 transfer。
收件人locked / decrypting / decrypted / unavailableWrong wallet 或权限失败时提醒切换收件人钱包;RPC 暂不可用可重试读取/解密;不自动再次写链。

手续费可能由钱包估算并随网络变动;前端显示估算来源与实际链上结果。交易广播后页面关闭时,以链上 signature 为准;客户端不得只靠按钮回调标记成功。

09

阶段、工时与验收

以下为一名熟悉前端/Web3 的工程师与一名产品/设计协作的粗估人日,含实现、集成和自测,不含等待外部平台支持、品牌生产或主网审批。可并行任务不等于日历截止日期。

PHASE 0 · 已完成

PoC 验证

交付:客户端 codec、mock ACL/chain guard、real SDK encryption smoke、Sepolia E2E 及 README 证据。

依赖 / 验收:Sepolia 测试币、测试钱包;recipient 解出原文,sender/stranger 被拒。单机约 13 秒和交易费只作样本。

负责人:Luna 执行;root 核对证据。

PHASE 1 · 4–7 人日

邀请 + toast 原型

交付:双钱包关联签名、invite create/profile、短文加密提交、收件箱和 recipient 解密;不做 Solana 付款。

依赖:确认前端 SDK、消息签名格式、nonce/过期与 invite 最小状态策略。

通过:测试钱包完成关联;toast 可独立提交/重读;sender、陌生钱包解密失败;页面无支付错觉。

负责人:Luna 实现;root 验收;user 定文案。

PHASE 2 · 3–5 人日

Solana 支付验证

交付:Devnet SPL 转账、ZAMA mint/account guard、金额/费用预览、confirmation 状态恢复与失败提示。

依赖:Solana 钱包适配器、devnet 测试 SPL token;此处只验证转账代码,不称官方 ZAMA devnet。

通过:错误网络/mint 被拒;超时先查原 signature;tip confirmed 后才可选 toast;toast 失败重试不重付。

负责人:Luna 实现;root 验收;user 决定后续主网 gate。

PHASE 3 · 4–7 人日

封闭 / 公开 beta

交付:手机钱包兼容、RPC 降级策略、无敏感日志复核、跨设备 inbox 决策、支持/故障流程及发布页。

依赖:安全评审、隐私文案、beta 条款与监控;若接 mainnet ZAMA 小额测试,另行专项授权和独立清单。

通过:验收清单全过、关键依赖风险有处置结论、故障可定位且不重复付款。

负责人:Luna 交付;root 签验收;user 批准公开 beta 与主网操作。

角色分工:Luna 负责产品方案、实现、验证记录与风险标注;root 负责规划监督、验收和优先级;user 决定品牌方向、部署与主网发布授权;链与钱包政策由对应官方资料复核。

发布验收清单

  • 邀请分享能区分已验证与未验证地址
  • Solana 与 Sepolia 网络检查正确
  • 错误 mint、错误网络不能发交易
  • 过期签名被拒;nonce 重放策略及其服务端状态范围经核验
  • 支付金额、收款方、mint、费用在签名前可见
  • tip 成功、toast 失败时不重复转账
  • 收件人能解密;sender/陌生地址失败
  • 不同钱包无权限,不出现错误的“公开解密”入口
  • 手机 Safari/Chrome 钱包跳转可用
  • 键盘焦点、标签、颜色对比和窄屏布局可读
  • 日志、分析、错误报告均无私钥/明文 toast
  • 收据默认隐藏金额/完整地址,解释链上可见性
  • 断网、RPC 超时、刷新后状态可恢复
  • 外链标注社区/官方来源与测试网风险
10

产品测试与公开发布决策门

邀请体验、Sepolia 密封祝酒与 Solana ZAMA 支付按阶段验证;公开发布前需完成对应的产品、安全、隐私与支持准备。

决策项当前状态通过 gate 所需证据
邀请与双钱包关联待开发两条链签名、用途、origin、nonce 与过期校验通过;用户能核对完整地址。
Sepolia 密封祝酒PoC 已验证,产品原型待开发收件人可解密,发送者与陌生钱包被拒;错误网络与失败恢复通过。
Solana ZAMA 支付待技术验证网络、mint、金额、收件地址和费用在签名前明确;超时查询原交易且不重复付款。
角色与素材已有命名出处,视觉资产未定稿使用原创素材并记录许可范围;不得暗示与出处作者或 Zama 官方合作。
手机与无障碍待验证常见手机钱包流程、键盘操作、标签、颜色对比和窄屏布局通过验收。
支持与发布待准备隐私文案、故障处理、依赖风险复核与支持入口就绪;按阶段批准 beta 范围。
ZAMA 用于产品中的 Solana 支付。Zama SVM 路线持续关注官方资料;SVM 原生 FHE 未纳入当前实施范围,也不预设支持日期。
11

风险与约束

双链认知与误付

双地址关联、mint 标识和签名前预览是付款边界。错地址一旦转出可能不可逆;不要隐藏完整核对步骤。

隐私承诺过度

FHE 保护约定字段正文的访问,不消除 metadata、发送者已知信息或收件人转发能力。收据隐藏不是链上隐私。

SDK 与依赖审计

PoC 是 legacy SDK 路径且扫描报告有 8 项 high findings;需逐项判断是否触及产品依赖、生产构建和部署工具,更新后再定发布风险,不泛化成“全是开发依赖”或“对产品无影响”。

Solana FHE 边界

本方案在 Solana 只做公开 token transfer;FHE toast 落在 Ethereum Sepolia (Zama FHE) EVM。SVM 适配未验证,不承诺日期或原生支持。

原游戏与角色许可

引用来源与链接可以说明灵感;移植 Mint City 或复制角色资产前要取得许可。以原创 companion 保持边界清晰。

12

下一步:一次只定一件

  1. 推荐先定 Phase 1 的体验边界:先只做邀请卡 + Sepolia 密封 toast 测试网原型,暂不接入 Solana 付款。这样可单独验证双钱包关联与密文收件流程。
  2. 通过原型后,复核钱包 SDK、签名规范和 8 项 high audit findings 对实际依赖链的影响。
  3. 再做 Solana devnet transfer 技术验证与手机钱包测试,确认误付防护、状态恢复及费用说明。
  4. 技术与 UX gate 通过后,再按安全、隐私与支持准备情况决定产品 beta 范围。
建议当前决策:批准进入“邀请卡 + Sepolia toast 测试网原型”的详细规格与估算;Solana ZAMA 支付在 devnet 验证通过后再进入 beta 范围审议。
13

证据与参考资料

项目内验证记录

  • 本地 PoC README(相对路径):编码边界、ACL 行为、依赖版本、执行命令与已验证测试说明。
  • Sepolia PoC 合约:0x32534A058bCB6Fed5A9826A87f063389b1998c91。
  • Sepolia deployment transaction ↗ · toast submission transaction ↗。
  • 这次样本总交易费 0.001298724736343126 Sepolia ETH,仅为一次测试结果,不是服务报价或主网成本预估。加密 + proof 约 13 秒为单机样本,不是性能承诺。收件人临时密钥未持久化,因此该记录无法作为可再次解密的公开 demo。

官方 / 上游技术资料

品牌与游戏来源

BREWCOLI is an independent community concept. No official affiliation or endorsement is claimed. Product status and network details must be rechecked before release.