The AfricanFoodMarketplace smart contract is designed to allow users to buy and sell food items on a decentralized platform. The contract defines a FoodItem struct that includes information such as the name, description, location, price, and number of items sold. Users can add food items to the marketplace by calling the addFoodItem() function, and view existing food items by calling the viewFoodItem() function.
Users can also request to buy a food item by calling the requestFoodItem() function, which calculates the total price based on the quantity of items requested and transfers the appropriate amount of cUSD (a stablecoin) from the buyer to the marketplace contract. The number of sold items for the food item is updated, and the mapping of items bought by the buyer is also updated.
Finally, users can view their purchased items by calling the viewPurchasedItems() function, which returns the number of items purchased for a specific food item. Overall, this project aims to provide a decentralized platform for buying and selling food items in Africa, potentially increasing accessibility to local and regional food markets.
solidity, blockchain basics, celo blockchain, testing