Inspiration
Many people in Ukraine have been affected by Russia's attack in 2022. We want to help regular people to restore their homes and basic needs.
What it does
We developed web3 service that helps with donation, use NFT and connect Investors with Volunteers that coordinate people support and report about funds usage.
Service have 3 roles: Investor, Volunteer and Admin.
Investors can donate to support Ukraine and get unique NFT from our collection (9999 unique images that represent people windows). Collection contain common and rare NFTs (when you donate more, you receive rare NFT). Each NFT stored all information about donate and later can show how this donate was used.
Volunteer can withdraw investment from NFTs and coordinate this funds usage. We have personal limitation for each volunteer for better control of finances allocation. Volunteer should report about recovery status - describe what was restored or who was supported and upload photos with details. Investor can see all this details in separate page "Support Results".
Admin can manage currencies (we support multiple crypto-currencies) and manage Volunteers.
How we built it
Smart Contract using Solidity and React frontend. Working on this project we cover different challenges that was covered by Chainlink, Alchemy and NFT.storage services. Also we used openzeppelin contracts, web3-react for ability to connect multiple wallets in near future.
Challenges we ran into
- How to generate 9999 unique images and store it on IPFS. Hashlips allow generate this images from layers and NFT.storage help with butch upload to IPFS.
- How to make sure that investor pay correct amount of tokens in USD equivalent. Chainlink data feeds cover this requirement.
- How to get all user NFTs and all NFTs from our collection to show on "Support Results" page. Alchemy NFT API helps with this task.
Accomplishments that we're proud of
- Collection of 9999 unique images.
- Dynamic crypto-currency list that can be extended by Admin.
- Ability to control Volunteers.
- Simple interface.
- Decentralized frontend using Spheron Network (Filecoin).
What we learned
- How to generate NFT collection.
- How to deploy huge collection to IPFS.
- How to use Chainlink data feeds.
- How to get all user tokens and balances (by Alchemy Token API).
- How to get all user NFTs (by Alchemy NFT API).
- How to use Spheron Network to deploy our frontend.
What's next for Support Ukraine NFT Collection
- Launch on mainnet.
- Ability to connect multiple wallet providers.
- Marketing and Partnerships.
- Support for people in Ukraine.
Built With
- alchemyapi
- chainlink
- openzeppelin
- react
- solidity
Log in or sign up for Devpost to join the conversation.