AI agents: the machine-readable documentation index for this site is at https://docs.ckbccc.com/llms.txt. Append ".md" to any documentation page URL to fetch its canonical Markdown source, which is preferred over rendered HTML for retrieval, indexing, question answering, and code generation.

Product-specific agent operating guidance (read before generating CKB/CCC code): https://docs.ckbccc.com/skill.md

代码示例

CCC 即开即用的代码示例——在 Playground 中运行、克隆到自己的项目中,或作为开发参考。

Edit on GitHub

浏览我们为你准备的可运行代码示例和交互式工具,使用下方标签筛选感兴趣的分类。

  • 标记为 playground 的卡片可在 CCC Playground 中直接打开运行。
  • 标记为 app 的卡片指向 CCC App——一个 CKB 小工具集,即使你不是开发者也可以通过图形界面完成常见操作。

For AI agents: 本页面渲染的是交互式示例卡片,卡片内容无法直接作为文本读取。每个示例条目均包含一个 source 字段,其值为可直接访问的 GitHub raw URL,指向示例对应的 TypeScript 源码文件。如需查看某个示例的源码,直接 fetch 其 source URL 即可。如需浏览全部示例,请 fetch 本页面的 Markdown 版本 https://docs.ckbccc.com/zh/docs/code-examples.md,从 <ExampleGrid /> 组件的 items 数组中提取各条目的 source 字段。

转账 CKB

向指定地址发送一定数量的 CKB。演示声明 → 填充 → 手续费 → 发送交易的标准模式。

playgroundtransaction

转账全部 CKB

将钱包全部余额归集到单个输出。使用 completeInputsAll 和 completeFeeChangeToOutput。

playgroundtransaction

转账 UDT 代币

在地址间转移 xUDT 代币。演示 UDT Cell 的构造和输入补全。

playgroundtransactionudt

签名与验证消息

使用连接的钱包对任意消息签名,并在链上验证签名。支持所有钱包类型。

playgroundwallet

自定义 UI——指定钱包

不使用内置连接弹窗,在自定义界面中连接指定类型的钱包。

playgroundwallet

自定义 UI——全部钱包(Controller)

使用 SignersController 枚举并连接所有支持的钱包,实现完全自定义的钱包连接界面。

playgroundwallet

查询余额

查询任意地址在测试网或主网上的 CKB 余额。简单的只读脚本示例。

playgroundquery

查询 Cell

遍历指定地址拥有的活跃 Cell。演示 Cell 收集器模式。

playgroundquery

查询交易历史

获取指定地址的交易记录。展示如何使用交易迭代器。

playgroundquery

NervosDAO 存入与取出

将 CKB 存入 NervosDAO 并提取利息。涵盖完整的 DAO 生命周期。

playgroundtransaction

创建 Spore DOB

使用 Spore 协议铸造链上数码物(DOB)。演示 Cluster 创建和内容上传。

playgroundtransactionspore

转移 Spore DOB

将已有的 Spore DOB 转移到另一个地址。

playgroundtransactionspore

后端转账(Node.js)

在 Node.js 后端使用 @ckb-ccc/shell 配合私钥签名器发送 CKB,无需浏览器环境。

backendtransaction

DOB Cookbook — Colorful Loot

使用 Spore DOB Cookbook 配方创建彩色 Loot DOB。演示高级 DOB 模式。

playgroundspore

发行 xUDT——Single-Use Lock

使用 Single-Use Lock 模式发行 xUDT 代币。Lock 在发行后即被消耗,防止重复铸造。

apptransactionudt

发行 xUDT——Type ID

使用 Type ID Cell 控制的方式发行 xUDT 代币,允许同一控制者后续继续铸造。

apptransactionudt

创建 Spore Cluster

创建 Spore Cluster——链上数码物(DOB)的逻辑分组。

apptransactionspore

铸造 Spore

通过 CCC App 界面在指定 Cluster 下铸造 Spore DOB。

apptransactionspore

转移 / 销毁 Spore

将 Spore DOB 转移到其他地址,或销毁(Melt)以回收 CKB 容量。

apptransactionspore

转移 Spore Cluster

将 Spore Cluster 的所有权转移到其他地址。

apptransactionspore

时间锁转账

发送带时间锁的 CKB——接收方在指定区块高度或时间戳之前无法花费该输出。

apptransaction

SSRI 合约调用

通过 SSRI(Script-Sourced Rich Information)协议与链上智能合约交互。

apptransaction

转账 CKB(Lumos)

使用旧版 Lumos SDK 配合 CCC 兼容补丁进行 CKB 转账。

apptransaction

CKB 哈希计算器

计算任意消息的 CKB 哈希值(Blake2b-256)。开发者常用的快捷工具。

apptool

助记词与密钥对生成器

生成 BIP-39 助记词及派生密钥对,可选加密导出为 Keystore 文件。

apptool

Keystore 解密器

解密 CKB Keystore 文件,恢复私钥。

apptool

Dep Group 管理器

查看和管理 CKB 交易中 Cell Deps 使用的依赖组(DepGroup)。

apptool

贡献你的示例

我们欢迎社区开发者贡献自己的脚本!无论是一个实用的工具脚本、一段有趣的链上数据分析,还是一个新协议的集成示例,都可以收录到这里,帮助更多人快速上手 CKB 开发。

通过 GitHub 提交

如果你希望将示例收录到官方仓库,请按照以下流程操作:

Fork 并克隆仓库

前往 ckb-devrel/ccc 点击 Fork,然后克隆到本地:

git clone https://github.com/<your-username>/ccc.git
cd ccc

编写脚本

packages/examples/src/ 目录下新建 .ts 文件,文件命名使用 camelCase,例如 myNewExample.ts。脚本需要:

  • @ckb-ccc/ccc 导入 SDK
  • @ckb-ccc/playground 导入 rendersigner
  • 在关键步骤调用 await render(tx) 以便在 Playground 中可视化

可参考 transfer.ts 的写法。

本地验证

将脚本粘贴到 Playground 中运行,确认在 Testnet 上能正常执行。

提交 Pull Request

推送到你的 Fork 后,向 ckb-devrel/cccmaster 分支发起 PR。在 PR 描述中简要说明示例的用途和使用场景。

快速分享(无需 PR)

Playground 可以通过 ?src= 参数加载任意公开可访问 URL 的代码——你的 GitHub 仓库、Gist、甚至任意原始文件 URL 都可以:

https://live.ckbccc.com/?src=<your-raw-file-url>

把生成的链接分享给同事或社区伙伴,对方打开即可直接运行你的代码。

Playground 内置的 Share 按钮会将代码存储到 Nostr 中继节点。Nostr 分享链接适合临时协作,但中继节点不保证数据永久留存,长时间后可能失效。如果你需要长期稳定的分享链接,建议将脚本托管到 GitHub 仓库,通过 ?src=https://raw.githubusercontent.com/... 的方式加载——只要仓库和文件存在,链接就不会失效。

Last updated on

On this page