A decentralized NFT marketplace built with Next.js and Solidity, allowing users to mint, list, buy, and sell NFTs using custom ERC20 tokens.
- Mint NFTs: Create unique digital assets using our custom NFT contract
- List for Sale: List your NFTs on the marketplace with custom pricing
- Buy & Sell: Purchase NFTs using RCH tokens
- Wallet Integration: Connect your wallet using Web3Modal (Reown AppKit)
- Multi-chain Support: Supports Sepolia testnet and localhost
- Modern UI: Clean and responsive interface built with Next.js and Tailwind CSS
Smart Contracts:
- Solidity ^0.8.25
- OpenZeppelin Contracts
- Foundry for development and deployment
Frontend:
- Next.js 16.1.3
- React 19.2.3
- TypeScript
- Tailwind CSS
- Wagmi for Web3 integration
- Reown AppKit for wallet connections
NFTMarket/
├── contracts/ # Smart contracts and deployment scripts
│ ├── src/ # Solidity contracts
│ ├── script/ # Deployment scripts
│ └── deployments/ # Contract addresses
└── frontend/ # Next.js frontend application
├── src/
│ ├── components/ # React components
│ ├── hooks/ # Custom React hooks
│ └── contracts/ # Contract ABIs
└── public/ # Static assets
-
Clone the repository
git clone <repository-url> cd NFTMarket
-
Install dependencies
# Install contract dependencies cd contracts && forge install # Install frontend dependencies cd ../frontend && pnpm install
-
Setup environment variables
# Copy and configure environment files cp frontend/.env.example frontend/.env.local cp contracts/.env.example contracts/.env -
Deploy contracts (local)
cd contracts forge script script/DeployAll.s.sol --rpc-url http://localhost:8545 --broadcast -
Start the frontend
cd frontend pnpm dev
- RCH Token: ERC20 token used for marketplace transactions
- Ruochen NFT: ERC721 NFT contract for minting unique tokens
- NFT Market: Marketplace contract for listing and trading NFTs
- Live Demo: NFT Market
- Contracts Documentation: contracts/README.md
- Frontend Documentation: frontend/README.md
MIT License
Pull requests and issues are welcome!
基于 Next.js 和 Solidity 构建的去中心化 NFT 市场,允许用户使用自定义 ERC20 代币铸造、上架、购买和出售 NFT。
- 铸造 NFT: 使用我们的自定义 NFT 合约创建独特的数字资产
- 上架销售: 在市场上以自定义价格上架您的 NFT
- 买卖交易: 使用 RCH 代币购买 NFT
- 钱包集成: 使用 Web3Modal (Reown AppKit) 连接您的钱包
- 多链支持: 支持 Sepolia 测试网和本地网络
- 现代界面: 使用 Next.js 和 Tailwind CSS 构建的简洁响应式界面
智能合约:
- Solidity ^0.8.25
- OpenZeppelin Contracts
- Foundry 开发和部署工具
前端:
- Next.js 16.1.3
- React 19.2.3
- TypeScript
- Tailwind CSS
- Wagmi Web3 集成
- Reown AppKit 钱包连接
NFTMarket/
├── contracts/ # 智能合约和部署脚本
│ ├── src/ # Solidity 合约
│ ├── script/ # 部署脚本
│ └── deployments/ # 合约地址
└── frontend/ # Next.js 前端应用
├── src/
│ ├── components/ # React 组件
│ ├── hooks/ # 自定义 React Hooks
│ └── contracts/ # 合约 ABI
└── public/ # 静态资源
-
克隆仓库
git clone <repository-url> cd NFTMarket
-
安装依赖
# 安装合约依赖 cd contracts && forge install # 安装前端依赖 cd ../frontend && pnpm install
-
配置环境变量
# 复制并配置环境文件 cp frontend/.env.example frontend/.env.local cp contracts/.env.example contracts/.env -
部署合约 (本地)
cd contracts forge script script/DeployAll.s.sol --rpc-url http://localhost:8545 --broadcast -
启动前端
cd frontend pnpm dev
- RCH Token: 用于市场交易的 ERC20 代币
- Ruochen NFT: 用于铸造独特代币的 ERC721 NFT 合约
- NFT Market: 用于上架和交易 NFT 的市场合约
- 在线预览: NFT Market
- 合约文档: contracts/README.md
- 前端文档: frontend/README.md
MIT License
欢迎提交 Pull Request 和 Issue!
