Injective | Documentation
InjectiveGithub
Injective | 中文文档
Injective | 中文文档
  • 关于 Injective
  • 快速入门
    • 钱包
      • 创建钱包
      • 账户
      • 质押
      • 治理
      • 拍卖
    • 代币标准
      • INJ 代币
      • Token Factory
      • CW20 标准
    • 交易
      • Gas 和 Fees
  • 指南
    • 创建钱包
    • 桥接
      • From Ethereum
      • Using Wormhole
      • Using IBC
      • From Solana
    • 发布代币
    • 发布市场
    • Denom 元数据
    • 获取INJ
  • 工具包
    • injectived
      • 安装 injectived
      • 使用 injectived
      • 指令
    • Injective TS SDK
    • Injective Go SDK
    • Injective Python SDK
    • Injective CW SDK
    • The Graph
  • 参考
  • 术语表
  • 开发者
    • 快速入门
      • 指南
        • 测试网提案
        • 转换地址
        • 计算
          • 最低价格刻度
          • 最低数量刻度
    • 交易所开发者
      • 构建 DEX
      • 预言机提供方
    • Cosmwasm 开发者
      • 您的首个智能合约
      • 指南
        • 本地开发
        • 主网开发
        • 给部署地址白名单
        • 创建您的 Swap 合约
        • 创建 UIs
      • CW20 适配器
      • Injective Test Tube
    • 模块
      • Injective
        • 拍卖(Auction)
          • State
          • 消息
          • EndBlock
          • 事件
          • 参数
        • 交易所(Exchange)
          • 衍生品市场概念
          • 现货市场概念
          • 二元期权市场概念
          • 其他概念
          • 状态
          • 状态转换
          • 消息
          • 提案
          • BeginBlock
          • EndBlock
          • 事件
          • 参数
          • MsgPrivilegedExecuteContract
        • 保险(Insurance)
          • 状态
          • 状态转换
          • 消息
          • EndBlock
          • 事件
          • 参数
          • 改进
        • OCR
          • 概念
          • 状态
          • 消息
          • 提案
          • BeginBlock
          • 钩子(Hooks)
          • 事件
          • 参数
        • 预言机(Oracle)
          • 状态
          • Keeper
          • 消息
          • 提案
          • 事件
          • 改进
        • Peggy
          • 定义
          • 工作流
          • 状态
          • 消息
          • 处罚
          • EndBlock
          • 事件
          • 参数
          • 中继语义
          • 改进
        • 权限(Permissions)
          • 概念
          • 状态
          • 状态转换
        • 代币工厂(TokenFactory)
          • 概念
          • 状态
          • 消息
          • 事件
          • 参数
        • WasmX
          • 概念
          • 数据
          • 提案
          • 消息
          • 参数
      • 核心
        • Auth
        • AuthZ
        • 银行(Bank)
        • 共识(Consensus)
        • 危机(Crisis)
        • 分发(Distribution)
        • 证据(Evidence)
        • 费用授权(Feegrant)
        • 治理(Gov)
        • 群组(Group)
        • 铸造(Mint)
        • NFT
        • 参数(Params)
        • 惩罚(Slashing)
        • 质押(Staking)
        • 升级(Upgrade)
        • Circuit
        • Genutils
    • dApps 开发文档
  • 节点
    • 快速入门
      • 和节点交互
      • 运行节点
        • 设置密钥环
        • 加入网络
        • Cosmovisor
        • 升级您的节点
    • 验证者
      • 主网
        • Peggo
        • 规范链升级
          • Upgrade to 10002-rc1
          • Upgrade to 10002-rc2
          • Upgrade to 10003-rc1
          • Upgrade to 10004-rc1
          • Upgrade to 10004-rc1-patch
          • Upgrade to 10005-rc1
          • Upgrade to 10006-rc1
          • Upgrade to 10007-rc1
          • Upgrade to 10008 - Camelot
          • Upgrade to 10009
          • Upgrade to v1.10
          • Upgrade to v1.11
          • Upgrade to v1.12.0 - Volan
          • Upgrade to v1.12.1
          • Upgrade to v1.13.0 - Altaris
          • Upgrade to v1.13.2
          • Upgrade to v1.13.3
          • Upgrade to v1.14.0
          • Upgrade to v1.14.1
      • 测试网
        • 测试网 Peggo
    • 公共端点
    • 高级端点
    • Injective 索引器设置
  • 交易员
    • 快速入门
    • 文档
    • API 参考
  • 常用链接
    • Injective 101
    • Injective Hub
    • Injective 浏览器
    • Chain API Reference
    • Indexer API Reference
    • 测试网水龙头
Powered by GitBook
On this page
  • 桥接
  • 创建一个新的代币
  • 使用 Injective Hub
  • 使用 TokenStation​
  • 使用 DojoSwap​
  • 通过编程
Export as PDF
  1. 指南

发布代币

Previous桥接Next发布市场

Last updated 17 days ago

在本文中,我们将解释如何在Injective上启动一个代币。 在Injective上启动代币有两种选择:桥接现有代币或创建新代币。

桥接

在Injective上启动代币的最简单方法是通过桥接来自Injective支持的互操作网络中的现有资产。你可以参考桥接中的指南,了解如何将资产从其他网络桥接到Injective。 一旦桥接过程完成,代币将在Injective上创建,你就可以使用它来发布市场。

创建一个新的代币

你也可以使用TokenFactory模块在Injective上创建一个新代币。有多种方式可以实现这一目标。

使用 Injective Hub

web 应用程序让你能够轻松创建和管理代币,在Injective的上创建市场等。

使用 TokenStation

web 应用程序让你能够轻松创建和管理代币,在 Injective 的上创建市场,启动空投等功能。

使用 DojoSwap

类似于上述,你可以使用 来创建、管理和列出你的代币,以及其他一些有用的功能。

通过编程

使用 TypeScript

使用 Injective CLI

在继续本教程之前,您必须先在本地安装 Injectived。您可以在节点部分的快速入门页面上了解更多信息。

一旦您安装了 injectived 并添加了密钥,您可以使用 CLI 启动您的代币:

  1. 创建一个 TokenFactory denom

创建工厂 denom 的费用为 0.1 INJ。

injectived tx tokenfactory create-denom [subdenom] [name] [symbol] [decimals] --from=YOUR_KEY --chain-id=injective-888 --node=https://testnet.tm.injective.network:443 --gas-prices=500000000inj --gas 1000000

代币按创建者地址命名空间进行管理,以实现无需许可并避免名称冲突。在上述示例中,subdenom 是 ak,但 denom 的命名方式将是 factory/{creator address}/{subdenom}。

  1. 提交代币元数据

要使您的代币在 Injective dApp 上可见,您必须提交其元数据。

injectived tx tokenfactory set-denom-metadata "My Token Description" 'factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/ak' AKK AKCoin AK '' '' '[
{"denom":"factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/ak","exponent":0,"aliases":[]},
{"denom":"AKK","exponent":6,"aliases":[]}
]' 6 --from=YOUR_KEY --chain-id=injective-888 --node=https://testnet.sentry.tm.injective.network:443 --gas-prices=500000000inj --gas 1000000

这条指令参数如下:

injectived tx tokenfactory set-denom-metadata [description] [base] [display] [name] [symbol] [uri] [uri-hash] [denom-unit (json)] [decimals]
  1. 铸造代币

一旦您创建了代币并提交了代币元数据,就可以开始铸造您的代币了。

injectived tx tokenfactory mint 1000000factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/ak --from=gov --chain-id=injective-888 --node=https://testnet.sentry.tm.injective.network:443 --gas-prices=500000000inj --gas 1000000

此命令将铸造1个代币,假设您的代币有6个小数位。

  1. 销毁代币

代币的管理者,也可以销毁代币。

injectived tx tokenfactory burn 1000000factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/ak --from=gov --chain-id=injective-888 --node=https://testnet.sentry.tm.injective.network:443 --gas-prices=500000000inj --gas 1000000
  1. 更换管理者

一旦铸造了初始供应量,建议将管理员更改为null地址,以确保代币的供应量无法被篡改。再次强调,代币的管理员可以随时铸造和销毁供应量。NEW_ADDRESS,如上所述,在大多数情况下应设置为 inj1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqe2hm49。

injectived tx tokenfactory change-admin factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/ak NEW_ADDRESS --from=gov --chain-id=injective-888 --node=https://testnet.sentry.tm.injective.network:443 --gas-prices=500000000inj --gas 1000000

以上示例适用于测试网。如果您想在主网上运行,请进行以下更改:

injective-888 > injective-1

https://testnet.sentry.tm.injective.network:443 > http://sentry.tm.injective.network:443

使用 Cosmwasm

create_new_denom_msg

pub fn create_new_denom_msg(sender: String, subdenom: String) -> CosmosMsg<InjectiveMsgWrapper> {
    InjectiveMsgWrapper {
        route: InjectiveRoute::Tokenfactory,
        msg_data: InjectiveMsg::CreateDenom { sender, subdenom },
    }
    .into()
}

目的:创建一个消息,用于通过 tokenfactory 模块创建一个新的denomination。

参数:

  • sender:发起创建的账户地址。

  • subdenom:新代币的sub-denomination标识符。

返回:一个包装在 InjectiveMsgWrapper 中的 CosmosMsg,准备发送到 Injective 区块链。

示例:

let new_denom_message = create_new_denom_msg(
    env.contract.address,  // Sender's address
    "mytoken".to_string(), // Sub-denomination identifier
);

create_set_token_metadata_msg

pub fn create_set_token_metadata_msg(denom: String, name: String, symbol: String, decimals: u8) -> CosmosMsg<InjectiveMsgWrapper> {
    InjectiveMsgWrapper {
        route: InjectiveRoute::Tokenfactory,
        msg_data: InjectiveMsg::SetTokenMetadata {
            denom,
            name,
            symbol,
            decimals,
        },
    }
    .into()
}

目的:创建一个消息,用于设置或更新代币的元数据。

参数:

  • denom:代币的denomination标识符。

  • name:代币的完整名称。

  • symbol:代币的符号。

  • decimals:代币使用的十进制位数。

  • 返回:一个包装在 InjectiveMsgWrapper 中的 CosmosMsg,准备发送到 Injective 区块链。

示例:

let metadata_message = create_set_token_metadata_msg(
    "mytoken".to_string(),         // Denomination identifier
    "My Custom Token".to_string(), // Full name
    "MYT".to_string(),             // Symbol
    18,                            // Number of decimals
);

create_mint_tokens_msg

pub fn create_mint_tokens_msg(sender: Addr, amount: Coin, mint_to: String) -> CosmosMsg<InjectiveMsgWrapper> {
    InjectiveMsgWrapper {
        route: InjectiveRoute::Tokenfactory,
        msg_data: InjectiveMsg::Mint { sender, amount, mint_to },
    }
    .into()
}

目的:创建一个消息,用于铸造新代币。该代币必须是 TokenFactory 代币,且发送者必须是代币管理员。

参数:

  • sender:发起铸币操作的账户地址。

  • amount:要铸造的代币数量。

  • mint_to:接收新铸造代币的地址。

返回:一个包装在 InjectiveMsgWrapper 中的 CosmosMsg,准备发送到 Injective 区块链。

示例:

let mint_message = create_mint_tokens_msg(
    env.contract.address,                                   // Sender's address
    Coin::new(1000, "factory/<creator-address>/mytoken"),   // Amount to mint
    "inj1...".to_string(),                                  // Recipient's address
);

create_burn_tokens_msg

pub fn create_burn_tokens_msg(sender: Addr, amount: Coin) -> CosmosMsg<InjectiveMsgWrapper> {
    InjectiveMsgWrapper {
        route: InjectiveRoute::Tokenfactory,
        msg_data: InjectiveMsg::Burn { sender, amount },
    }
    .into()
}

目的:创建一个消息,用于销毁代币。该代币必须是 TokenFactory 代币,且发送者必须是代币管理员。

参数:

  • sender:发起销毁操作的账户地址。

  • amount:要销毁的代币数量。

返回:一个包装在 InjectiveMsgWrapper 中的 CosmosMsg,准备发送到 Injective 区块链。

示例:

let burn_message = create_burn_tokens_msg(
    env.contract.address,                                    // Sender's address
    Coin::new(500, "factory/<creator-address>/mytoken"),     // Amount to burn
);

你可以学些更多关于发布代币的内容在 。

要通过智能合约以编程方式创建和管理银行代币,可以使用以下在 包中找到的消息:

Injective Hub
原生订单簿
​
TokenStation
原生订单簿
​
DojoSwap 的市场创建模块
TypeScript 文档
injective-cosmwasm