示例项目
Cobo 提供了一个示例项目 Hello World,允许您快速构建 Cobo Portal Apps 并在本地计算机上预览。有关详细信息,请参阅 创建示例 App 。前提条件
- 要构建和管理 Cobo Portal Apps ,您需要首先在 开发环境 中在 Cobo Portal 中创建一个团队。按照 创建您的账户和团队 中的说明设置您的 Cobo 帐户并创建您的团队。如果已设置团队,请要求您的团队管理员邀请您加入团队。
- 选择并安装 FastAPI 或 Next.js 作为您的开发框架。
开发 App
使用 Cobo CLI 创建 App
Cobo 命令行接口(CLI)是一种强大的开发工具,旨在帮助您直接从命令行构建、测试和管理与 Cobo Wallet-as-a-Service(WaaS)2.0 的集成。-
使用以下命令安装 Cobo CLI:
有关 Cobo CLI 的系统要求的更多详细信息,请参阅 安装 Cobo CLI。
-
登录到 Cobo Portal 并将 Cobo CLI 连接到您的 Cobo Portal 帐户。您可以选择 三种身份验证方法 之一进行身份验证。作为示例,此步骤将向您展示如何使用您的 Cobo Portal 帐户进行身份验证:
系统会提示您打开浏览器以继续授权过程。在您的浏览器中完成授权过程,授予 Cobo CLI 访问您的加密钱包的必要权限。有关身份验证方法的更多详细信息,请参阅 登录和身份验证。
-
使用 app init 命令基于模板创建示例 App 。您可以通过选项指定要创建的 WaaS App 的详细信息,或逐步选择这些参数并使用 Cobo CLI 的提示创建项目。
以下命令创建一个 Cobo Portal Apps 项目,使用 Org Access Tokens 进行身份验证,并在名为
hello_world的目录中创建项目:
获取身份验证信息
要在 Cobo Portal Apps 中对 WaaS 服务的 API 请求进行身份验证,您需要提供 App Key和 Org Access Tokens 。如果您不使用 WaaS SDK,则还需要计算 API 签名。有关获取身份验证所需信息的详细信息,请参阅 Cobo OAuth。验证 App 用户
User Info Tokens 是由 Cobo Portal 签名的 JSON Web Tokens 。这些 Tokens 允许 Cobo Portal Apps 检索有关用户的信息,包括用户 ID、电子邮件地址和权限。Cobo Portal Apps 可以使用这些信息来验证用户的身份,并根据权限控制用户访问团队资源。建议在用户开始使用 App 之前验证其身份。有关更多信息,请参阅 User Info Tokens 。调用 WaaS API
现在,您可以调用 WaaS 2.0 API 来构建 App 的功能。在调用 API 操作时,您需要在请求头中提供所需的身份验证信息。 以下代码片段显示了如何使用 WaaS Python SDK 列出团队中的所有钱包:配置Manifest 文件
在发布 App 之前,您需要填写Manifest 文件,该文件包含 App 的配置信息。有关字段描述和示例,请参阅以下表格:| 字段 | 描述 | 示例 |
|---|---|---|
| app_name | App 名称。 | SuperLoop |
| app_desc | App 的简要描述,长度限制为 80 个字符。 | SuperLoop 是一个离线结算网络,允许机构在不担心对手方风险的情况下在交易所进行交易。 |
| app_desc_long | App 的详细描述,包括用例和关键功能。 描述必须少于 1000 个字符,并以 Markdown 格式编写。 | SuperLoop 是一个离线结算网络,允许机构在不担心对手方风险的情况下在交易所进行交易。对于资产管理者,在交易所进行交易可以更有信心和效率地进行。无需在交易所预先充币,最大限度地降低对手方风险。 |
| app_icon_url | App 图标的 URL。 请联系我们的运营团队([email protected])帮助您上传 App 图标。 | https://d.cobo.com/public/logos/Logo.png |
| screen_shots | 至少三个展示关键功能的截图的 URL。 请联系我们的运营团队([email protected])帮助您上传截图。 | “https://d.cobo.com/apk/android/SuperLoop.png”, “https://d.cobo.com/apk/android/Loop.png”, “https://d.cobo.com/apk/android/MirrorModal.png” |
| required_permissions | App 访问团队资源所需的权限列表。 权限由资源类型和操作组成,中间用逗号隔开。例如, | “wallet:create”, “transaction:withdraw”, “mpc_project:update” |
| optional_permissions | (可选) App 可以请求访问团队资源的权限列表。 这些权限不是必需的,但可能会增强 App 功能。权限由资源类型和操作组成,中间用逗号隔开。例如, | “address_book:create”, “kyc_profile:read”, “team_member:freeze” |
| homepage_url | App 主页的 URL,用于将 App 嵌入 Cobo Portal 中的 iframe 中。 | https://example.com |
| callback_urls | 接收团队管理员批准 App 权限请求后回调的 URL。 | https://example.com/webhooks/organization/authorization |
| client_key | App Key。 有关生成 App Key的说明,请参阅 生成 App Key 和 App Secret。 | AbCdEfGhIjKlMnOpQrStUvWxYz1234567890 |
| creator_name | 开发者的名称。 | Cobo |
| contact_email | 开发者的联系电子邮件。 | [email protected] |
| operation_approval_rules | (可选) App 的默认审批工作流。如果要使用此功能,required_permissions 字段必须包含 app_governance_policy:update 和 app_governance_policy:read。有关配置审批工作流的详细信息,请参阅 配置审批工作流。 | [{“operation_id”: “25cbb115-82a1-4474-9993-538bb439ad33”, “operation_name”: “Make Batch Payout”, “default_approval_policies”: [{“action”: {“type”: “Quorum”, “content”: {“roles”: [“admin”], “threshold”: 1, “type”: “PART_APPROVAL”}}, “conditions”: [{“field”: “amount”, “value_type”: “INT”, “value”: “100”, “operator”: ”>”}]}, {“action”: {“type”: “Accept”, “content”: ""}, “conditions”: null}], “descriptions”: [{“field”: “amount”, “description”: “总金额(美元)”, “value_type”: “INT”, “display_name”: “总金额(美元)”}]}] |
| wallet_type | (可选) App 支持的钱包类型。可能的值如下:
Custodial, MPC,则用户只能选择这些钱包类型作为 App 可以访问的钱包范围。 如果此字段留空,则用户可以选择任何可用的钱包类型。 有关 WaaS 2.0 中的钱包范围的详细信息,请参阅 钱包范围。 | “Custodial”, “MPC” |
| is_policy_reminded | (可选) 是否提醒 App 用户设置 App 的交易风控。 默认值为 | true |



发布 App
完成 App 开发后,您可以使用 app upload Cobo CLI 命令将 App 发布到生产环境或开发环境:有关如何在开发环境和生产环境之间切换的更多信息,请参阅 环境管理。
- 正确配置 App Manifest 文件。
- 使用您的 Cobo Portal 帐户登录 Cobo CLI。
- 如果尚未生成 App Key,请生成 App Key。有关详细信息,请参阅 生成密钥。
- 从包含Manifest 文件的项目目录运行命令。
contact_email。一旦批准,您的 App 将可供所有 Cobo Portal 用户使用。
如果您将 App 发布到开发环境,则无需批准,您的 App 将仅可供团队中的用户使用。
app upload 命令将在Manifest 文件中生成 App 的客户端 ID。客户端 ID 是 Cobo Portal Apps 的唯一标识符,在生成后无法修改。它是获取 Org Access Tokens 所必需的。有关详细信息,请参阅 Org Access Tokens 。
App 只能发布一次,否则将出现错误。对于后续更新,您需要遵循 更新 App 的过程。
更新 App
如果您希望更新已发布的 App ,可以实现更改,然后使用 app update Cobo CLI 命令:- 正确配置 App Manifest 文件。
- 使用您的 Cobo Portal 帐户登录 Cobo CLI。
- 从包含Manifest 文件的项目目录运行命令。
