Bird
Raised Fist0
Blockchain / Solidityprogramming~15 mins

If-else statements in Blockchain / Solidity - Mini Project: Build & Apply

Choose your learning style10 modes available
Simple Blockchain Transaction Approval
📖 Scenario: You are building a simple blockchain transaction approval system. Each transaction has an amount, and you want to approve or reject it based on a limit.
🎯 Goal: Build a program that checks if a transaction amount is within the allowed limit using if-else statements and prints whether the transaction is approved or rejected.
📋 What You'll Learn
Create a variable called transaction_amount with the value 150.
Create a variable called approval_limit with the value 200.
Use an if-else statement to check if transaction_amount is less than or equal to approval_limit.
Print "Transaction approved" if the condition is true, otherwise print "Transaction rejected".
💡 Why This Matters
🌍 Real World
Blockchain systems often need to approve or reject transactions based on rules like limits or balances.
💼 Career
Understanding if-else statements is essential for writing smart contracts and blockchain transaction logic.
Progress0 / 4 steps
1
Set the transaction amount
Create a variable called transaction_amount and set it to 150.
Blockchain / Solidity
Hint

Use the equals sign = to assign the value 150 to transaction_amount.

2
Set the approval limit
Create a variable called approval_limit and set it to 200.
Blockchain / Solidity
Hint

Use the equals sign = to assign the value 200 to approval_limit.

3
Check if transaction is within limit
Use an if-else statement to check if transaction_amount is less than or equal to approval_limit. Use the variables transaction_amount and approval_limit exactly.
Blockchain / Solidity
Hint

Use if transaction_amount <= approval_limit: to start the condition. Use else: for the other case.

4
Print the result
Print the variable result to show if the transaction is approved or rejected.
Blockchain / Solidity
Hint

Use print(result) to show the message.

Practice

(1/5)
1.

What does an if-else statement do in a blockchain smart contract?

easy
A. It chooses between two actions based on a condition.
B. It repeats a set of instructions multiple times.
C. It stores data permanently on the blockchain.
D. It creates a new blockchain network.

Solution

  1. Step 1: Understand the role of if-else

    An if-else statement checks a condition and decides which code to run next.
  2. Step 2: Apply to blockchain context

    In smart contracts, it helps decide actions like approving transactions or rejecting them.
  3. Final Answer:

    It chooses between two actions based on a condition. -> Option A
  4. Quick Check:

    If-else = choose action [OK]
Hint: If-else picks one path out of two based on condition [OK]
Common Mistakes:
  • Confusing if-else with loops
  • Thinking if-else stores data
  • Believing if-else creates blockchains
2.

Which of the following is the correct syntax for an if-else statement in Solidity?

uint balance = 100;
easy
A. if (balance > 50) then { /* code */ } else { /* code */ }
B. if balance > 50 then { /* code */ } else { /* code */ }
C. if balance > 50: { /* code */ } else: { /* code */ }
D. if (balance > 50) { /* code */ } else { /* code */ }

Solution

  1. Step 1: Recall Solidity if-else syntax

    Solidity uses parentheses around conditions and braces for code blocks without 'then'.
  2. Step 2: Compare options

    Only if (balance > 50) { /* code */ } else { /* code */ } matches Solidity syntax: if (condition) { } else { }.
  3. Final Answer:

    if (balance > 50) { /* code */ } else { /* code */ } -> Option D
  4. Quick Check:

    Solidity if-else = parentheses + braces [OK]
Hint: Solidity if-else uses parentheses and braces, no 'then' [OK]
Common Mistakes:
  • Using 'then' keyword
  • Missing parentheses around condition
  • Using colons instead of braces
3.

What will be the output of this Solidity function when amount = 150?

function checkAmount(uint amount) public pure returns (string memory) {
  if (amount > 100) {
    return "Large amount";
  } else {
    return "Small amount";
  }
}
medium
A. Compilation error
B. "Small amount"
C. "Large amount"
D. No output

Solution

  1. Step 1: Check the condition with amount = 150

    Since 150 > 100, the if condition is true.
  2. Step 2: Determine which return runs

    The function returns "Large amount" because the if branch runs.
  3. Final Answer:

    "Large amount" -> Option C
  4. Quick Check:

    150 > 100 -> "Large amount" [OK]
Hint: Check condition value to pick correct return [OK]
Common Mistakes:
  • Confusing greater than with less than
  • Assuming else runs when if is true
  • Expecting syntax errors
4.

Find the error in this Solidity snippet:

function checkBalance(uint balance) public pure returns (string memory) {
  if balance > 0 {
    return "Positive";
  } else {
    return "Zero or Negative";
  }
}
medium
A. Missing parentheses around the if condition
B. Missing semicolon after return statements
C. Incorrect return type
D. Missing else keyword

Solution

  1. Step 1: Check if statement syntax

    In Solidity, the condition must be inside parentheses: if (condition).
  2. Step 2: Identify the error

    The code has if balance > 0 without parentheses, causing a syntax error.
  3. Final Answer:

    Missing parentheses around the if condition -> Option A
  4. Quick Check:

    if condition needs parentheses [OK]
Hint: Always put condition inside parentheses in if [OK]
Common Mistakes:
  • Omitting parentheses in if condition
  • Thinking semicolons are missing after return
  • Confusing return type errors
5.

You want to write a Solidity function that returns "Access granted" only if userRole is exactly "admin", otherwise returns "Access denied". Which code snippet correctly uses if-else to do this?

hard
A. if (userRole = "admin") { return "Access granted"; } else { return "Access denied"; }
B. if (userRole == "admin") { return "Access granted"; } else { return "Access denied"; }
C. if userRole == "admin" { return "Access granted"; } else { return "Access denied"; }
D. if (userRole.equals("admin")) { return "Access granted"; } else { return "Access denied"; }

Solution

  1. Step 1: Understand string comparison in Solidity

    Solidity uses == to compare strings for equality, not = or methods like equals().
  2. Step 2: Check syntax correctness

    if (userRole == "admin") { return "Access granted"; } else { return "Access denied"; } uses == with parentheses and braces correctly.
  3. Final Answer:

    if (userRole == "admin") { return "Access granted"; } else { return "Access denied"; } -> Option B
  4. Quick Check:

    Use == for string comparison in if [OK]
Hint: Use == to compare strings in Solidity if conditions [OK]
Common Mistakes:
  • Using single = instead of ==
  • Omitting parentheses in if
  • Using Java-style equals() method
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