完整文档页面(中文翻译)。文末附有来源说明。

阅读英文版

appdevquickstartrunning-the-demo

运行演示

启动 Canton Network QuickStart 演示并走通许可工作流。

运行演示

运行演示

Explore the Canton Network Application Quickstart demo

业务场景

CN Quickstart 是构建、测试与部署 CN 应用的脚手架,解决每个 CN 应用都需处理的基础设施问题,让团队专注业务而非构建系统、部署与测试基础设施。

核心业务操作

Quickstart 以示例许可应用演示 Canton 开发模式:提供方销售基于时间的服务访问,用户用 Canton Coin(CC)并通过 Canton 钱包管理支付。

The app involves four parties:

  • 应用提供方销售许可。
  • 应用用户购买许可。
  • 底层 Amulet 代币系统处理支付,使用 CC。
  • DSO Party(去中心化 Synchronizer 运营方)运营 Amulet 支付系统;在 CN 中为 Super Validator。

The application issues licenses using the following process:

签发许可

提供方为已入驻用户创建新许可;许可初始为过期,使用前须续期。

请求许可续期

提供方创建续期请求并为用户生成付款请求;账本上创建匹配的 CC 付款请求。

支付许可续期

用户通过 Canton 钱包批准付款,在账本创建已接受付款合约。

续期许可

提供方处理已接受付款并更新许可过期日。

概览

本节帮助你在 CN App Quickstart 中熟悉一次 CN 业务操作。应用可由团队扩展;熟悉后请审视技术选型与设计。技术与设计决策由你决定。

发现错误请联系 Digital Asset 代表。

前置条件

演示前请先完成 CN App Quickstart 安装。

演练

CN App Quickstart 可按需启用授权;在 quickstart 子目录用 make setup 切换。演示关闭 TEST MODE、使用默认 party hint,并分别展示启用/未启用 OAUTH2 的路径,任选其一即可。Observability 可选。

选择你的路径:

make setup 未启用 OAUTH2:

Make setup no auth

make setup 启用 OAUTH2:

Make setup with auth

构建 Quickstart

   make build; make start

用无痕浏览器打开:

app-provider.localhost:3000

或在 quickstart/ 终端运行:

make open-app-ui
Safari 用户可能须在 `/etc/hosts` 手动映射 `app-provider` 子域:`sudo nano /etc/hosts` 添加:

127.0.0.1 app-provider.localhost

使系统将 app-provider.localhost 解析到本机,保存后重启 Safari。

登录

未启用 OAUTH2

未启用 OAUTH2 时,首页为简单登录框;在 User 字段输入 “app-provider” 以 AppProvider 登录。

CN App Quickstart Login screen without Auth

已启用 OAUTH2

启用 OAUTH2 时,首页通过 Keycloak OAuth 2.0 门户登录:

CN App Quickstart Login screen with Auth

请记住 AppProvider 用户名为 app-provider,密码为 abc123(全小写)。

在 Keycloak 以 app-provider 登录。

凭据:用户名 app-provider,密码 abc123

AppProvider login screen

应用安装菜单

登录后选择菜单 AppInstalls。

App Installs view

打开终端创建应用安装请求。

在 /quickstart/ 运行:

make create-app-install-request

该命令代表 Participant 创建应用安装请求。

App Install Request 若机器不足以运行 `LocalNet` 或容器无响应,可能返回 404/000;将 Docker 内存增至至少 8 GB 通常可恢复。 App Install Request error

回到浏览器。

AppInstallRequest

安装请求出现在列表中。

点击 Accept。

accept request

AppInstallRequest 已接受。

accepted request

操作更新为 Cancel 与 Create license。

创建许可

点击 Create License;许可已创建,“# Licenses” 字段更新。

create license

进入 Licenses 菜单选择 Renewals。

Licenses view

打开「License Renewal Request」模态框。

license renewal request modal

点击 New 打开 Renew License 模态框。

renew license modal

在模态框设置续期天数、费用、准备时间与结算时间;须填写描述。

「Prepare in」提示 app-user 须在此前接受分配;「Settle in」为提供方完成 completeRenewal 的期限,逾期分配失效。

点击 Issue License Renewal Request。

new license renewal request

按 Daml 合约,许可创建时为过期;须发出续期付款请求以激活。

付款

付款请打开 Canton 钱包,按需以 app-user 登录。

查找钱包位置:

  1. 阅读 LocalNet 应用 UI 参考。
  2. 进入应用提供方「Tenants」菜单。
AppProvider Tenants menu
  1. 以 app-user 登录应用,在 Licenses 菜单点击 Renewals。
AppUser Licenses menu

若提示,以 app-user 登录 CC 钱包。

Canton Coin Wallet login

若钱包无 CC,输入金额并点击 TAP;余额将自动更新。

Tap for CC

钱包有余额后,在 Allocations 菜单于「Allocate before」前接受 Allocation Request。

CC Wallet accept allocation

接受后会出现 Allocations 区,显示 licenseFeePayment 信息。

CC Wallet accepted allocation

续期许可

以 AppProvider 回到 Quickstart,在 Licenses 选择 Renewals,点击绿色 Complete Renewal。

complete renewal after payment

出现许可续期成功确认。

renewal success after payment

退出 AppProvider 并以 AppUser 登录。

未启用 OAUTH2

未启用 OAUTH2 时直接以 app-user 登录。

AppUser login screen without Auth

已启用 OAUTH2

启用 OAUTH2 时用 app-user 用户名与密码登录。

login screen

Login as AppUser with “app-user” as the username and the password is “abc123”.

AppUser login screen

AppInstall 显示为已接受。

accepted AppInstall

许可显示为 active。

logout AppProvider

恭喜!你已在 Canton 钱包中完成许可创建、付款分配与激活!

Canton Console

在 quickstart/ 运行:

make canton-console

启动后分别运行 participants 与 participants.all。

participants

返回 participant 详细分类。

Participant location in the ledger

participants.all

列出所有 participant 引用。

Participant synchronizer

在 LocalNet 可连接任一列出的 participant。连接 app user 验证者:

app-user

App User

若报错请确认使用了反引号。

连接 app provider:

app-provider

App Provider

连接模拟 Global Synchronizer 的超级验证者:

sv

super validator

Canton Console 还提供验证者健康诊断:

health.status

Ping yourself

Daml Shell

在 quickstart/ 运行:

make shell

运行下列命令查看数据:

active

显示唯一标识与资产数量:

Active identifiers

active quickstart-licensing:Licensing.License:License

列出许可详情。

License details

active quickstart-licensing:Licensing.License:LicenseRenewalRequest

显示许可续期请求详情。

License renewal request details

archives quickstart-licensing:Licensing.AppInstall:AppInstallRequest

显示已归档许可。

Archived licenses

Canton Coin Scan

在 http://scan.localhost:4000/ 打开 CC Scan。

默认活动视图显示 CC 总余额与验证者奖励。

CC balance

选择 Network Info 查看 SV 标识。

Active SVs

Validators 菜单显示本地验证者已向 SV 注册。

Registered validator

可观测性仪表板

App Quickstart 修订期间 Observability 可能不可用。

浏览器打开 http://localhost:3030/dashboards,选择 Quickstart - consolidated logs。

observability dashboard

默认视图显示所有服务日志流。

service stream

将服务过滤从 All 改为 participant;点击条目查看详情。

log entry details

SV UI

SV Web UI:http://sv.localhost:4000/,数据直接来自验证者。

以 sv 登录。

SV UI login

UI 显示 SV 信息与活跃 SV 列表。

Active SVs

Validator Onboarding 菜单可创建验证者 onboarding secret。

Validator onboarding

下一步

你已完成 CN App Quickstart 中的一次业务操作,并初步了解 Canton Console 与 Daml Shell。建议探索代码库并按业务修改;可继续阅读项目结构或模块 4:构建应用。


本文由 CC Privacy Club 根据 Canton Network 官方文档(CC-BY-4.0)整理翻译,仅供学习;实现细节以官方最新版本为准。