了解您的代币如何在 Spark 中流动对于作为发行者运营至关重要。您可能需要知道谁持有代币,何时铸造、销毁或冻结代币,以及它如何在 Spark 中转移。

我们正在开发多种方式让发行者观察和理解代币行为。Spark 浏览器正在开发中,将提供更直观、更视觉化的体验,但我们也在 SDK 层面公开了这些洞察,为高级用户提供更高的精确度和灵活性。

作为起点,SDK 提供了两个核心函数 — getIssuerTokenActivity()getIssuerTokenDistribution() — 让发行者可以查询他们控制的任何代币的完整历史和当前状态。

探索您的代币活动

使用 getIssuerTokenActivity() 获取与您的代币相关的完整审计跟踪。当您想回答如下问题时,这很有用:这个代币什么时候被铸造的?谁转移了它?最近它被冻结或销毁了吗?

此调用返回分页的操作列表,例如:

  • ISSUER_ANNOUNCE – 标记在比特币 L1 上创建代币。此事件包括代币的名称、代码、供应上限和其他元数据。
  • ISSUER_MINT – 记录发行者发行的新代币。这些代币被添加到流通供应中。
  • USER_TRANSFER – 表示 Spark 上用户之间的代币转移。捕获代币的典型使用和移动。
  • ISSUER_BURN – 发行者永久从流通中移除的代币。通常用于减少总供应量。
  • ISSUER_FREEZE - 发行者已冻结特定地址,阻止其转移代币。
  • ISSUER_UNFREEZE — 解除对地址的冻结,恢复其转移代币的能力。

参数

该调用接受以下元数据:

参数类型描述
pageSizenumber(可选,默认:100)每页交易数量
cursorListAllTokenTransactionsCursor(可选)用于遍历结果的游标
operationTypesOperationType[](可选)按特定操作类型过滤(ISSUER_ANNOUNCEISSUER_MINT 等)
beforeTimestampDate(可选)仅包括此时间戳之前发生的事件
afterTimestampDate(可选)仅包括此时间戳之后发生的事件

提示:将 operationTypes 与日期过滤器结合使用,创建精确查询 — 如”第一季度的所有铸造”或”冻结后的销毁”。

const activity = await wallet.getIssuerTokenActivity();

console.log("代币活动:" + activity);

探索您的代币分析

此功能目前正在开发中,将在即将发布的 Spark 版本中提供。

使用 getIssuerTokenDistribution() 获取代币分布的快照。这包括诸如有多少钱包持有它、流通中有多少以及销毁了多少等指标。

当您想监控供应指标、评估采用情况或在发行逻辑之上构建自定义分析时,这很有帮助。

它将返回:

  • totalCirculatingSupply:代币的总流通供应量
  • totalIssued:曾经铸造的代币总数
  • totalBurned:累计销毁的代币
  • numHoldingAddress:唯一代币持有者
  • numConfirmedTransactions:涉及此代币的已确认交易
const distribution = await wallet.getIssuerTokenDistribution();

console.log("代币分布:" + distribution);