
Next, instead of storing the image data directly in the blockchain, we upload the image for a particular plot to IPFS, then store the IPFS hash of that image in the contract. Along with the image hash, we store the website associated with the plot. This information is stored in its own mapping separate from the ownership object so we don’t need to read it into memory while computing new purchases, making purchase transactions cheaper. This information is stored in the data mapping.