Jetton 是 The Open Network (TON) 区块链上的同质化代币标准,其功能类似于以太坊上的 ERC-20 标准或 BNB Chain 上的 BEP-20 标准。它允许任何人在 TON 区块链上创建和管理自己的代币。
核心概念
-
智能合约实现:
-
一个完整的 Jetton 代币系统并非由单个合约构成,而是采用了 “主合约-钱包合约” 的分离模型。
-
这种设计提高了安全性和灵活性,但理解起来比单一合约模型稍复杂一些。
-
两个核心组成部分:
-
每个用户都有一个:每个持有该 Jetton 代币的用户都有一个独立的钱包合约。
-
持有余额:这个合约存储了特定用户的该种代币余额。
-
执行交易:当用户想要转账时,他们实际上是调用自己的 Jetton 钱包合约,该合约会与接收方的 Jetton 钱包合约进行交互,完成余额的增减。
-
唯一性:每种 Jetton 只有一个主合约。
-
核心数据库:它存储了这种代币的全局信息,包括:
-
钱包工厂:它负责部署和管理该代币的各个用户钱包合约。
-
总供应量(Total Supply)
-
代币元数据(Metadata):名称、符号、小数位数、图标链接等。
-
管理员地址(所有者,可以升级合约或铸造新代币)。
-
Jetton 主合约(Jetton Master Contract):
-
Jetton 钱包合约(Jetton Wallet Contract):
工作原理(以转账为例)
假设 Alice 想向 Bob 转账 100个 JETTONA
。
-
发起请求:Alice 向她的
JETTONA
钱包合约发送一条消息:“请转账 100 个代币给 Bob”。 -
钱包合约处理:Alice 的钱包合约会:
-
检查她的余额是否充足。
-
销毁 100 个代币(减少自己的总供应量表示)。
-
向
JETTONA
的主合约发送一条消息。 -
主合约协调:主合约收到消息后,会验证请求的合法性,然后:
-
向 Bob 的地址发送一条消息。如果 Bob 还没有
JETTONA
的钱包合约,主合约会自动为他部署一个。 -
接收方入账:Bob 新部署或已有的
JETTONA
钱包合约会铸造 100 个新代币(增加余额),从而完成转账。
关键点:代币的转移实际上是通过“销毁-铸造”机制完成的,而不是像比特币或原生TON那样直接从A的账户移动到B的账户。这确保了总供应量始终得到主合约的严格控制。
Jetton 的主要特点
-
标准化:提供了统一的接口,使得钱包(如 Tonkeeper、Telegram Wallet)、交易所和DApp能够以相同的方式与任何 Jetton 代币交互,无需自定义代码。
-
可定制元数据:代币信息(名称、符号、图标)通过元数据标准(通常存放在链下,如IPFS,并通过链接在主合约中引用)定义,便于钱包和浏览器显示。
-
灵活性:开发者可以在标准功能的基础上添加自定义逻辑,例如收税机制、黑名单功能等,但这些扩展必须建立在标准接口之上。
-
安全性:分离模型意味着即使某个用户的钱包合约出现问题,也不会影响整个代币系统和其他用户。
与 TON 区块链上其他代币概念的区分
-
Jetton(同质化代币) vs. NFT(非同质化代币):
-
TON 上的 NFT 有另一个标准,称为 NFT Standard 或 TIP-62。它与 Jetton 类似,也采用主合约(集合)和单个物品合约的模型,但每个物品都是独一无二的。
-
Jetton vs. 原生 TON Coin:
-
TON Coin 是 TON 区块链的原生加密货币,用于支付 gas 费(交易手续费)、质押和网络治理。它是网络的“血液”。
-
Jetton 是建立在 TON 网络之上的资产,其交易需要消耗 TON Coin 作为 gas 费。
总结
Jetton 是 TON 生态系统的基石之一,它提供了一个强大、安全且标准化的框架来创建和管理同质化代币。 它的“主合约-钱包合约”设计虽然初看有些复杂,但为大规模应用提供了必要的可扩展性和可靠性。几乎所有在 TON 上发行的项目代币、稳定币(如USDT)或社区代币都遵循 Jetton 标准。