This is repository with experimental ERC721 composable extensions.
Available contracts/extensions:
- ERC721BoundedEnumerable: OpenZeppelin Enumerable extension with limited supply
- ERC721EnumerableOwners: Maintain unique owners list
- ERC721Distributable: Royalty distribution between owners, you could set ignore list for marketplaces
- ERC721Shufflable: Mint pseudo randomization
- ERC721Whitelistable: Whitelist for free mints
- NFTCollection: Example contract that combines all of the extensions
Code never been audited, use it on your own risk
-
Run npm i
-
Create .env config file, template:
TESTNET_PRIVATE_KEY="REPLACE WITH YOUR PRIVATE KEY" TESTNET="REPLACE WITH YOUR RPC" MAINNET_PRIVATE_KEY="REPLACE WITH YOUR PRIVATE KEY" MAINNET="REPLACE WITH YOUR RPC" NFT_NAME="REPLACE WITH YOUR NAME" NFT_SYMBOL="REPLACE WITH YOUR SYMBOL" NFT_BASE_URI="REPLACE WITH YOUR BASE URI" NFT_MAX_SUPPLY=100
-
Run compile and any other commands from package.json/scripts