mysite.com/ipfs/<ipfs_id>
or an IPFS URL in this format: ipfs://<ipfs_id>
).http
or https
schemelibmagic
) we try to guess its mime type from its content. If the file is a JSON object
(please note that a valid JSON
can also be an array
, a string
or a number
but we only accept object
s) then we consider that asset as an ARC3 NFT, and the JSON
as its metadata. If the file is an image or a video, we consider that asset as an ARC69 NFT, and the file as its media. Then we fire different asynchronous tasks for ARC3 and ARC69 NFTs. Please note that we don't repeatedly try to fetch the successfully fetched files.image
field of the metadata, which should be the URL of the image, and try to fetch the file. If we can successfully fetch the file and validate that it is an image then we save it. For the video of the NFT we try to get animation_url
field of the metadata, and try to fetch the file. If we can successfully fetch the file and validate that it is a video then we save it. An ARC3 NFT can both have an image and a video media at the same time. For both image and video URLs, unlike above we accept every URL in this case. Please note that we don't repeatedly try to fetch the image or the video if they are successfully fetched once. We only support videos and images currently.acfg
transaction with a note-prefix
equal to "{"
(to filter JSON object
s). In each iteration we repeat this task since metadata of the ARC69 NFTs are mutable.