查询与变异
8

NFTEX Identities

大多数查询和突变都需要一个缩进ID。你可以使用这个查询来抓取Identity ID的。

GraphQL
query GetIdentities($page: Int) {
NFTEXIdentities(pagination: {page: $page, limit: 50}) {
id
linkingCode
linkingCodeQr
wallet {
ethAddress
}
}
}

使用这个查询,应该会返回各种信息,帮助你进一步整合,比如。

  • App Id。
  • 链接码。
  • 链接码二维码(这个相当有用,你可以在新的标签页中复制链接码二维码的网址,用NFTEX钱包扫描,链接你的身份ID)。
  • 与身份证件关联的钱包地址。

检查链接代码

你也可以通过以下查询,随时查看用户的链接代码。

GraphQL
query GetIdentityLinkingCode($id: Int!) {
NFTEXIdentities(id: $id) {
linkingCode
linkingCodeQr
wallet {
ethAddress
}
}
}

解除钱包的链接

有时,你的用户可能想要更换钱包,他们可以通过NFTEX钱包来实现,方法是进入"链接应用"部分,点击项目,点击3点菜单,选择"删除"。
此外,你也可以在你的端部发起。

下面的查询将解除他们的钱包链接,允许他们重新链接,或者链接一个新的钱包。

GraphQL
mutation UnlinkWalletAddress($id: Int!) {
DeleteNFTEXIdentity(id: $id, unlink: true) {
linkingCode
linkingCodeQr
}
}

查看钱包中的代币

一旦玩家登录并链接后,你首先要做的就是查看他们的库存,这样你就可以为他们提供与代币相匹配的游戏物品。

建议你更新数据库上的用户余额。这样一来,你的项目或游戏就可以在你所掌握的数据上高效运行。

GraphQL
query getBalance($address: String!) {
NFTEXBalances(ethAddress: $address, value_gt: 0) {
token {
id
index
name
}
value
}
}

包括value_gt: 0参数是很重要的,因为它可以防止显示熔化的物品。从技术上讲,它们仍然存在于该区块链地址内,即使用户选择销毁/熔化它们。

查看钱包中的特定代币

当你想对一个令牌进行特定的操作时,你可以用它来验证该令牌是否还在。

GraphQL
query GetWalletTokenBalance($address: String!, $tokenId: String) {
NFTEXBalances(ethAddress: $address, tokenId: $tokenId, value_gt: 0) {
token {
id
index
name
}
value
}
}

该查询显示有关令牌的索引和余额。

你也可以选择通过在查询中添加字段来请求tokenId和id的数据。

查看ENJ余额

您可以查看用户钱包中的NFTEX币(ENJ)数量。
您可以使用下面的查询来获取ENJ的余额。

GraphQL
query GetWalletBalance($id: Int!) {
NFTEXUsers(id: $id) {
identities {
wallet {
ethAddress
enjBalance
}
}
}
}

如果你不知道用户ID或身份ID,你可以使用下面的查询来检索同样的结果,只是用ethreum地址代替。

GraphQL
query GetWalletBalanceByAddress($address: String!) {
NFTEXWallet(ethAddress: $address) {
enjBalance
ethBalance
}
}

代币详情

如果您希望向用户提供有关特定令牌的详细信息,您可以使用此查询来查找数据。

GraphQL
query GetTokenDetails($name: String!) {
NFTEXTokens(name: $name, pagination: {page: 1, limit: 50}) {
id
name
creator
meltValue
meltFeeRatio
meltFeeMaxRatio
supplyModel
totalSupply
circulatingSupply
reserve
transferable
nonFungible
blockHeight
markedForDelete
createdAt
updatedAt
availableToMint
itemURI
}
}

代币持有者

该查询返回拥有特定令牌的地址列表。

GraphQL
query GetBalance($tokenId: String!) {
NFTEXBalances(tokenId: $tokenId) {
token {
id
index
}
wallet {
ethAddress
}
value
}
}

它可以通过协调空投的方式,一次性奖励所有持有特定代币的人。

交易数据

每当你发出发送突变时,都会返回一个id给你。这个id是非常重要的,我们强烈建议您记录这些数据,以便您在以后可以再次访问它。

如果你想查看你在区块链上进行的任何交易的状态,你将需要使用这个查询。

GraphQL
query GetTransaction($id: Int!) {
NFTEXTransactions(id: $id) {
id
transactionId
type
state
error
token {
id
name
}
}
}

NFTEX Transactions查询将根据你运行的交易状态返回各种信息。
你会注意到我们在查询中添加了错误参数。错误参数很有用,当你的交易因某种原因失败/放弃时,它将显示有关交易在区块链上没有处理的原因。

此查询将返回以下值。

  • 待定。交易在Enjiin云上创建,但尚未被用户/设备签署。
  • TP_PROCESSING。交易已经签署,正在等待NFTEX Cloud/Platform)处理交易进行广播。
  • 播报。交易已经签署并被广播 但尚未在区块链上确认。
  • EXECUTED。该交易已在区块链和NFTEX云上收到确认。
  • CANCELED_USER:该用户已经取消了PENDING交易/未签名。
  • CANCELED_PLATFORM。平台已取消了待处理交易。
  • FAILED:Enjiin平台交易失败。
  • DROPPED。交易没有在区块链上被开采,自此被撤销。

设置支出限额

如果你想增加项目的安全性,为自己设置消费额度,或者让玩家自己选择消费额度限制,你可以使用这个突变来设置消费额度。

GraphQL
mutation ApproveEnj($id: String!, $limit: Int!) {
CreateNFTEXRequest(identity_id: $id, type: APPROVE, approve_enj_data: {value: $limit}) {
id
}
}

最大值设置为-1。

请注意。这个数值会随着使用而减少,就像字面的消费额度一样。如果您将该值设置为10个NFTEX币(ENJ),然后进行10次交易,每次1个NFTEX币,那么您的零用钱将降为0,需要重新设置。

交易请求

启动安全的点对点交易是一个三步走的过程。其操作方式是,首先需要创建交易,将各自的物品进行托管,双方核对物品后,即可完成交易。

第一步:创建交易请求,并在第一人的钱包中确认。

GraphQL
mutation SendTradeRequest($initiatorId: Int!, $recipientId: Int!) {
CreateNFTEXRequest(identity_id: $initiatorId, type: CREATE_TRADE, create_trade_data: {asking_tokens: [{id: "XXXXXXXXXXXXXXXXX", value: 1}], offering_tokens: [{id: "XXXXXXXXXXXXXXXXX", value: 1}], second_party_identity_id: $recipientId}) {
id
encodedData
state
}
}

使用id:"0"参数为NFTEX币(ENJ)。

第二步:获取trade_id - param1。

GraphQL
query RetrieveTradeId($id: Int!) {
NFTEXTransactions(id: $id) {
type
transactionId
events {
param1
}
}
}

第三步:完成交易请求。输入param1为trade_id,第二人身份ID,并在第二人钱包中确认。

GraphQL
mutation CompleteTradeRequest($id: Int!, $tradeId: String!) {
CreateNFTEXRequest(identity_id: $id, type: COMPLETE_TRADE, complete_trade_data: {trade_id: $tradeId}) {
id
transactionId
encodedData
}
}

改变资产转移状态

有时,您可能会想改变您创建的令牌的转让状态,使其具有一定的价值,无论您是想让令牌永久转让临时转让还是与地址绑定

注意:如果您已将令牌设置为可永久转让,您将无法更改该设置。:如果您已将令牌设置为可永久转让,您将无法更改该设置。

GraphQL
mutation ChangeAssetTransferableType($appId: Int!, $identityId: Int!, $tokenId: String!, $transferable: TokenTransferable!) {
CreateNFTEXRequest(appId: $appId, identityId: $identityId, type: SET_TRANSFERABLE, set_transferable_data: {token_id: $tokenId, transferable: $transferable}) {
id
encodedData
}
}

区块链浏览器

玩家对自己所拥有的资产背后的区块链数据本来就很感兴趣。

如果您想将用户链接到特定代币的NFTEXX列表,您可以在URL的末尾添加代币ID。这样用户就可以了解到关于他们的代币的一切信息。

Example:
https://enjinx.io/eth/asset/0x(id)00000000000000000000000000000000(index)

上一页
接下来
本页