Bird
Raised Fist0
Blockchain / Solidityprogramming~30 mins

Balance checking in Blockchain / Solidity - Mini Project: Build & Apply

Choose your learning style10 modes available
Balance checking
📖 Scenario: You are building a simple blockchain wallet app. Users have balances stored in a dictionary. You want to check how much balance each user has.
🎯 Goal: Create a program that stores user balances, sets a minimum balance threshold, finds users with balances above that threshold, and prints their names and balances.
📋 What You'll Learn
Create a dictionary called balances with exact user names and balances
Create a variable called min_balance with the exact value 100
Use a dictionary comprehension called rich_users to select users with balances greater than min_balance
Print the rich_users dictionary exactly as shown
💡 Why This Matters
🌍 Real World
Blockchain wallets need to check user balances to show available funds or to decide if a user can make a transaction.
💼 Career
Understanding how to filter and display balances is important for blockchain developers working on wallet apps or financial dashboards.
Progress0 / 4 steps
1
DATA SETUP: Create the user balances dictionary
Create a dictionary called balances with these exact entries: 'Alice': 150, 'Bob': 90, 'Charlie': 120, 'Diana': 80
Blockchain / Solidity
Hint

Use curly braces to create a dictionary with keys as user names and values as their balances.

2
CONFIGURATION: Set the minimum balance threshold
Create a variable called min_balance and set it to the integer 100
Blockchain / Solidity
Hint

Just assign the number 100 to the variable min_balance.

3
CORE LOGIC: Select users with balances above the threshold
Use a dictionary comprehension called rich_users to select users from balances whose balance is greater than min_balance
Blockchain / Solidity
Hint

Use a dictionary comprehension with for user, bal in balances.items() and an if condition.

4
OUTPUT: Print the rich users dictionary
Write a print statement to display the rich_users dictionary
Blockchain / Solidity
Hint

Use print(rich_users) to show the dictionary.

Practice

(1/5)
1.

What does balance checking in blockchain primarily tell you?

easy
A. The private key of a wallet
B. The transaction history of an address
C. How much cryptocurrency an address currently holds
D. The mining difficulty of the blockchain

Solution

  1. Step 1: Understand the purpose of balance checking

    Balance checking is used to find out the amount of cryptocurrency held by a blockchain address.
  2. Step 2: Differentiate from other blockchain data

    Transaction history, private keys, and mining difficulty are different concepts unrelated to balance checking.
  3. Final Answer:

    How much cryptocurrency an address currently holds -> Option C
  4. Quick Check:

    Balance checking = cryptocurrency amount [OK]
Hint: Balance checking shows funds held by an address [OK]
Common Mistakes:
  • Confusing balance with transaction history
  • Thinking balance reveals private keys
  • Mixing balance with blockchain mining info
2.

Which of the following is the correct way to call a function getBalance for an address addr in a blockchain library?

?
easy
A. getBalance(addr)
B. getBalance = addr
C. getBalance.addr()
D. getBalance->addr()

Solution

  1. Step 1: Identify correct function call syntax

    In most programming languages, calling a function with an argument uses parentheses: functionName(argument).
  2. Step 2: Check each option

    getBalance(addr) uses correct syntax: getBalance(addr). Options A, C, and D use invalid or incorrect syntax.
  3. Final Answer:

    getBalance(addr) -> Option A
  4. Quick Check:

    Function call syntax = getBalance(addr) [OK]
Hint: Function calls use parentheses with arguments [OK]
Common Mistakes:
  • Using assignment instead of function call
  • Using dot notation incorrectly for function calls
  • Using arrow notation which is not valid here
3.

Given this JavaScript code snippet using a blockchain API:

async function check() {
  const balance = await blockchainAPI.getBalance('0x123');
  console.log(balance);
}
check();

What will be printed if the address has 500 tokens?

medium
A. undefined
B. 500
C. Error: getBalance is not a function
D. null

Solution

  1. Step 1: Understand async/await usage

    The function uses await to get the balance asynchronously, so balance will hold the returned value.
  2. Step 2: Check what is logged

    console.log(balance) will print the balance value, which is 500 tokens for the given address.
  3. Final Answer:

    500 -> Option B
  4. Quick Check:

    Async balance fetch = 500 [OK]
Hint: Await returns the actual balance value [OK]
Common Mistakes:
  • Ignoring async and expecting immediate value
  • Assuming undefined if await is missing
  • Confusing error messages with correct output
4.

Find the error in this Python code that tries to get a balance:

def get_balance(address):
    balance = blockchain.getBalance(address)
    return balance

print(get_balance)
medium
A. Using print instead of return
B. Incorrect function name getBalance
C. Missing import statement for blockchain
D. Missing parentheses when calling get_balance in print

Solution

  1. Step 1: Check how get_balance is used in print

    The code prints get_balance without parentheses, so it prints the function object, not the result.
  2. Step 2: Correct usage to call the function

    Adding parentheses and an argument like print(get_balance('0xabc')) calls the function and prints the balance.
  3. Final Answer:

    Missing parentheses when calling get_balance in print -> Option D
  4. Quick Check:

    Function call needs () [OK]
Hint: Call functions with () to get results [OK]
Common Mistakes:
  • Printing function name instead of calling it
  • Assuming function runs without parentheses
  • Ignoring required function arguments
5.

You want to check balances of multiple addresses and store them in a dictionary in Python. Which code correctly does this?

addresses = ['0x1', '0x2', '0x3']
balances = {}
for addr in addresses:
    balances[addr] = blockchain.getBalance(addr)
print(balances)
hard
A. This code correctly stores balances for each address in a dictionary
B. This code will cause a syntax error due to missing colon
C. This code overwrites balances instead of storing all
D. This code does not call getBalance correctly

Solution

  1. Step 1: Analyze the loop and dictionary usage

    The for loop iterates over each address and assigns the balance to balances[addr], storing all balances.
  2. Step 2: Check syntax and function call

    Syntax is correct with colon and indentation; getBalance is called properly with each address.
  3. Final Answer:

    This code correctly stores balances for each address in a dictionary -> Option A
  4. Quick Check:

    Loop + dict assignment = correct balances [OK]
Hint: Use a loop to assign balances to dictionary keys [OK]
Common Mistakes:
  • Forgetting colon after for statement
  • Overwriting dictionary instead of adding keys
  • Calling getBalance without argument
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard