This is a NFT collection of the cutest puppies - the ERC-721 standard. When you mint a token, the smart-contract uses ChainlinkVRF V2 to determine the breed that the owner gets.
You may get a drop-off:
- Pug puppy (10% chance).
- Shiba Inu puppy (30% chance)
- St. Bernard puppy (60% chance)
You can read more about what ChainlinkVRF V2 is by following this link.
If you do not understand something, be free to open an issue or write me in DM :)
- git
- You'll know you did it right if you can run
git --version
and you see a response likegit version x.x.x
- You'll know you did it right if you can run
- Nodejs
- You'll know you've installed nodejs right if you can run:
node --version
and get an ouput like:vx.x.x
- You'll know you've installed nodejs right if you can run:
Clone repository from git:
git clone https://github.com/KumaCrypto/CuteDoggies-ERC721.git
npm install --save-dev
npx hardhat run NFT-metadata/scripts/index.ts
Deploy to the public blockchains:
If your network is different from "Goerli", change the hardhat.config.ts and the address values in helper.config.ts
npx hardhat deploy --tags CuteDoggies --network <Your network here>
Or if you want to deploy a contract on a local network hardhat:
npx hardhat deploy
Of course you will need a .env file in which you should have the following variables (or your own for different networks):
-
[ YOUR_NETWORK ]RPC_URL: The url of the node. This argument is required for custom networks.
-
[ YOUR_NETWORK ]PRIVATE_KEY key or MNEMONIC: to sign a message.
-
ETHERSCAN_API_KEY: for contract verification.
Remember to change hardhat.config.ts for your variables and networks.
npx hardhat test
npx hardhat coverage
npx hardhat run scripts/buyCuteDoggie.ts --network goerli or <YOUR NETWORK NAME>
npx hardhat run scripts/withdraw.ts --network goerli or <YOUR NETWORK NAME>
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.