This project repository represents a pay-to-earn promotion where a gas station owner can offer their customers rewards through gasoline purchases. Rewards can be accumulated, exchanged for unique NFT art ("Oil stains”), or donated to a non-profit of their choice. The NFT’s are kept in the IPFS network - Infura. The administrator manages the promotion and the customer decides how to use their rewards.
- Technologies and tools
- App flows
- Project structure
- Installation
- Demonstration of functionality
- Troubleshooting
- Contributors
- License
This project leverages the following tools, API and libraries:
-
Solidity ^0.6.6 - programming language for implementing smart contracts.
-
Remix IDE - Remix IDE allows developing, deploying and administering smart contracts for Ethereum like blockchains.
-
Ganache - a personal Ethereum blockchain.
-
Metamask - is a software cryptocurrency wallet.
-
Infura - IPFS Api - an IPFS network.
-
Streamlit - is an open-source app framework for Machine Learning and Data Science teams.
-
Web3.py - is a Python library for interacting with Ethereum.
-
OpenZepplelin - ERC721 - set of interfaces, contracts, and utilities are all related to the ERC721 Non-Fungible Token Standard.
OpenZeppelin libraries:
ERC721 token:
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v3.0.0/contracts/token/ERC721/ERC721.sol"
Simple:
Detailed: