Hedera Token Service:wipe()与burn()的区别、适用场景及使用原因问询
Hedera Token Service中wipe()与burn()的核心差异、使用原因及场景
很多人会觉得这两个函数功能相似,都是减少代币总供应量,但它们的操作对象、权限要求和设计目的完全不同,具体区别如下:
核心行为差异
- burn():
- 操作对象是执行账户自己持有的代币(通常是发行方账户,部分代币也允许普通用户调用)
- 执行后直接减少代币的总供应量,被销毁的代币永久从流通中移除
- 不需要其他账户授权,只要执行账户持有对应数量的代币即可触发
- wipe():
- 操作对象是其他账户持有的代币,不能用来销毁自己的代币
- 执行后同样减少总供应量,但必须满足权限要求:要么目标账户预先授权了wipe权限,要么代币创建时就赋予了发行方
WIPE_TOKEN权限 - 本质是发行方(或授权方)强制移除特定账户的代币
各自的使用原因
- burn():
核心是自主调整代币供应,发行方通过销毁自己持有的代币来控制流通量,比如兑现销毁承诺、维持代币价值;部分场景下普通用户也可通过销毁代币换取项目权益(如投票权、空投资格等) - wipe():
核心是合规与风控,用于处理异常或违规账户的代币,是发行方维护生态秩序、符合监管要求的工具,比如清理非法获取的代币、处罚违规用户等
适用场景对比
burn()典型场景
- 代币回购销毁:项目方用平台营收回购市场上的代币,调用
burn()销毁,减少流通量以提升代币价值 - 预留代币销毁:项目上线后,销毁未分配的团队预留代币或未售出的代币,增强社区信任
- 用户自主销毁:部分项目允许用户销毁自己的代币,换取更高的投票权重或专属权益
wipe()典型场景
- 合规清理:对未通过KYC/AML验证的用户账户,发行方调用
wipe()移除其持有的代币 - 反欺诈处理:发现被盗代币流入某账户,发行方凭借
WIPE_TOKEN权限销毁该账户中的非法代币 - 违规处罚:用户违反项目规则(如刷量、作弊获取奖励),发行方wipe其违规获得的代币
- 合约清算:在借贷或质押场景中,用户违约时,发行方wipe其抵押的代币用于清偿
内容的提问来源于stack exchange,提问作者EmmBee
相关产品推荐
相关产品推荐

