DevLog250321

> Log Date: 250321

Creating NFT Metadata and Uploading to IPFS (Web3.Storage)

Date: 250321

Project: NFT Collection #1 (“Aurora’s Echo” and 9 others)


Step 1: Prepare Image Files

Step 2: Upload Paintings to IPFS

Step 3: Write Metadata JSON Files

Step 4: Upload Metadata to Web3.Storage

What’s Working

Next Step


Notes: - This process was stressful at times, especially verifying IPFS links and getting the image references right. - Learned that ipfs:// is preferred in metadata, and platforms like OpenSea will resolve it via gateway.

Status: Metadata is complete and verified. Smart contract phase begins next.

Project: CLI Setup


What Was Completed

Installed Node and NVM

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

Added to .zshrc:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

Then installed and used Node:

nvm install 18
nvm use 18

Installed Web3.Storage CLI

npm install -g web3.storage

Attempted Web3.Storage Upload


To-Do List for Next Session

1. Get a Working API Key

Try the following: - https://web3.storage/account

Set it in terminal:

export WEB3_STORAGE_TOKEN="your-api-key-here"

Optional: add it to .zshrc:

echo 'export WEB3_STORAGE_TOKEN="your-api-key-here"' >> ~/.zshrc
source ~/.zshrc

2. Upload Metadata Folder via CLI

cd ~/2025NFT
web3.storage upload --name "My NFT Metadata" --directory metadata

Copy the returned CID and verify:

https://ipfs.io/ipfs/<your_cid_here>/metadata1.json

3. Use CID in Smart Contract

Update contract to use:

baseURI = "ipfs://<your_cid_here>/";

4. Get Test MATIC for Polygon Mumbai

5. Deploy and Mint


Status