铸造代币
10

代币,也就是区块链资产,用来代表你在区块链上虚拟物品的身份。

当你的游戏项目在区块链上时,它们的价值就会更有形,因为它们的身份是不可改变的,透明的,不可破坏的。

虚拟物品的标记化和管理是NFTEX平台的核心功能。

代币数据

有两种不同的令牌类型可以使用NFTEX平台创建。

可流通代币(FT)。

传统货币和加密货币是可互换的;它们是相同的、可互换的、可分割的。要使货币成为标准的支付方式,可互换性是必不可少的。

可替换代币没有一个独特的序列号或历史;没有任何东西可以将一个代币与下一个代币区分开来。例如,每一张5美元的纸币都是完全一样的,具有相同的价值。每一半的可替换代币等于另一半的四分之二。

可替换代币对于货币、奖励点、折扣和促销材料等都很有用--任何不需要独特身份的物品。

非可变代币(NFT)。

不可变卖的代币是一种独特的资产。

非通用代币是不可分割的,并作为具有独立数据的独立代币存储在NFTEX钱包中。然而,非互换性代币并不总是100%唯一的。例如,一组代币可能共享相同的名称、描述和图像,但如果它们具有独特的、可区分的属性(身份、历史和元数据),它们仍然是不可互换的。

非通用代币适用于诸如身份识别、证书、收藏品、游戏角色--任何需要自己独特身份的资产。

有两种类型的数据可以附加到每个令牌上。

  • 区块链数据永久致力于Ethereum网络。代币的定义属性,包括其身份、设置和ENJ支持的价值,会极大地影响对代币的需求。因此,这些数据的大部分一旦提交到区块链上,就永远无法更改。虽然一些代币设置可以通过用新数据替换旧数据来更新,但之前的代币设置将保留在记录中,可在区块链上的交易历史中查看。
  • 元数据是您的用户可以在您的游戏或应用以及其他任何可以看到您的令牌的平台上看到的人类可读信息。这些数据可以随时更新。

区块链数据。可变

这些数据可以随时进行编辑,并用新的设置替换。

名称。将会被写入区块链的名字。

数据URI
请参阅使用元数据部分。
元数据URI允许您添加一个包含JSON的URL,该URL描述了您的项目的属性,包括图像。

可转让
确定物品是可以交易,还是绑定在其所有者身上(即不可交易)。

  • 永久性的。物品永远可以与他人交易。该设置一旦被提交给代币,就不可更改。
  • 绑定。物品总是与物品的所有者绑定。
  • 暂时的。项目目前可以交易,但创造者可以在未来的某一天使其不可交易。

转让费用设置:值

如果使用ENJ,请将该值乘以10^18以包含18位小数。当您第一次设置转账费用时,该设置将成为您可以收取的最高费用。但是,您可以在任何时候降低转让费,这时,您可以将其提高到您最初设置的金额。

区块链数据。永久性

totalSupply。这是你希望世界上存在的物品数量。这个限制可以是
断的,也可以是不同的意思,这取决于你上面使用的供应模式。例如,如果你
,使用COLLAPSING供应类型,那么初始供应量将代表
,在原始运行期间存在的物品总数。最容易理解的是fixed,它告诉用户,任何时候都只能有
"这么多"这种物品存在。

initialReserve。这是你想预付的铸币数量,作为初始创建操作的一部分。铸币项目将从这个余额中扣除,直到用完为止。您必须在创建时
,至少支付一个物品。拥有初始储备金可以让你在创建物品时无需花费所有的ENJ作为总供给。

转让费用设置:类型

你可以选择对你的用户进行的每一笔点对点交易收取转账费用。这让你可以将围绕着你的游戏的经济货币化,并通过在你的社区内培养有趣的新社交动态来获得收入。

  • 。此物转手时不收取转让费。
  • Per_Crypto_Item:指的是以ENJ为单位的每项资产的转账费用,根据发送的资产数量进行累计。例如,如果一个苹果 每项的转让费0.1 ENJ,用户Simon向用户1发送了10个苹果,那么Simon将被收取1 ENJ的交易费,而这笔交易将归苹果资产的创造者所有。
  • Per_Transfer。这指的是每次转账的转账费用,以ENJ为单位。例如,如果一个苹果 每笔转账0.1 ENJ费用,西蒙向用户1发送了10个苹果,那么西蒙将被收取0.1 ENJ的交易费用,这笔交易将归苹果资产的创造者所有。
  • Ratio_Cut。注意,要使用ratio_cut,只允许使用可互换资产。对创造者来说,从总物品中减去%的比例切割,发送者支付总价。例如,如果转让500个苹果,比例削减10%(0.1),收件人将得到450个苹果,而创造者,将得到50个苹果,发件人将支付500的交易总价。
  • Ratio_Extra。注意,要使用rate_extra,只允许使用可变资产。一种税,是在所有东西之上收取的。例如,如果转让500个苹果,附加10%的比例,用户将获得500个苹果,而创造者将获得50个苹果,发送者为这笔交易总共支付550个苹果。

transferFeeSettings:
您想用来作为转账费用的代币ID。如果您想让您的用户用NFTEX Coin支付,请使用0。

meltValue
你想要使用的每单位物品的ENJ数量。您需要使用最小
的ENJ数量来支持您的物品,这取决于您在初始储备中创建的数量(最小成本将在标签旁边列出)。一般来说,您制作的物品种类越多,每单位物品所需的ENJ越少。

supplyModel。这就是物品池在铸币和熔化方面的表现。

以下是我们目前的供应类型。

  • 修正:您可以在同一时间内拥有最多总供应量的物品流通数量。
  • 可设置。允许你在任何时候编辑总供应量。
  • 无限。你可以铸造你想要的任何物品,超过总供应量。
  • 坍塌。一旦熔化,物品就不能再铸造。

meltFeeRatio
这是当前玩家在熔炼物品时将获得的ENJ百分比。剩余的ENJ将归创造者所有。

nonFungible
该项目是Non-Fungible还是Fungible,是真还是假。

铸造代币

现在你已经创建了模板并定义了它的元数据,是时候铸造你的第一批代币了。

铸造可熔化代币(FT)与非可熔化代币(NFT)的请求略有不同。

您可以将任何类型的令牌批量铸造到多个地址,也可以将它们铸造到单个地址。

可互换代币的供应基本上由代币数据中的数量字段表示,而非可互换代币的供应则由单独的代币身份数量表示。

这就是为什么,如果你需要在一个交易中铸造多个NFT,你需要为每个单独的项目指定接收Ethereum地址。另外,建议不要在单笔交易中铸造超过100个NFT,因为超载交易会导致交易失败。

FT没有同样的限制,你可以将无限量的可锻打代币铸入一个Ethereum地址。然而,建议不要在一次交易中向超过100个不同的Ethereum地址中铸造任何数量的可锻打代币。这也可能导致交易因网络过载而失败。

这里是2种不同代币类型(FT和NFT)之间的相同请求。

菌类代币。

GraphQL
mutation MintFungibleItems($identityId: Int!, $appId: Int!, $tokenId: String!) {
transaction: CreateNFTEXRequest(
identity_id: $identityId
appId: $appId
type: MINT
mint_token_data: {
token_id: $tokenId
recipient_address_array: [
"WALLET_ADDRESS_1"
"WALLET_ADDRESS_2"
]
value_array: [
5
3
]
}
) {
id
encodedData
}
}

这个请求将铸造5倍的物品到"WALLET_ADDRESS_1"和3倍的物品到"WALLET_ADDRESS_2"。您可以铸造最多<inline-code>初始储备<inline-code>的物品。</inline-code></inline-code>

非真菌性代币。

GraphQL
mutation MintNonFungibleItems($identityId: Int!, $appId: Int!, $tokenId: String!) {
transaction: CreateNFTEXRequest(
identityId: $identityId
appId: $appId
type: MINT
mint_token_data: {
token_id: $tokenId
token_index: "0"
recipient_address_array: [
"WALLET_ADDRESS_1"
"WALLET_ADDRESS_1"
"WALLET_ADDRESS_1"
"WALLET_ADDRESS_1"
"WALLET_ADDRESS_1"
"WALLET_ADDRESS_2"
"WALLET_ADDRESS_2"
"WALLET_ADDRESS_2"
]
}
) {
id
encodedData
}
}

该请求将向"WALLET_ADDRESS_1"铸造5个物品,向"WALLET_ADDRESS_2"铸造3个物品。

一旦请求成功,您需要在钱包的REQUESTS部分接受并签署交易。

取消待处理的交易

如果钱包守护进程抱怨交易的参数无效,需要还原,你可以通过使用以下突变来还原交易。

GraphQL
mutation CancelTransaction($id: Int) {
transaction: UpdateNFTEXRequest(id: $id state: CANCELED_USER) {
id
title
state
}
}

创建一个代币模板

代币模板包含核心的、不可改变的代币数据,这些数据将被提交到区块链上。

要创建一个项目,你需要提出一个带有所需项目属性的请求。这里是
一个例子。

GraphQL
mutation CreateToken(
$identityId: Int
$name: String
$totalSupply: Int
$initialReserve: Int
) {
transaction: CreateNFTEXRequest(
identityId: $identityId
appId: $appId
type: CREATE
create_token_data: {
name: $name
totalSupply: $totalSupply
initialReserve: $initialReserve
supplyModel: FIXED
meltValue: "15000000000000000000"
meltFeeRatio: 1250
transferable: PERMANENT
transferFeeSettings: {
type: PER_TRANSFER
token_id: "0"
value: "1000000000000000000"
}
nonFungible: false
}
) {
id
encodedData
}
}

一旦请求成功,您需要在钱包的REQUESTS部分接受并签署交易。

寻找代币ID

代币ID是赋予你的代币模板的永久身份,一旦它被提交到区块链。

因此,一旦创建了代币模板,您将需要找到代币ID,以MINT您在模板中定义的代币。
有多种方法可以找到资产的代币ID。

  • 您可以通过NFTEXX确认后,在该商品的交易中找到代币ID。点击"事件日志"选项卡,您会发现16位数字的"代币ID"。
  • 您可以使用以下查询方式在可信云上搜索该资产。
GraphQL
query Tokens($name: String, $page: Int, $perPage: Int) {
tokens: NFTEXTokens(
name: $name
pagination: { page: $page, limit: $perPage }
) {
id
name
creator
meltValue
meltFeeRatio
meltFeeMaxRatio
supplyModel
totalSupply
circulatingSupply
reserve
transferable
nonFungible
blockHeight
markedForDelete
availableToMint
itemURI
}
}

最后,如果您使用的是NFTEX面板,您会发现,当您铸造新创建的资产时,您还可以在面板上看到令牌ID。

代币ID

注意:你需要先等待它在区块链上被确认和搜刮。

创建您的资产元数据

一旦您通过创建代币模板定义了您的代币的区块链数据,您就可以为其添加Metadata,Metadata存储在一个.json文件中,托管在某个具有公共读取权限的地方。

在元数据方面,请注意以下要求。

  1. 链接(包括元数据和图像)必须对机器人公开。
  2. uri必须适当地设置为请求的文件。
  3. 图像必须是有效的图像文件(图像必须显示)。
  4. JSON必须符合JSON RFC标准,如果它无论如何都不符合,那么它就不会被加载。

严格来说,物品元数据是可选的。不过,如果您想在游戏中显示图片和自定义物品属性,那么您的资产就会变得特别独特。NFTEX Wallet和其他NFTEX服务也会根据您设置的元数据来显示您的资产。

您可以包含一个名称(将代替区块链项目名称显示)、描述和图片链接,例如下面的例子。

JSON
{
"name": "item_name",
"description": "Description line 1.\nDescription line 2.",
"image": "/image.jpg"
}

您需要将该文件保存为.json文件。一旦你上传了那个.json文件,并有公开的读取权限,你就可以请求设置项目URI(统一资源标识符)。

如果你对托管文件不熟悉,请看本指南

下面的突变将为您的资产设置项目URI。

GraphQL
mutation SetItemUri($identityId: Int!, $itemUriData: SetItemUriInput!) {
CreateNFTEXRequest(identity_id: $identityId, type: SET_ITEM_URI, set_item_uri_data: $itemUriData) {
id
encodedData
state
}
}

Advanced Users: The URI value allows for ID substitution by clients. If the string {id} exists in any URI, clients must replace this with the actual token ID in hexadecimal form. This allows for large number of tokens to use the same on-chain string by defining a URI once, for a large collection of tokens.

Example of such a URI: https://token-cdn-domain/{id}.json would be replaced with https://token-cdn-domain/780000000000001e000000000000000000000000000000000000000000000000.json, if the client is referring to token ID 780000000000001e000000000000000000000000000000000000000000000000.

详情请参见ERC-1155标准文档中的元数据部分。

一旦请求成功,您需要在钱包的REQUESTS部分接受并签署交易。

上一页
接下来
本页