Project Shared Wallet¶
Did you get pocket money as a kid? Maybe your parents tried to teach you an important lesson on how to spend money wisely. Or maybe you have a business credit card and can have a certain amount of expenses on it per day and month. In this project we're going to have a look at a smart wallet. A smart contract that can manage its own funds and limit how much can be spent.
In this section you will learn about some more advanced data structures, like mappings and structs. We will also talk about Exceptions and Exception handling in Solidity. At the end of the section you will be able to read about 95% of all contracts out there and write some very advanced code. Of course, we’ll put everything to good use and write the wallet at the end of the section. So, without anything further, let’s jump right into it and learn about mappings first.
Real-World Use-Case for this Project¶
💡 Allowance for Children per day/week/month to be able to spend a certain amount of funds.
💡 Employers give employees an allowance for their travel expenses.
💡 Businesses give contractors an allowance to spend a certain budget.
👛 Have an on-chain wallet smart contract.
💸 This wallet contract can store funds and let users withdraw again.
✌️ You can also give "allowance" to other, specific user-addresses.
🚫 Restrict the functions to specific user-roles (owner, user)
🔍 Re-Use existing smart contracts which are already audited to the greatest extent
💪 💪 💪 Let's get started!