A modern, feature-rich React dApp for minting and managing NFTs on the Sui blockchain with configurable smart contract support.
π [Try it now:[((https://moizz-sui-nft-dapp.vercel.app/))]
Experience the universal Sui NFT minting platform live! Connect your wallet, configure your contract, and start minting NFTs on Sui testnet.
- Configurable Package ID - Input any Sui NFT contract address
- Dynamic Module Names - Support for any module structure
- Function Name Detection - Auto-detect or manually set mint function names
- Real-time Contract Validation - Instant feedback on contract compatibility
- Multi-wallet Support - Connect with any Sui wallet
- Auto Mint Capability Detection - Automatically finds admin/mint capabilities
- Public Minting Support - Works with contracts that don't require special permissions
- Real-time Status Updates - Live connection and capability status
- Dark Theme Design - Sleek, professional interface
- Comprehensive Animations - Smooth transitions and micro-interactions
- Responsive Layout - Perfect on desktop, tablet, and mobile
- Real-time Preview - See your NFT before minting
- Live Gallery - Dynamic collection display
- Debug Console Logging - Comprehensive transaction and object debugging
- Error Handling - Detailed error messages and troubleshooting
- Hot Reload Development - Fast development with Vite
- TypeScript Ready - Full type safety support
- Node.js 16+
- A Sui wallet (Sui Wallet, Ethos, etc.)
- Your deployed Sui NFT contract details
# Clone the repository
git clone https://github.com/yourusername/sui-nft-minting-dapp.git
cd sui-nft-minting-dapp
# Install dependencies
npm install
# Start development server
npm run dev- Open the app at
http://localhost:5173 - Connect your wallet using the connect button
- Configure your contract:
- Enter your Package ID (0x...)
- Set your Module Name (e.g., "loyalty_card", "nft_minter")
- Choose your Function Name (e.g., "mint", "mint_nft", "mint_loyalty")
This dApp works with contracts that have minting functions with these signatures:
// Public minting (no capability required)
public fun mint(customer_id: address, image_url: String, ctx: &mut TxContext)
// Admin capability minting
public fun mint_nft(cap: &MintCap, name: String, description: String, image_url: String, recipient: address, ctx: &mut TxContext)- β Loyalty Card Contracts - Customer loyalty NFTs
- β Standard NFT Collections - Traditional NFT minting
- β Art Collections - Artist portfolio NFTs
- β Membership Cards - Access token NFTs
- β Certificate Systems - Achievement/credential NFTs
- β Custom Implementations - Any compatible Move contract
- Click "Connect Wallet" in the header
- Choose your preferred Sui wallet
- Approve the connection
- Enter your deployed contract's Package ID
- Set the module name from your Move contract
- Select or enter the minting function name
- Fill in the NFT details (name, description, image URL)
- Preview your NFT before minting
- Click "Mint NFT" to create on-chain
- Your minted NFTs appear in the gallery automatically
- Click refresh to update the collection
- View NFT details and transaction history
- Frontend: React 18 + Vite
- Styling: TailwindCSS with custom animations
- Blockchain: Sui TypeScript SDK + dApp Kit
- State Management: React hooks + TanStack Query
src/App.jsx- Main application logic and contract integrationsrc/components/- Reusable UI componentssrc/index.css- Custom animations and stylingpackage.json- Dependencies and scripts
npm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production build
npm run lint # Run ESLintπ Live App: [https://moizz-sui-nft-dapp.vercel.app/]
This app is automatically deployed on Vercel with:
- β Production-ready build optimization
- β Auto-deployment from GitHub main branch
- β CDN distribution for global performance
- β HTTPS secure connection
- β Mobile responsive on all devices
npm run build- Vercel β (Currently used): Connect GitHub repo for auto-deployment
- Netlify: Drag & drop the
distfolder - GitHub Pages: Use GitHub Actions for CI/CD
- IPFS: Decentralized hosting option
This version includes major improvements over the original:
- Universal contract support instead of hardcoded addresses
- Dynamic function detection with common name suggestions
- Improved error handling with detailed debugging
- Modern UI design with comprehensive animations
- Better wallet integration with capability detection
- Replace hardcoded contract addresses with configurable inputs
- Update from basic NFT structure to flexible object type detection
- Enhanced from simple minting to universal contract compatibility
- Upgraded UI from basic styling to modern design system
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Sui Foundation - For the amazing blockchain platform
- Mysten Labs - For the excellent developer tools
- React Team - For the robust frontend framework
- TailwindCSS - For the utility-first CSS framework
Built with β€οΈ for the Sui ecosystem π