- 云原生
- 后端
- 运维
【免费下载链接】Terminus
Open-Source Personal Cloud OS for Always-On Agents
Olares(Terminus)应用市场支持付费应用的分发与购买。与普通应用不同,付费应用的购买流程需要 Olares 系统、LarePass 手机端与加密货币钱包(如 MetaMask)三方协同完成,支付与授权记录以可验证凭证(Verifiable Credential)的形式保存在链上。本文基于 Olares 应用市场官方手册,结合仓库中的发布规范与凭证实现源码,完整讲解付费应用的购买前置条件、三步购买流程、卸载/重置/换机后的恢复方法,以及背后的 price.yaml 定价、链上身份与许可证校验原理,帮助你安全、无重复付费地使用付费应用。
购买付费应用的整体机制
付费应用(Paid App)是一种pay-to-download(付费下载)类型应用,与免费市场应用几乎完全一致,只是在应用包(OAC)根目录多出一个price.yaml定价文件,并在应用工作负载中注入VERIFIABLE_CREDENTIAL环境变量用于读取购买凭证(见 付费应用发布规范)。
一次完整购买需要三方协作:
- Olares 系统(电脑端):在应用市场中发起购买、发起身份验证并最终安装应用;
- LarePass 手机端:作为身份验证载体,确认"授权支付访问"与"授权购买"两个请求,并保存购买凭证(VC 卡片);
- 加密货币钱包(MetaMask 等浏览器插件):完成代币转账与 Gas 费支付。
购买成功后,购买凭证会以 VC(Verifiable Credential)形式保存在 LarePass 手机端的设置 > 安全 > VC 卡片中;该凭证同时由应用开发者服务在应用启动时进行校验,作为许可证(License)的链下执行依据。
购买前的准备
在开始购买前,请确保你已完成以下准备工作:
- 加密货币钱包:已安装并登录浏览器钱包插件(例如 MetaMask)。钱包内需要同时持有两类资金:
- 应用购买费用:用于支付软件授权费。具体支付的代币币种由应用发布时的
price.yaml配置文件决定,通常为USDC 或 USDT; - 网络 Gas 费:用于支付区块链交互的手续费。Gas 费必须使用 ETH支付。
- 应用购买费用:用于支付软件授权费。具体支付的代币币种由应用发布时的
- LarePass 手机端:手机上已安装 LarePass 应用,并登录了与 Olares 系统一致的账户。
需要特别注意的是,付费应用的支付与身份验证均发生在Optimism(OP Mainnet)等支持 EVM 的链上(从发布规范看,price.yaml中的paid.price.chain支持optimism或eth,见 olares-publish-paid-apps.md),因此钱包中应预留足够 ETH 作为 Gas 费,且建议至少预留约 0.0005 ETH 以覆盖链上交互开销。
三步完成付费应用购买
第一步:发起购买与身份验证
- 打开 Olares应用市场。
- 搜索目标付费应用,点击获取,然后点击购买。
- 在验证支付访问权限弹窗中,点击立即验证。
- 打开你的 LarePass 手机端应用: a. 你会看到授权支付访问的请求弹窗; b. 点击确认; c. 若未收到弹窗,返回 Olares 应用市场的应用页面,再次点击购买以重新发起请求。
说明:此步骤验证的是身份所有权(你是否拥有发起购买所对应的 Olares ID / DID),而非发起新的交易请求。它相当于打开购买通道的钥匙。
第二步:确认订单
- 身份验证成功后,回到 Olares 应用市场的应用页面,再次点击购买。
- 在验证购买请求弹窗中,点击立即验证。
- 再次查看你的 LarePass 手机端应用: a. 此时你会看到授权购买的请求弹窗; b. 点击确认。
至此,购买请求已在你的数字身份下完成签名确认,系统将基于链上记录生成购买凭证。
第三步:完成钱包支付
- 回到 Olares 应用市场的应用页面,点击支付。
- 浏览器将自动唤起MetaMask(或其他已连接的钱包)插件。
- 在钱包弹窗中核对金额,确认并批准交易。
- 等待区块链确认交易。
- 支付成功后,你即可点击安装来安装使用该应用。
- 支付完成后,你可以在 LarePass 手机端应用中的设置>安全>VC 卡片中看到购买凭证。
恢复已购应用(无需重复付费)
无论你是卸载应用、重置系统还是迁移至新 Olares 主机,只要购买记录仍可通过链上身份验证,就可以恢复权益并重新安装,无需重复购买。
卸载应用后重新安装
如果你是在当前的 Olares 系统中重装已卸载的付费应用,系统会在本地保留你的应用许可证。你只需在应用市场找到该应用,点击获取,然后点击安装即可重新安装,无需经过支付流程。
重置系统或更换主机后恢复安装
如果你重置了 Olares OS 或更换了新的主机硬件,本地的许可证信息已经被清除,此时必须通过链上身份验证来恢复购买权益:
- 确保你已经用购买该应用时的 Olares ID 激活了当前的 Olares OS。
- 打开 Olares 应用市场。
- 搜索目标付费应用,点击获取,然后点击购买。
此步骤系统检测到链上购买记录后,不会扣除费用。
- 在电脑端出现的授权支付访问弹窗中,点击立即验证。
此步骤旨在验证你的身份所有权,而非发起新的交易请求。
- 验证通过后,按钮将显示为安装,点击此按钮即可安装。
身份绑定与数据丢失风险
- 身份绑定:你的购买记录绑定在你的Olares ID(DID)上,而非特定的硬件主机上。只要你可以使用 LarePass 或拥有助记词备份,即可在通过相同的 Olares ID 激活新系统后,恢复你的应用。
- 数据丢失风险:如果丢失助记词,你将永久丢失该数字身份及所有已购应用。此时,你必须创建新账号并重新购买应用。此外,应用授权的恢复还取决于开发者服务是否在线——如果开发者服务不可用,你可能无法成功恢复应用。
助记词是恢复 Olares ID 的唯一方式(详见 备份助记词)。强烈建议离线备份 12 个助记词并妥善保管,同时保留 LarePass 的本地密码与生物识别配置,以便在换机场景下重新导入身份。
付费机制背后的实现:price.yaml、链上 RSA 与 VC 凭证
付费应用的定价与许可证机制,在应用发布侧有明确的规范约束,理解这些细节有助于你排查购买与恢复过程中的问题。
price.yaml:定义币种、收款地址与价格
付费应用的 OAC(应用配置)根目录需要放置price.yaml,其典型结构如下(示例出自 olares-publish-paid-apps.md):
developer: alice123.olares.com # 开发者的 Olares 实例地址 paid: product_id: apps-appname-paid # 格式:repoName-appName-productId price: - chain: optimism # optimism | eth token_symbol: USDC # USDC | USDT receive_wallet: "0xcbbcd55960eC62F1dCFBac17C2a2341E4f0e81c8" product_price: 100000 # 具体数值单位见官方发布文档 description: - lang: en title: Purchase item title description: Purchase item description icon: https://item.icon.url products: [] # 应用内购买 / 订阅条目——当前版本尚未实现从该规范可以看出:当前仅支持 pay-to-download(付费下载)模式,应用内购买与订阅(products: [])尚未实现;支付代币通常为 USDC 或 USDT,Gas 费使用 ETH;chain字段决定交易发生的链(optimism或eth)。
许可证校验链路:链上 RSA 公钥 + VERIFIABLE_CREDENTIAL 注入
付费应用的许可证体系由三部分组成:
- 链上 RSA 公钥注册:开发者需将自己的 RSA 公钥绑定到 Olares ID(DID)上链(注册为一次链上写入,需消耗 Optimism 上的少量 Gas 费)。买家购买凭证的签名校验即基于该公钥。
- VERIFIABLE_CREDENTIAL 注入:应用通过以下环境变量读取买家凭证,作为许可证校验依据:
- name: VERIFIABLE_CREDENTIAL value: "{{ .Values.olaresEnv.VERIFIABLE_CREDENTIAL }}"并在
OlaresManifest.yaml中声明该环境变量(required: true、editable: false、applyOnChange: true),确保应用启动时能拿到当前用户的购买凭证。 - Merchant 应用(开发者侧):开发者安装 Merchant 并导入 Olares ID 与 RSA 私钥后,即可在买家应用启动时实时校验其凭证、签发许可证。因此开发者主机需要保持在线——离线或网络不稳会阻断买家完成购买。
购买凭证的链下载体:W3C Verifiable Credential
购买凭证在 LarePass 的 VC 卡片中展示的底层格式,遵循 W3C Verifiable Credential Data Model。仓库中的 cli/pkg/web5/vc/vc.go 提供了完整的 VC 实现:DataModel[T]定义了@context、type、issuer、credentialSubject、issuanceDate、expirationDate、credentialSchema、evidence等字段(对应 W3C VC 规范 的标准属性);Create方法以urn:vc:uuid:格式生成凭证 ID,Sign方法将凭证按 vc-jwt 格式签名并输出 JWT(typ固定为JWT,sub对应凭证主体的 DID)。
这意味着你的每次购买都会产出一份由开发者身份(Issuer)签名、绑定你的 DID(Subject)的标准化凭证——它既是"已付费"的链上事实的链下证据,也是换机恢复安装时系统据以判断"无需再次扣费"的依据。
常见问题
Q1:为什么支付时钱包需要同时准备 USDC/USDT 和 ETH?USDC/USDT 用于支付应用购买费用(代币币种由price.yaml的token_symbol决定),ETH 用于支付区块链交互的 Gas 费,两者缺一不可。
Q2:恢复已购应用时还会再扣费吗?不会。恢复流程中的"购买"步骤仅为触发链上身份校验——系统检测到该 Olares ID 下已有购买记录后即跳过扣费,按钮直接变为安装。
Q3:换了新主机还能恢复付费应用吗?可以。购买记录绑定在 Olares ID(DID)上而非硬件。用同一 Olares ID 激活新系统后,通过 LarePass 或助记词恢复身份,再按"重置系统或更换主机后恢复安装"流程操作即可。
Q4:为什么有时候无法恢复已购应用?可能原因包括:助记词丢失导致无法恢复数字身份;开发者服务离线导致凭证校验不可达。前者只能创建新账号并重新购买,后者需等待开发者服务恢复。
相关文档
- 应用市场:安装、卸载和更新:付费应用安装后的日常管理(更新、卸载、暂停、日志)。
- 备份助记词:保护数字身份与购买权益的关键前置操作。
- 付费应用发布规范:面向开发者的 price.yaml 与链上密钥配置细节。
- 发布付费应用入口 Skill:了解付费应用从发布到 Merchant 校验的完整流程。
- 云原生
- 后端
- 运维
【免费下载链接】Terminus
Open-Source Personal Cloud OS for Always-On Agents
相关推荐
FlutterFire应用内购买终极指南:结合Firebase验证购买凭证的完整教程
FlutterFire应用内购买终极指南:结合Firebase验证购买凭证的完整教程 FlutterFire是Firebase官方提供的Flutter插件集合,
后端移动开发Buzz:五步完成离线音频转录,在本地生成字幕文件
Buzz:五步完成离线音频转录,在本地生成字幕文件 Buzz 是一款基于 OpenAI Whisper(一种语音识别模型)的离线音频转录工具。它在你的个人电脑上
语音AI 应用本地部署桌面应用Koel Plus 购买与许可证激活指南:一次付费、Web/CLI 双通道激活与迁移停用全流程
Koel Plus 购买与许可证激活指南:一次付费、Web/CLI 双通道激活与迁移停用全流程 Koel 的音乐流媒体服务在保留全部开源能力的同时,通过 Koe
音视频后端前端
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考