A simple Next.js 14 application for minting Soulbound Tokens (SBTs) on The Open Network (TON) blockchain. This project demonstrates how to create a user-friendly interface for minting SBTs using modern web technologies.
This application showcases:
- Integration with TON blockchain
- Wallet connection using TonConnect
- NFT collection metadata fetching
- SBT minting functionality
- Modern UI with Tailwind CSS
-
Deploy Your SBT Collection
- Visit sbt.nikandr.com to deploy your SBT collection
- Fill in the collection metadata:
- Collection name (15-30 characters)
- Collection description (up to 500 characters)
- Collection image (400x400 to 1000x1000 pixels, PNG/JPG/WebP/SVG)
- Cover image (2880x680 pixels recommended)
- Social links (up to 10)
- Fill in the item metadata:
- Item name (15-30 characters)
- Item description (up to 500 characters)
- Item image (1000x1000 pixels recommended)
- Set your token price
- Deploy the collection and sign the transaction with your wallet
- Save the deployed collection's smart contract address
-
Use This Minter
- Clone and set up this project
- Replace the
SBT_CONTRACT_ADDRESS
in the code with your deployed collection address - Users can now connect their wallets and mint tokens from your collection
- Node.js (version 18 or higher)
- npm (comes with Node.js)
- A TON wallet (like TonKeeper)
- GitHub account
- Vercel account (optional, for deployment)
-
Clone the repository:
git clone https://github.com/nikandr-surkov/ton-sbt-minter.git cd ton-sbt-minter
-
Install dependencies:
npm install
-
Update the contract address:
// In components/MintSBT.tsx const SBT_CONTRACT_ADDRESS = "YOUR_DEPLOYED_CONTRACT_ADDRESS";
-
Run the development server:
npm run dev
-
Open http://localhost:3000 with your browser to see the result.
app/layout.tsx
: Root layout component with fonts and metadataapp/page.tsx
: Main page component with TonConnect providercomponents/MintSBT.tsx
: Core minting component with TON integrationutils/contract-build/
: Smart contract interfaces
- Wallet connection using TonConnect
- SBT collection metadata fetching
- SBT minting functionality
- Loading states and error handling
- Responsive design with Tailwind CSS
- Next.js 14
- TypeScript
- Tailwind CSS
- TON Connect
- TON SDK
The app can be deployed to any hosting platform that supports Next.js. For the easiest deployment experience, use Vercel:
- Push your code to a GitHub repository
- Sign up for a Vercel account
- Import your GitHub repository
- Deploy with a single click
Contributions are welcome! Please feel free to submit issues and pull requests.
- 🌐 Website: nikandr.com
- 📺 YouTube: @NikandrSurkov
- 📱 Telegram: @nikandr_s
- 📢 Telegram Channel: Clicker Game News
- 💻 GitHub: nikandr-surkov
- 🐦 Twitter: @NikandrSurkov
- 💼 LinkedIn: Nikandr Surkov
- ✍️ Medium: @NikandrSurkov