Welcome to Cyber Gallery – the only place where your art is immortalized on the blockchain, your wallet is your passport, and your browser is your gallery guide. (No, we don't accept exposure as payment.)
- Explore: Browse a curated set of featured cyberpunk artworks.
- Your Arts on IPFS: See your uploaded masterpieces before they're minted as NFTs.
- Your NFTs: All the NFTs you've minted, with links to Etherscan and OpenSea (if OpenSea is feeling cooperative).
- Wallet Integration: Connect, switch, and disconnect your Ethereum wallet (MetaMask recommended).
- IPFS Storage: All art is stored on IPFS via Pinata.
- NFT Minting: Mint your art as an ERC-721 NFT on the Sepolia testnet.
- Cyberpunk UI: Neon, glass, and glitchy goodness.
- Frontend: HTML, CSS (cyberpunk custom), JavaScript (vanilla)
- Smart Contract: Solidity (ERC-721, see
ArtGallery.sol.md) - Backend: Node.js/Express (for Pinata API proxy)
- Blockchain: Ethereum Sepolia testnet
- Storage: IPFS via Pinata
- Clone the repo
git clone <this-repo-url> cd ART-GALLERY
- Install backend dependencies
cd backend npm install - Configure your secrets
- Copy
config.example.jstoconfig.jsand fill in your Pinata API keys and contract address. - Or set up a
.envfile if you prefer.
- Copy
- Start the backend
node server.js
- Open
index.htmlin your browser- Use a local server (like Live Server in VSCode) for best results.
- Connect your wallet
- Make sure MetaMask is on Sepolia testnet.
- Upload, Mint, and Enjoy!
- See
ArtGallery.sol.mdfor the full contract code and ABI. - Deploy to Sepolia and update your
config.jswith the contract address.
- Upload: Drag & drop or browse to upload your art. It goes to IPFS via Pinata.
- Mint: Only you (the uploader) can mint your art as an NFT. Pay the gas, get the glory.
- Tabs:
- Explore: Everyone sees these.
- Your Arts on IPFS: Only your unminted uploads.
- Your NFTs: Only your minted NFTs.
- Switch Wallets: Use the switch button to change accounts if you run out of testnet ETH (or just want to flex).
- The backend is a simple Express proxy for Pinata. No database, no nonsense.
- All gallery data comes from the blockchain. If it's not on-chain, it doesn't exist.
- The frontend is 100% static. No frameworks, just vibes.
- Never commit your
config.jsor.envwith real secrets. - The
.gitignoreis set up to keep you safe (unless you ignore the ignore).
- Cyberpunk UI inspired by the neon dreams of the 80s.
- Built with love, caffeine, and a little bit of JavaScript frustration.
- Q: Why is my NFT not showing up on OpenSea?
- A: OpenSea testnet is sometimes slow. Wait a bit, or try refreshing.
- Q: Why do I see a spinner forever?
- A: Check your backend, your wallet, and your network. Or just try turning it off and on again.
- Q: Can I use this for real NFTs?
- A: With a few tweaks, yes! But this is a testnet playground.
Open an issue or PR, or just shout into the void. The blockchain is always listening.


