NFT_Collection is a smart contract project for dynamic NFT collection.
Accounts can mint their own NFTs and then import them in their wallets.
The doggie NFT is stored on IPFS Network and the Moodify NFT is stored directly on-chain.
-
Important:
- Not real ether or private keys are used.
- This project can be deployed both to an in-memory local blockchain like Anvil or Sepolia Testnet.
- If you want to use Sepolia Testnet or any other, you have to make an account and use your keys to sign transactions.
- To use Sepolia you have to have some Sepolia Test Eth which can be aquired from a Faucet.
- Anvil would be easier to test with since it is a local Ethereum node provided by Foundry.
- The base deploy is for Anvil with a fake account and private key.
- To import your minted NFT you need to add the account to your Metamask and switch to Anvil network.
- If you don't have Anvil network you can add it manualy through metamask wallet.
For further info, please read the whole file, so you can interact with the project efficiently.
NOTE: you need to have WSL and Ubuntu in order to execute the project on Windows.
Foundry is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust.
Foundry consists of:
- Forge: Ethereum testing framework (like Truffle, Hardhat and DappTools).
- Cast: Swiss army knife for interacting with EVM smart contracts, sending transactions and getting chain data.
- Anvil: Local Ethereum node, akin to Ganache, Hardhat Network.
- Chisel: Fast, utilitarian, and verbose solidity REPL.
$ git clone https://github.com/GeorgiKostadinovPro/NFT_Collection
Review the Makefile to easily interact with the project.
$ forge --help
$ anvil --help
$ cast --help