An NFT marketplace built with Meteor and Ethereum. Based on Nader's tutorial, adapted to run on Meteor 3.5 with Rspack. Users can mint, list, and buy NFTs using MetaMask and IPFS for storage.
| Runtime | Meteor 3.5 |
| Frontend | React 18 |
| Styling | Tailwind CSS 3, Headless UI, Heroicons |
| Smart Contracts | Solidity, Hardhat, OpenZeppelin |
| Blockchain | Ethereum (localhost or Polygon Mumbai) |
| Web3 | Ethers.js v5, Web3Modal |
| Storage | IPFS (via ipfs-http-client) |
| Build | Rspack |
You need two terminals.
Terminal 1 — start a local Hardhat node:
meteor npm install
npx hardhat nodeThis gives you 20 accounts with 10000 ETH each. Copy a private key for MetaMask.
Terminal 2 — deploy contracts and start Meteor:
npx hardhat run scripts/deploy.js --network localhost
npm startVisit http://localhost:3000/.
| Command | What it does |
|---|---|
npm start |
Start the Meteor app |
npm test |
Integration tests (Mocha) |
npm run test-app |
Full-app tests (Mocha, watch mode) |
npm run visualize |
Bundle analyzer in production mode |
- Make sure MetaMask is set to the Localhost 8545 network
- Click the account icon, then Import Account
- Paste one of the private keys from
npx hardhat node
If you get "Nonce too high" errors during transactions:
- Open MetaMask settings
- Go to Advanced
- Click Reset Accounts
A deployed version is available at: https://meteor-nft-marketplace.meteorapp.com
To use it, add the Mumbai Testnet to MetaMask:
| Field | Value |
|---|---|
| Network Name | Mumbai TestNet |
| RPC URL | https://rpc-mumbai.maticvigil.com |
| Chain ID | 80001 |
| Currency Symbol | Matic |
You can get testnet Matic tokens from the Polygon faucet.
- Galaxy:
meteor deploy your-app.meteorapp.com- To try it quickly with a free tier and shared MongoDB:
meteor deploy your-app.meteorapp.com --free --mongo - Note: smart contracts need to be deployed separately to a public network (Polygon Mumbai, etc.)
- To try it quickly with a free tier and shared MongoDB:
- Any Node.js host:
meteor buildgives you a standard Node bundle - MUP: automated deploy to your own server over SSH