跳至主要内容
本页面使用机器翻译自英语,可能包含错误或不清楚的语言。如需最准确的信息,请参阅英文原文。由于更新频繁,部分内容可能与英文原文有出入。请加入我们在 Crowdin 上的努力,帮助我们改进本页面的翻译。 (Crowdin translation page, Contributing guide)

Kaia 兼容代币(KCT)

Kaia Compatible Token(KCT)是一种特殊类型的智能合约,它实现了某些技术规范。 每个想在 Kaia 上发行代币的人都必须遵守规范。

Kaia 中定义了令牌标准,如 KIP-7KIP-17

还可以定义其他 KCT,以满足某些技术规格。 如果有人需要其他令牌标准,请访问 Kaia Improvement Proposal,提出新的令牌标准。

可折叠令牌标准(KIP-7)

可变代币是具有均匀性和可分割性的代币。 每个可替代代币都可以互换,因为每个单位的代币都具有相同的价值。 就像每张一元纸币都有一元的价值一样。 在大多数情况下,可替代性是加密货币的基本特征,因此大部分区块链代币都是可替代代币。

要通过智能合约实现这些属性,可以使用 KIP-7 令牌标准。 与 KIP-7 兼容的令牌实现了以下接口。 请注意,KIP-13 必须同时执行。 对于钱包应用,可执行 钱包接口


// IKIP7
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
function safeTransfer(address recipient, uint256 amount, bytes data) external;
function safeTransfer(address recipient, uint256 amount) external;
function safeTransferFrom(address sender, address recipient, uint256 amount, bytes data) external;
function safeTransferFrom(address sender, address recipient, uint256 amount) external;
// IKIP7Metadata (optional)
function name() external view returns (string memory);
function symbol() external view returns (string memory);
function decimals() external view returns (uint8);
// IKIP7Mintable (optional)
function mint(address _to, uint256 _amount) external returns (bool);
function isMinter(address _account) external view returns (bool);
function addMinter(address _account) external;
function renounceMinter() external;
// IKIP7Burnable (optional)
function burn(uint256 _amount) external;
function burnFrom(address _account, uint256 _amount) external;
// IKIP7Pausable (optional)
event Paused(address _account);
event Unpaused(address _account);
function paused() external view returns (bool);
function pause() external;
function unpause() external;
function isPauser(address _account) external view returns (bool);
function addPauser(address _account) external;
function renouncePauser() external;

在上述界面的基础上,开发者可以通过添加新功能和逻辑来定制令牌,并将其部署到 Kaia 网络上。

更多信息,请参阅官方 KIP-7 文档

Non-fungible Token Standard(KIP-17)

Non-fungible token(NFT) 是一种特殊类型的代币,代表一种独特的资产。 正如 "不可篡改 "这个名字所暗示的,每一个代币都是独一无二、不可分割的。 不可篡改令牌的这种独特性为资产数字化开辟了新天地。 例如,它可以用来表示数字艺术、游戏物品或任何类型的独特资产,并允许人们进行交易。

例如,区块链收集游戏Cryptokitties实现了不可篡改的代币,以代表具有不同遗传信息的不同小猫。 每只小猫都是独一无二的,不可互换,因此不同的小猫代币有不同的价值。

要实现不可篡改令牌,可以使用 KIP-17。 KIP-17 令牌合约执行以下接口。 请注意,KIP-13 必须同时执行。 对于钱包应用,可执行 钱包接口


// IKIP17
event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId);
event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId);
event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved);
function balanceOf(address _owner) external view returns (uint256);
function ownerOf(uint256 _tokenId) external view returns (address);
function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes _data) external payable;
function safeTransferFrom(address _from, address _to, uint256 _tokenId) external payable;
function transferFrom(address _from, address _to, uint256 _tokenId) external payable;
function approve(address _approved, uint256 _tokenId) external payable;
function setApprovalForAll(address _operator, bool _approved) external;
function getApproved(uint256 _tokenId) external view returns (address);
function isApprovedForAll(address _owner, address _operator) external view returns (bool);
// IKIP17Metadata (optional)
function name() external view returns (string _name);
function symbol() external view returns (string _symbol);
function tokenURI(uint256 _tokenId) external view returns (string);
// IKIP17Enumerable (optional)
function totalSupply() external view returns (uint256);
function tokenByIndex(uint256 _index) external view returns (uint256);
function tokenOfOwnerByIndex(address _owner, uint256 _index) external view returns (uint256);
// IKIP17Mintable (optional)
function mint(address _to, uint256 _tokenId) public returns (bool);
function isMinter(address _account) public view returns (bool);
function addMinter(address _account) public;
function renounceMinter() public;
// IKIP17MetadataMintable (optional)
function mintWithTokenURI(address _to, uint256 _tokenId, string memory _tokenURI) public returns (bool);
function isMinter(address _account) public view returns (bool);
function addMinter(address _account) public;
function renounceMinter() public;
// IKIP17Burnable (optional)
function burn(uint256 _tokenId) public;
// IKIP17Pausable (optional)
event Paused(address _account);
event Unpaused(address _account);
function paused() public view returns (bool);
function pause() public;
function unpause() public;
function isPauser(address _account) public view returns (bool);
function addPauser(address _account) public;
function renouncePauser() public;

在上述界面的基础上,开发者可以通过添加新功能和逻辑来定制令牌,并将其部署到 Kaia 网络上。

更多信息,请参阅官方 KIP-17 文档

Kaia 服务链的令牌标准

服务链指的是锚定 Kaia 主区块链网络的 Kaia 侧链。 在实施服务链时,要使用特殊类型的合同来支持主链和服务链之间的价值转移。 这些合约目前正在开发中,一旦准备就绪,Kaia 服务链的令牌规格将在 KaiaDocs 上提供。

关于 ERC-20 和 ERC-721 的说明

由于 Kaia 发布了 KIP-7 和 KIP-17 作为其代币标准,因此建议分别根据 KIP-7 和 KIP-17 执行可替换和不可替换代币合约,而不是遵循 ERC-20 和 ERC-721。 KIP-7 和 KIP-17 基于 ERC-20 和 ERC-721,但它们是为 Kaia 量身定制的,因此更适合 Kaia 生态系统。 尽管 Kaia 网络仍然支持 ERC-20 和 ERC-721,但它们可能与 Kaia 生态系统中的各种工具不兼容。 有关令牌标准差异的更多信息,请访问 KIP-7KIP-17

让这个页面变得更好