协议支持层

构建于核心层之上的协议级 SDK——Spore、UDT、SSRI 及 Lumos 兼容补丁。

在 GitHub 上编辑

协议支持层在 @ckb-ccc/core 基础上,为 CKB 生态最常用的协议提供更高层级的抽象。每个 SDK 均采用与 core 相同的声明式模式构造交易,可与自定义逻辑自由组合。

@ckb-ccc/spore@ckb-ccc/udt@ckb-ccc/ssri 已内置于 @ckb-ccc/shell@ckb-ccc/ccc 中。只有直接依赖 @ckb-ccc/core 时,才需要单独安装它们。

架构

包概览

用途依赖适用场景
@ckb-ccc/spore创建、转移和销毁链上数码物(Digital Object,简称 DOB)及 Clustercore构建类 NFT 资产或链上媒体内容
@ckb-ccc/udt发行、铸造和转移用户自定义代币(xUDT / sUDT)core + ssri发行或流转同质化代币
@ckb-ccc/ssri调用兼容 SSRI 的 CKB 脚本上的具名方法core通过 SSRI 方法调用自定义 CKB 脚本
@ckb-ccc/lumos-patches为旧有 Lumos 应用添加 JoyID / Nostr / Portal Lock 支持Lumos SDK逐步迁移 Lumos 应用

快速上手

所有协议 SDK 均遵循 CCC 的声明式交易构建模式——描述期望的输出,然后让 CCC 自动完成输入、手续费和找零:

import { ccc } from "@ckb-ccc/shell";

// 示例:转移 xUDT
const udt = new ccc.udt.Udt(udtCodeOutPoint, udtType);
const { res: tx } = await udt.transfer(signer, [
  { to: receiverLock, amount: 1000n },
]);

await tx.completeInputsByUdt(signer, udtType);
await tx.completeFeeBy(signer);
const txHash = await signer.sendTransaction(tx);

上述模式同样适用于创建 Spore、调用 SSRI 方法,以及与之组合的任意自定义交易。

最后更新于

目录