A simple cw721-factory contract designed for Oraichain testnet as a task of OSOD (Oraichain Season of Docs).
The cw721-factory contract needs a cw721-base contract and the NFT data to mint an NFT and output a cw721 address for them. The cw721-base acts as the collection whom the minted NFT will be a part of.
![](https://private-user-images.githubusercontent.com/65298483/333559647-644edf2f-ed0a-4d39-b9ce-24776e1bc986.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1OTM0MjQsIm5iZiI6MTczOTU5MzEyNCwicGF0aCI6Ii82NTI5ODQ4My8zMzM1NTk2NDctNjQ0ZWRmMmYtZWQwYS00ZDM5LWI5Y2UtMjQ3NzZlMWJjOTg2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDA0MTg0NFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWVmZTBmMTQxNGQzZWE2MTQ5MjJjMTc1ZTQ1ZmU0YTY2MGFlMjZjYTA1YmIzMTg1MGM3ZmRmYWJlNWViMGVmNGEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.93ORa1qrGP46GaB_06IHgUYuKp3IXDHXWmMpQ4NiiF0)
I used my previously created cw20 token SYPZ & used IPFS through Pinata which also provides a Gateway to access stored files, to make sure the NFT is secure and to avoid "rug pulls". In the token URI, I used the metadata standards as explained by OpenSea Developer Docs.
Data of each of the contracts can be seen through the Oraichain Block Explorer.
For example, to make this Digital Eye NFT, whose contract address is orai1djhtqhjjml3gxu54gwg68nuxts744hkd7rkqu5s3xx96y62rrt7sjw83ar , and this SmoKid NFT, whose contract address is orai1m4r7yedmn7rzac6d0439ac4m6qdhsgecvs9tkchfqwarkzdc8hfs06wppw , uses this cw721-base contract, whose contract address is orai12x8futf90m3npkhu2aadhjxrx9u0m9lef0jexqargy7jx2pthdmqpsses0 , to make each of them and make it a part of the Perspective NFT collection.
Oraichain Docs : https://docs.oraichaindao.org/cosmwasm-quick-start/writing-cw-721-nft-contract