Pixels For Peace is an opensource Ethereum blockchain NFT project that allows users to create unique NFTs from their image files and choose to either create an auction or a lottery for a charitable cause. All proceeds are donated to the designated charity.
- First, you need to have an Ethereum wallet that supports ERC-721 tokens, such as MetaMask.
- Next, upload an image file via Front End. The file will be uploaded to a secure and reliable IPFS. An IPFS hash for the file will be generated.
- The IPFS hash and CID will be used to create a unique NFT on the Ethereum blockchain.
- Choose whether you want to create an auction or a lottery for your NFT and link a charitable cause.
- If you choose to create an auction, set a starting price (bid) and an end time for the auction.
- If you choose to create a lottery, set a ticket (token) price and the number of tickets that will be sold.
- All proceeds from the auction or lottery will be donated to the charitable cause of your choice.
- Create unique and one-of-a-kind NFTs using your own images. The images are stored in a secure, reliable, decentralized IPFS.
- Support a charitable cause by donating the proceeds from your NFT sale (automated by contract).
- Use the power of the Ethereum blockchain to securely and transparently manage the sale of your NFT.
To get started with Pixels For Peace, you will need the following:
- An Ethereum wallet that supports ERC-721 tokens, such as MetaMask.
- Some ETH (DAI) to pay for gas fees on the Ethereum blockchain.
- An image file that you will use to create a unique NFT for a charitable cause.
- A strong intention to make good for the world.
Once you have these, you can start creating your own Pixels For Peace NFTs and supporting a good cause.
Pixels For Peace uses the following Solidity contracts:
NFT.sol
: used to generate NFTsAuction.sol
: used to manage auctionsLottery.sol
: used to manage lotteriesSaleFactory.sol
: used to create new auction or lottery contract instances for each generated NFT
The frontend is built with Angular (TypeScript) and provides the customer-facing interface for generating new NFTs, viewing past and current sales, and viewing a list of supported charitable causes.
The backend is built with Nest (TypeScript) and is responsible for securely interacting with the Ethereum contracts, as well as managing the database (MongoDB). Backend API