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

阅读英文版

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

启动后分别运行 participantsparticipants.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)整理翻译,仅供学习;实现细节以官方最新版本为准。