Launching an NFT collection
Buburuza supports scalable NFT deployment with low BUBU fees and full EVM compatibility. Follow these steps to create and deploy your first NFT.
1. Write Your ERC-721 Smart ContractUsing OpenZeppelin’s ERC-721 implementation:
// SPDX-License-Identifier: MIT pragma solidity ^0.8.9; import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; import "@openzeppelin/contracts/access/Ownable.sol"; contract BubNFT is ERC721, Ownable { uint256 public nextTokenId; constructor() ERC721("BuburuzaNFT", "BUBNFT") {} function mint(address to) external onlyOwner { _safeMint(to, nextTokenId); nextTokenId++; } }Explanation:
BubNFTis the NFT contract with name"BuburuzaNFT"and symbol"BUBNFT".mintfunction allows the contract owner to mint NFTs to any address.nextTokenIdkeeps track of sequential token IDs.
2. Set Up Your Development EnvironmentYou’ll need:
Remix IDE (https://remix.ethereum.org)
MetaMask wallet connected to Buburuza Testnet
Test BUBU tokens to pay for gas fees
3. Compile the ContractOpen Remix → Create a new file
BubNFT.solPaste the contract code above
Go to Solidity Compiler tab → select
0.8.9or above → Compile
4. Deploy the ContractGo to Deploy & Run Transactions tab in Remix
Environment → Injected Web3 (connects to MetaMask)
Ensure MetaMask is on Buburuza Testnet
Click Deploy → confirm transaction in MetaMask
After deployment, Remix will show the contract address
5. Mint Your First NFTIn Remix, under Deployed Contracts, expand
BubNFTCall
mint(<recipient_address>)→ transaction confirmed in MetaMaskNFT is minted to the recipient address; token ID increments automatically
6. Verify and InteractVerify the contract on Buburuza Explorer
Interact via Read Contract / Write Contract tabs
View NFT ownership, metadata, and transactions on-chain
Best PracticesUse base URI for metadata if deploying multiple NFTs
For public minting, add payment logic (payable function)
Integrate with IPFS or decentralized storage for NFT assets
Test thoroughly on Buburuza Testnet before mainnet deployment
Last updated
