Based on the idea of the Loot project, I want to build something similar, just creating a random character creation proof of concept. Here, the user just mints an NFT sending a seed word, and randomly, the Smart Contract generates an NFT with a Name, Profession, Country, and Personality, with different background color and font. In addition, the entries by default of every data can be modified.
📷 Some examples of RandCharacter NFTs:
Use git clone [email protected]:diegotorreslopez81/Random-SVG-NFT.git
to get the files within this repository onto your local machine.
Duplicate .env.example
to .env
and fill out the HARDHAT_CHAIN_ID
environment variable. The port from the example file, if it's free, will be fine in most cases.
Run npm install
.
Compile the ABI for the smart contract using npx hardhat compile
.
If you're successful, you'll recieve a confirmation message of:
Compilation finished successfully
And, a src/artifacts
folder will be created in your project.
Deploy the smart contract to the local blockchain for testing with npx hardhat node
.
If you're successful, you'll be presented with a number of account details in the CLI. Here's an example:
Account #0: 0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266 (10000 ETH)
Private Key: 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80
Then in a new terminal window, npx hardhat run scripts/deploy.js --network localhost
.
If you're successful, you'll get something like the following CLI output:
Minter deployed to: 0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0
Edit the file scripts/mint.js
and write a random word as seed to randomize the NFT: .CreateRandonCharacterNFT("whatever")
Finally, come back to the terminal window, and execute npx hardhat run scripts/mint.js --network localhost
.
and you will get your NFT Character Randomize.
- Create the Smart Contract
- Develop the Frontend
Please, any feedback or comment, contact me:
Diego Torres - @0xDiegoTorres
GitHub profile: https://github.com/diegotorreslopez81