Какую роль выполняет nonce для NFT, выпущенного в сети Elrond?

#nft #elrond

Вопрос:

Вот пример переноса NFT в документах Elrond:

 TransferTransaction {
    Sender: <account address of the sender>
    Receiver: <same as sender>
    Value: 0
    GasLimit: 1000000   length of Data field in bytes * 1500
    Data: "ESDTNFTTransfer"  
          "@"   <token identifier in hexadecimal encoding>  
          "@"   <the NFT nonce in hexadecimal encoding>   
          "@"   <quantity to transfer in hexadecimal encoding>  
          "@"   <destination address in hexadecimal encoding>
}
 

Источник: https://docs.elrond.com/developers/nft-tokens/#transfers

Какую роль выполняет nonce выше? И как он извлекается?

Ответ №1:

На Elrond отдельный NFT определяется (token id, nonce) парой, где token id соответствует идентификатору, связанному с классом выдачи (например, NFT-TICKER-123456 ), и nonce соответствует одному конкретному NFT (с различными атрибутами и данными URL и т. Д.), выданному под этим тикером.

Вы можете получить номера, связанные с NFS, хранящимися в учетной записи, с помощью API-интерфейсов шлюза Elrond. Например, в Devnet:

 https://devnet-gateway.elrond.com/address/ACCOUNT_ADDRESS/esdt
 

Возвращаемые данные будут выглядеть следующим образом:

 {
   "data":{
      "esdts":{
         "ABA-eea2e8-01":{
            "attributes":"AAAAA09rIQ==",
            "balance":"1",
            "creator":"erd1qqqqqqqqqqqqqpgq7t2u...",
            "hash":"YSBoYXNo",
            "name":"NFT",
            "nonce":1,
            "royalties":"0",
            "tokenIdentifier":"ABA-eea2e8-01",
            "uris":[
               "aHR0cDo6Ly9ldGhhbmZhc3QuY29t"
            ]
         }
      }
   },
   "error":"",
   "code":"successful"
}
 

Каждая пара ключей, значений соответствует балансу ESDT или определенному NFT. Например, здесь ключ "ABA-eea2e8-01" состоит из идентификатора токена NFT и nonce, соединенных с» -«, и его значения включают связанные атрибуты NFT.