发布付费应用
从 Olares v1.12.3 版本开始,Olares 应用市场支持付费应用分发。要销售应用,开发者必须在区块链上注册 Olares ID (DID) 并安装 Merchant 应用来管理许可证、订单和收款记录。
本文将介绍如何发布付费应用并配置 Merchant。
前提条件
开始前,请确保你已具备:
- Olares ID:有效的 Olares ID(例如
[email protected])。 - Olares OS:运行 v1.12.3 或更高版本的 Olares 主机。
- 开发者资格:已获得开发者资格(通过邮件申请)。
- 本地环境:本地计算机已安装 Node.js。
设置钱包并充值 Gas 费
要启用支付功能,需要在区块链上注册你的 Olares ID (DID)。这属于链上交互,需要少量的网络手续费 (Gas Fee)。
设置加密钱包
本教程以 MetaMask 为例,你也可以使用其他加密钱包。
- 在手机端打开 LarePass。
- 进入设置 > 安全 > 助记词查看助记词。
安全提示
助记词是账户的最高权限凭证。切勿将其泄露给他人或上传至公共代码库。请在安全的本地环境中执行以下操作。
- 在浏览器中安装 MetaMask 插件。
- 在 MetaMask 中选择添加钱包 > 导入钱包,输入你的 Olares 助记词完成导入。
充值 Gas 费
注册过程会消耗 Optimism 网络上的少量 ETH 作为手续费。
在 MetaMask 中切换网络至 Optimism (OP Mainnet)。
复制你的钱包地址(以
0x开头)。
向该地址转入少量 ETH。建议至少 0.0005 ETH 以支付后续的 Gas 费。
生成并注册 RSA 密钥
为确保交易安全与许可证唯一性,你需要生成 RSA 密钥对,并将公钥注册到你 Olares ID 的链上记录中。
生成 RSA 密钥对
- 安装
did-cli工具:bashnpm install -g @beclab/olaresid - 生成默认的 2048 位 RSA 密钥对:bash命令成功后,你会看到类似如下输出:
did-cli rsa generate
- 查看生成的密钥内容:bash
cat ./rsa-public.pem cat ./rsa-private.pem安全警告
请妥善保管
rsa-private.pem。稍后配置 Merchant 应用时需要用到它。
注册 RSA 公钥
将生成的公钥绑定到你的 Olares ID。此操作需要使用助记词进行签名,并会消耗 Gas。
将助记词导出为临时环境变量,并将值用双引号包裹:
bashexport PRIVATE_KEY_OR_MNEMONIC="xx xxx xx ..." echo $PRIVATE_KEY_OR_MNEMONIC检查你的 Olares ID 是否已存在 RSA 公钥:
bashdid-cli rsa get [email protected] --network mainnet若看到以下提示,说明未设置公钥,可以继续:
text❌ No RSA public key set for this domain验证 Owner 钱包地址,确保其与你之前充值的钱包一致:
bashdid-cli owner [email protected] --network mainnet示例输出:
text👤 Owner: 0x3.....将 RSA 公钥注册上链:
bashdid-cli rsa set [email protected] ./rsa-public.pem --network mainnet验证注册结果:
bashdid-cli rsa get [email protected] --network mainnet从环境中清除助记词:
bashunset PRIVATE_KEY_OR_MNEMONIC echo $PRIVATE_KEY_OR_MNEMONIC若无输出,说明已清除。
配置你的应用(OAC)
付费应用与免费应用的 OAC 基本一致,你只需要额外完成两项配置:
- 在 Chart 根目录(OAC 根目录)添加
price.yaml文件。 - 将
VERIFIABLE_CREDENTIAL注入到应用中,以便应用读取用户的购买凭证。
添加定价配置
在 Chart 根目录下创建 price.yaml:
# 开发者的 Olares 实例地址
developer: alice123.olares.com
# 付费应用
paid:
# product_id 格式:repoName-appName-productId
product_id: apps-appname-paid
price:
- chain: optimism | eth
token_symbol: USDC | USDT
receive_wallet: "0xcbbcd55960eC62F1dCFBac17C2a2341E4f0e81c8"
product_prize: 100000
description:
- lang: en
title: Purchase item title
description: Purchase item description
icon: https://item.icon.url
# 应用内购买或订阅项目(尚未实现)
products: []启用许可证校验
你的应用可以通过注入的环境变量读取用户的购买凭证。
在需要进行付费校验的 Pod 模板中添加该环境变量:
- name: VERIFIABLE_CREDENTIAL
value: "{{ .Values.olaresEnv.VERIFIABLE_CREDENTIAL }}"在 OlaresManifest.yaml 中声明该变量:
envs:
- envName: VERIFIABLE_CREDENTIAL
required: true
type: string
editable: false
applyOnChange: true更多环境变量行为说明,请参考 OlaresManifest.yaml 中的环境变量。
提交应用
按照标准提交流程创建 PR,提交你的应用。
安装并配置 Merchant
Merchant 应用是你的收银台和管理面板,可用于:
- 查看开发者信息(产品列表、RSA 密钥、收款钱包、订单等)。
- 发放产品许可证。
- 应用启动时验证许可证。
保持 Merchant 在线
购买请求需要实时回调你的 Olares 主机完成验证。请确保运行 Merchant 的主机 24 小时在线,网络连接稳定快速。主机离线或网络不稳定可能导致用户无法完成购买。
安装 Merchant
- 打开 Olares 应用市场,搜索“Merchant”。
- 点击获取,然后点击安装。
初始化配置
安装完成后,从启动台打开 Merchant。
- 在登录界面,输入你的开发者 Olares ID,并点击导入开发者。
- Merchant 会自动加载链上产品信息与 RSA 公钥。
- 打开你的私钥文件:bash复制完整内容,粘贴到 Merchant 的对话框中,然后点击导入私钥。
cat ./rsa-private.pem
在 Merchant 中管理销售
设置完成后,Merchant 会打开 Home 面板,你可以在此监控身份状态、密钥配置、钱包资产和交易历史。
INFO
左侧导航栏中的 Store 与 Buy App 页面目前仅用于调试/测试。在当前发布流程中可忽略。
同步状态
交易列表上方的状态指示器支持手动刷新:
Synced:已同步至最新。Syncing:正在从链上拉取数据。Not synced:未同步。Error:同步失败,请检查网络连接。
交易字段说明
| 字段 | 说明 |
|---|---|
| Wallet | Merchant 管理的开发者收款钱包地址。 |
| Type | 交易类型:
|
| Tx Hash | 交易记录哈希,链上交易的唯一标识符。 |
| From/To | 交易对手地址,根据交易类型显示:
|
| Contract | 代币合约地址,表示资产类型与来源:
|
| Amount | 交易金额,单位与 Contract 指定的代币一致。 |
| Time | 交易在链上被确认并记录的时间戳。 |
| Product |
|
更新开发者信息
如需修改 RSA 密钥、更新产品信息、调整价格或更改收款地址:
- 重新生成 RSA 密钥或更新应用配置,然后提交包含更新信息的 PR。
- 等待 PR 审核合并。
- PR 合并后,从启动台打开 Merchant。收到提示时,点击更新配置/重新安装以应用最新配置。更改将立即生效。