Byte Bunch is a versatile NFT project based on the ERC-721 standard, offering users the ability to mint, own, and trade unique digital assets. With its modular architecture, users can easily customize the smart contract, update environment variables, and personalize the design to suit their specific needs. Whether you're an artist, collector, or NFT enthusiast, Byte Bunch provides a seamless and customizable platform to explore the world of NFTs, connect with a vibrant community, and unleash your creativity in the digital realm.
Client: Next.js, React, TailwindCSS, Ethers.
Server: Solidity, Hardhat, Infura
- Clone the project
git clone https://github.com/jaykeraliya0/Project-Byte-Bunch
-
upload your images and metadata files to ipfs and copy CID of metada (don't forgate to link images in metadata jsons)
-
Go to backend/contracts/ and edit ByteBunch.sol smart contract according to your requirements.
uint256 public cost = 0.01 ether; // price per nft
uint256 public maxSupply = 10000; // maximum nuber of nfts of your collection
uint256 public maxMintAmountPerTx = 5; // number of nfts user can mint per transection
constructor() ERC721("NAME", "SYMBOL") {
setHiddenMetadataUri("ipfs:///__CID__.json");
}
update above feilds in smart contract
- install dependencies
npm install
cd backend
npm install
- configure hardhat.config.ts and deploy contract
npx hardhat run scripts/deploy.ts
-
copy and save your contract deployed address from console
-
build and run frontend next.js
npm run build
npm start
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.
Don't forgate to add environment veribles in vercel
To run this project, you will need to add the following environment variables to your .env file. There are two .env files on at root and another at backend folder.
- Root env
NEXT_PUBLIC_CONTRACT_ADDRESS
Address of smart contract after deployment
INFURA_API_KEY
Infura API key
- Backend env
API_URL
You can get from alchemy
PRIVATE_KEY
Private key of your ethereum wallet
You can find the respective .env.example in project directories.