Deutsch한국어 日本語中文EspañolFrançaisՀայերենNederlandsРусскийItalianoPortuguêsTürkçe
Portfolio TrackerSwapBuy CryptoCryptocurrenciesPricingWalletNewsEarnBlogNFTWidgetsCoinStats MidasDeFi Portfolio TrackerIntegrations24h ReportPress KitAPI Docs

How to Verify the Authenticity of NFTs Migrated to XLS-20 on the Sologenic Marketplace

1y ago
bullish:

2

bearish:

0

November 15th, 2022 12:00 PM PST

Amidst the launch of the new XRPL-native NFT standard, The Sologenic Development Foundation has devised a tool to verify the authenticity of XLS-20 NFTs that have been upgraded from the previous standard. This tool aims to detect forged NFTs by validating the signed and encoded JSON Web Token (JWT) on each NFTokenMint transaction considering Sologenic’s Private key signature cannot be forged.

The user-end tool will be available on sologenic-migration verification as soon as the amendment goes live on the XRP Ledger; moreover, the following article will elaborate on how to verify such signature and NFT data manually.

In addition to this guide, the Sologenic team will be providing anso npm library to facilitate the manual verification process outlined in the following steps:

Installing path for the npb library: npm i nft-conversion-verifier

  1. Grab the NFTokenID
    Example NFT 000C0000ACCB60DD01C1C54C54C8155CABDAAAF18D374E9616E5B76200000001
  2. Search the Ownership history of this NFT, to find the NFTokenMint Transaction
    Example TX E5CB61CECF5ADDA8C4C3C3AFE97ADB9AE181389470D0596A331A85A39DB3B34E
  3. Find the largest MemoData hex, and convert it from Hex to a String using the next tool.
  4. Grab the resulting JWT from the Hex decoding and head to jwt.io
    Example JWT
    eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJpbnRlcm5hbF90b2tlbl9pZCI6IjAyMzAzMTUxNkQ1MTM2NEE0RTQ2NTQzMjMzMzMzNjMxMDAwMDAwMDAiLCJjb2xsZWN0aW9uX2lkIjoickpORDlYNFF4aUVpS0JaenFWdkZmZXZKQ01KV1FqVkdzayIsImNvbGxlY3Rpb25faXBmc19jaWQiOiJiYWZ5YmVpZ2RneHVhYjdxNDZsenNhdW4zZjR1N3Vmdm53eHcya3ZpdnppNWl6MmNqbWFsejJvbGlocSIsInN0YW5kYXJkX21pZ3JhdGlvbiI6dHJ1ZSwibWludGVyIjoickdrZWl5NDR1OUZiV25CU1JmOXFmdUtYZ1NZUGoxNjhTcyIsImlhdCI6MTY2NjI0ODg3NCwiaXNzIjoiU29sb2dlbmljIEZvdW5kYXRpb24ifQ.R15uCZztXdThkt0qPqKodJHrrg9Dl0PH9FbN-JwrOdXpaLO9Pm1ZZ20CazTRLmMAeeWUNBxyklbfRCMYKWqG-g
  5. After pasting the JWT in the decode part, head to the “Payload” section where the NFT data is put. Example payload

6. In the payload object, you will be able to find the “token_id” property. This “token_id” should be compared to the NFTokenID of the actual NFT on the ledger, and they should match. If they don’t match, the NFT might be a forge. As well, you will be able to find the XLS14 data of the NFT; currency code as “internal_token_id” and issuer as “collection_id”

7. After verifying the data, head to the section below “Verify Signature” and paste the provided Sologenic Public Key.

8. Lastly, after completing the previous step successfully, you should see the “Valid Signature” message on the bottom left of the screen. If the information displayed on this section is anything else other than this, the NFT is invalid and might be a forge or it wasn’t migrated through Sologenic.

This verification path is forgery-proof, as even if the same MemoData is pasted in another NFTokenMint transaction, that MemoData contains the NFTokenID of the correct NFT and should always match. There is no possibility of forging the NFTokenID as it is encoded with a Transaction Initiator Address.

About Sologenic

The “Sologenic Development Foundation” is an independent community of developers actively working on various open-source projects and use-cases around the SOLO and CORE tokens. More information can be found on www.sologenic.org

Contact

Favio Velarde

press@sologenic.org


How to Verify the Authenticity of NFTs Migrated to XLS-20 on the Sologenic Marketplace was originally published in Sologenic on Medium, where people are continuing the conversation by highlighting and responding to this story.

1y ago
bullish:

2

bearish:

0

Manage all your crypto, NFT and DeFi from one place

Securely connect the portfolio you’re using to start.