Bird
Raised Fist0
Blockchain / Solidityprogramming~30 mins

Return values in Blockchain / Solidity - Mini Project: Build & Apply

Choose your learning style10 modes available
Return Values in Blockchain Smart Contracts
📖 Scenario: You are creating a simple blockchain smart contract to store and retrieve a user's favorite number. This contract will help users save their number and get it back when needed.
🎯 Goal: Build a smart contract that stores a number and returns it when requested using a function with a return value.
📋 What You'll Learn
Create a state variable to store a number
Create a function to set the number
Create a function to get the stored number with a return value
Print the returned number in the final step
💡 Why This Matters
🌍 Real World
Smart contracts often store data and return values to users or other contracts. Understanding return values is key to building interactive blockchain applications.
💼 Career
Blockchain developers must write functions that return data correctly to enable decentralized apps to work smoothly and securely.
Progress0 / 4 steps
1
Create a state variable to store a number
Create a public state variable called favoriteNumber of type uint to store the user's favorite number.
Blockchain / Solidity
Hint

Use uint public favoriteNumber; inside the contract to create the variable.

2
Create a function to set the number
Add a public function called setNumber that takes a uint parameter named _number and sets favoriteNumber to this value.
Blockchain / Solidity
Hint

Define function setNumber(uint _number) public and assign favoriteNumber = _number;.

3
Create a function to get the stored number with a return value
Add a public view function called getNumber that returns a uint and returns the value of favoriteNumber.
Blockchain / Solidity
Hint

Use function getNumber() public view returns (uint) and return favoriteNumber.

4
Print the returned number
Write a script to create the contract, call setNumber(42), then call getNumber() and print the returned value.
Blockchain / Solidity
Hint

Use a script to call setNumber(42) then getNumber() and print the result.

Practice

(1/5)
1.

What does the return statement do in a blockchain smart contract function?

easy
A. It sends a value back to the caller of the function.
B. It stops the contract from deploying.
C. It creates a new transaction on the blockchain.
D. It changes the contract's address.

Solution

  1. Step 1: Understand the purpose of return

    The return statement is used inside a function to send a value back to whoever called the function.
  2. Step 2: Identify what return does in blockchain functions

    In smart contracts, returning a value allows the caller to receive data from the function execution.
  3. Final Answer:

    It sends a value back to the caller of the function. -> Option A
  4. Quick Check:

    Return sends value back [OK]
Hint: Return sends data back to caller, not change contract [OK]
Common Mistakes:
  • Thinking return creates transactions
  • Confusing return with contract deployment
  • Believing return changes contract address
2.

Which of the following is the correct syntax to specify a function that returns an uint in Solidity?

function getValue() _____ { return 42; }
easy
A. returns uint
B. return uint
C. return (uint)
D. returns (uint)

Solution

  1. Step 1: Recall Solidity function return syntax

    In Solidity, the correct way to specify a return type is returns (type) after the function parentheses.
  2. Step 2: Match the syntax with options

    returns (uint) uses returns (uint), which is the correct syntax.
  3. Final Answer:

    returns (uint) -> Option D
  4. Quick Check:

    Solidity uses returns (type) [OK]
Hint: Remember: returns keyword with parentheses for type [OK]
Common Mistakes:
  • Omitting parentheses around type
  • Using return instead of returns
  • Placing return type inside function body
3.

What will be the output of this Solidity function call?

function multiply(uint a, uint b) public pure returns (uint) { return a * b; }

Calling multiply(3, 4) returns:

medium
A. 7
B. 12
C. 34
D. Error

Solution

  1. Step 1: Understand the function logic

    The function multiplies two unsigned integers a and b and returns the product.
  2. Step 2: Calculate the product of 3 and 4

    3 multiplied by 4 equals 12, so the function returns 12.
  3. Final Answer:

    12 -> Option B
  4. Quick Check:

    3 * 4 = 12 [OK]
Hint: Multiply inputs and return result [OK]
Common Mistakes:
  • Adding instead of multiplying
  • Concatenating numbers as strings
  • Expecting syntax error
4.

Identify the error in this Solidity function that is supposed to return a bool:

function isEven(uint num) public pure returns (bool) { if (num % 2 == 0) { true; } else { false; } }
medium
A. Missing return statements before true and false.
B. The function should return uint instead of bool.
C. The modulus operator % is not allowed in Solidity.
D. The function should be marked as view instead of pure.

Solution

  1. Step 1: Check the return statements

    The function uses true; and false; without return, so it does not actually return any value.
  2. Step 2: Understand Solidity return requirements

    Every return value must be preceded by the return keyword to send the value back.
  3. Final Answer:

    Missing return statements before true and false. -> Option A
  4. Quick Check:

    Return keyword needed before values [OK]
Hint: Always use return before the value to send back [OK]
Common Mistakes:
  • Omitting return keyword
  • Confusing pure and view modifiers
  • Thinking modulus operator is invalid
5.

You want to write a Solidity function that returns the sum of all elements in a uint[] array. Which of the following implementations correctly returns the sum?

function sumArray(uint[] memory arr) public pure returns (uint) { uint total = 0; for (uint i = 0; i < arr.length; i++) { total += arr[i]; } _____ }
hard
A. return arr.length;
B. return i;
C. return total;
D. return arr;

Solution

  1. Step 1: Understand the function logic

    The function sums all elements in the array by adding each element to total.
  2. Step 2: Identify the correct return value

    After the loop, the sum is stored in total, so returning total gives the correct sum.
  3. Final Answer:

    return total; -> Option C
  4. Quick Check:

    Return the sum variable total [OK]
Hint: Return the accumulator variable holding the sum [OK]
Common Mistakes:
  • Returning array length instead of sum
  • Returning loop index variable
  • Returning the whole array instead of a value
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