I'll come at this from a slightly different direction...
The current price of ETH is ~$1500.
The Yellow Paper states that storing a 256-bit (32-byte) word costs 20,000 gas.
Average gas price is currently ~100 Gwei. That's 100 x 20,000 Gwei per 32 bytes, which is 2,000,000 Gwei, which is 0.002 ETH, which is $3.
1 GB is 1,073,741,824 bytes, so there are 33,554,432 32-byte words. As above, each of these words costs $3, so each GB costs (3 * 33554432) = $100,663,296 at current prices.
5 MB would therefore cost ~$503,316.
Clearly the base cost of an NFT - before any abstract value has been applied - is not the price shown above, so NFT's can't actually be storing the associated picture or movie data on the blockchain.
If you look at the spec for EIP-1155 you'll see it defines an image
field in the token's metadata:
"image": {
"type": "string",
"description": "A URI pointing to a resource with mime type image/* representing the asset to which this token represents. Consider making any images at a width between 320 and 1080 pixels and aspect ratio between 1.91:1 and 4:5 inclusive."
},
If we look at a real example, in this case by calling the CryptoKitty (an ERC-721 token) API, we see the following:
-> https://public.api.cryptokitties.co/v1/kitties/1
{
"id": 1,
"name": "Flying Kitten",
"bio": "哎呀妈呀!! 本喵爬不更名,坐不改姓,就叫 #{name}!我的表哥是喵星球鼎鼎大名的多啦A梦。 不是什么太高调的事,不过本喵确实和汤姆猫有过相交之情。 本喵和你是不是上辈子见过呀?",
"image_url": "https://img.cryptokitties.co/0x5328276603d169165d0f71ca67ccc89c45027df3/1.png",
"image_url_cdn": "https://img.cn.cryptokitties.co//0x5328276603d169165d0f71ca67ccc89c45027df3/1.png",
"image_url_png": "https://img.cryptokitties.co/0x5328276603d169165d0f71ca67ccc89c45027df3/1.png",
"image_path": "",
"generation": 0,
And so we see the image files are stored off-chain.
Can we mint 5 gigabyte video NFTs?
Yes, given that they're stored off-chain...
Best Answer
I can't find that particular piece in their contracts, but the below applies to the 2 of 10 edition.
The 2 of 10 edition is here.
From that we see their contract - MakersTokenV2 - is at 0x2a46f2ffd99e19a89476e2f62270e0a35bbf0756.
You can use Etherscan to read data from the contract here.
The token ID is 42497, which we can use with the
tokenURI()
method from that Etherscan page, to get the following as the location of the artwork's metadata (not the artwork itself):ipfs://ipfs/QmdNvqCbd7qYvtyFJdd3zoJC84cvyCiSxYDfsiYYQZVCec
Which is an IPFS path. To view it through a browser requires you to use a gateway:
https://ipfs.io/ipfs/QmdNvqCbd7qYvtyFJdd3zoJC84cvyCiSxYDfsiYYQZVCec
From there we can see the image's metadata, which includes the actual location of the art: