Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Why DeFi Reimagines Finance
📖 Scenario: Imagine you want to understand how Decentralized Finance (DeFi) changes the way money works. DeFi uses blockchain technology to create financial services without banks. In this project, you will build a simple program that shows how DeFi can track users' digital wallets and their balances.
🎯 Goal: You will create a small program that stores wallet addresses and their balances, set a minimum balance to qualify for a reward, find wallets that meet this condition, and then display those wallets. This helps you see how DeFi can manage money transparently and automatically.
📋 What You'll Learn
Create a dictionary with wallet addresses and their balances
Add a minimum balance threshold variable
Use a dictionary comprehension to find wallets with balances above the threshold
Print the qualifying wallets and their balances
💡 Why This Matters
🌍 Real World
DeFi platforms track users' digital wallets and balances to offer loans, rewards, or interest automatically without banks.
💼 Career
Understanding how to manage and filter data like wallet balances is useful for blockchain developers and financial software engineers working with DeFi applications.
Progress0 / 4 steps
1
Create wallet balances dictionary
Create a dictionary called wallets with these exact entries: '0xA1B2C3': 1500, '0xD4E5F6': 800, '0x123ABC': 2300, '0x789DEF': 400
Blockchain / Solidity
Hint
Use curly braces {} to create a dictionary with wallet addresses as keys and balances as values.
2
Set minimum balance threshold
Create a variable called min_balance and set it to 1000 to represent the minimum balance required for a reward
Blockchain / Solidity
Hint
Just create a variable and assign the number 1000 to it.
3
Find wallets above minimum balance
Use a dictionary comprehension to create a new dictionary called qualified_wallets that includes only wallets from wallets with balances greater than or equal to min_balance
Blockchain / Solidity
Hint
Use {key: value for key, value in wallets.items() if condition} format to filter wallets.
4
Display qualified wallets
Write a print statement to display the qualified_wallets dictionary
Blockchain / Solidity
Hint
Use print(qualified_wallets) to show the result.
Practice
(1/5)
1. What is one main way DeFi changes traditional finance?
easy
A. By removing banks and middlemen
B. By requiring physical bank branches
C. By using paper money only
D. By limiting access to certain countries
Solution
Step 1: Understand DeFi's core feature
DeFi uses technology to remove banks and middlemen from financial processes.
Step 2: Compare options to this feature
Only By removing banks and middlemen matches this key idea; others contradict it.
Final Answer:
By removing banks and middlemen -> Option A
Quick Check:
DeFi removes middlemen = C [OK]
Hint: Think about who controls money in DeFi [OK]
Common Mistakes:
Thinking DeFi needs physical banks
Assuming DeFi limits users by location
Confusing DeFi with cash-only systems
2. Which of the following is the correct way to describe a DeFi smart contract?
easy
A. A paper document stored in a vault
B. A physical contract signed by banks
C. A self-executing code on blockchain
D. A manual process requiring human approval
Solution
Step 1: Define smart contract in DeFi
Smart contracts are computer programs that run automatically on blockchain.
Step 2: Match options to this definition
Only self-executing code on blockchain matches this definition.
Final Answer:
A self-executing code on blockchain -> Option C
Quick Check:
Smart contract = code on blockchain [OK]
Hint: Smart contracts run automatically, no paper needed [OK]
Common Mistakes:
Thinking smart contracts are physical papers
Confusing manual approval with automation
Assuming banks sign smart contracts
3. Consider this simple DeFi smart contract code snippet in Solidity:
contract SimpleBank {
mapping(address => uint) balances;
function deposit() public payable {
balances[msg.sender] += msg.value;
}
function getBalance() public view returns (uint) {
return balances[msg.sender];
}
}
What will getBalance() return after a user sends 2 ether to deposit()?
medium
A. 2 ether in wei units
B. 2
C. Error: function not payable
D. 0
Solution
Step 1: Understand deposit function behavior
The deposit function adds the sent ether (msg.value) to the sender's balance in wei (smallest ether unit).
Step 2: Understand getBalance return value
getBalance returns the balance in wei, so sending 2 ether means balance is 2 * 10^18 wei.
Final Answer:
2 ether in wei units -> Option A
Quick Check:
Balance returned in wei units = D [OK]
Hint: Ether amounts are stored in wei (smallest unit) [OK]
Common Mistakes:
Assuming balance returns ether directly
Thinking deposit is not payable
Confusing zero balance with deposit amount
4. This Solidity code snippet aims to let users withdraw their balance:
B. It subtracts balance after transfer, risking reentrancy attack
C. It uses transfer instead of send
D. It lacks a deposit function
Solution
Step 1: Analyze withdrawal order
The code sends ether before updating the balance, which can allow reentrancy attacks.
Step 2: Identify security best practice
Best practice is to update balance before sending ether to prevent reentrancy.
Final Answer:
It subtracts balance after transfer, risking reentrancy attack -> Option B
Quick Check:
Transfer before update risks reentrancy = B [OK]
Hint: Update balance before sending funds to avoid attacks [OK]
Common Mistakes:
Ignoring reentrancy risks
Thinking transfer vs send is main issue
Missing importance of deposit function here
5. You want to create a DeFi app that lets users stake tokens and earn rewards automatically. Which combination best reimagines finance using DeFi principles?
hard
A. Limit staking to only users with bank accounts
B. Require users to visit a bank to approve staking manually
C. Use paper contracts signed by a central authority
D. Use smart contracts to automate staking and rewards without intermediaries
Solution
Step 1: Identify DeFi principles
DeFi automates finance tasks with smart contracts and removes middlemen.
Step 2: Match options to these principles
Only the option using smart contracts to automate without intermediaries matches.
Final Answer:
Use smart contracts to automate staking and rewards without intermediaries -> Option D
Quick Check:
Automation + no middlemen = A [OK]
Hint: Choose automation and no middlemen for DeFi apps [OK]