Bird
Raised Fist0
Blockchain / Solidityprogramming~3 mins

Why Function declaration and syntax in Blockchain / Solidity? - Purpose & Use Cases

Choose your learning style10 modes available
The Big Idea

What if you could fix a bug once and it's fixed everywhere in your blockchain contract?

The Scenario

Imagine you want to write the same set of instructions multiple times in your blockchain smart contract, like calculating a token balance or verifying a signature, but you write all the steps out each time manually.

The Problem

This manual way is slow and risky. If you make a mistake in one place, you have to fix it everywhere. It's easy to forget a step or introduce bugs, and your contract becomes hard to read and maintain.

The Solution

Using function declaration lets you write the instructions once with a clear name. Then you just call the function whenever you need it. This keeps your code clean, easy to update, and less error-prone.

Before vs After
✗ Before
uint balance = userBalance + deposit;
uint newBalance = userBalance + deposit;
// repeated code everywhere
✓ After
function updateBalance(uint userBalance, uint deposit) public pure returns (uint) {
  return userBalance + deposit;
}
// call updateBalance(userBalance, deposit) whenever needed
What It Enables

Functions let you build smart contracts that are organized, reusable, and easier to trust on the blockchain.

Real Life Example

In a token contract, a function can handle all transfers safely, so you don't repeat the same transfer logic everywhere and reduce bugs.

Key Takeaways

Writing code manually for repeated tasks is slow and error-prone.

Function declarations let you name and reuse code blocks easily.

This makes blockchain contracts safer, cleaner, and easier to maintain.

Practice

(1/5)
1. What is the correct way to declare a function named transferFunds in a blockchain smart contract?
easy
A. transferFunds function() { }
B. function transferFunds() { }
C. func transferFunds() { }
D. def transferFunds() { }

Solution

  1. Step 1: Identify the common function declaration keyword

    In many blockchain languages like Solidity, functions start with the keyword function.
  2. Step 2: Check the syntax structure

    The correct syntax is function functionName() { }, so function transferFunds() { } is correct.
  3. Final Answer:

    function transferFunds() { } -> Option B
  4. Quick Check:

    Function declaration uses 'function' keyword [OK]
Hint: Look for 'function' keyword before name [OK]
Common Mistakes:
  • Using 'def' instead of 'function'
  • Placing 'function' after the name
  • Using 'func' which is not standard here
2. Which of the following is the correct syntax to declare a function with one parameter named amount?
easy
A. function send(amount) { }
B. function send amount { }
C. function send(amount) => { }
D. function send[amount] { }

Solution

  1. Step 1: Recognize parameter syntax in function declaration

    Parameters are placed inside parentheses separated by commas if multiple.
  2. Step 2: Validate each option's syntax

    function send(amount) { } uses parentheses correctly: function send(amount) { }. Others misuse brackets, arrows, or omit parentheses.
  3. Final Answer:

    function send(amount) { } -> Option A
  4. Quick Check:

    Parameters go inside parentheses [OK]
Hint: Parameters always go inside parentheses () [OK]
Common Mistakes:
  • Omitting parentheses around parameters
  • Using square brackets instead of parentheses
  • Using arrow syntax incorrectly
3. What will be the output of this function call in a blockchain smart contract?
function multiply(x, y) { return x * y; }
multiply(3, 4);
medium
A. 7
B. Error
C. 34
D. 12

Solution

  1. Step 1: Understand the function logic

    The function multiplies two inputs x and y and returns the product.
  2. Step 2: Calculate the result for inputs 3 and 4

    3 multiplied by 4 equals 12.
  3. Final Answer:

    12 -> Option D
  4. Quick Check:

    3 * 4 = 12 [OK]
Hint: Multiply inputs as given to get output [OK]
Common Mistakes:
  • Adding instead of multiplying
  • Concatenating numbers as strings
  • Assuming syntax error without checking code
4. Identify the error in this function declaration:
function deposit(amount) {
balance += amount
}
medium
A. Missing semicolon after statement
B. Function name is invalid
C. No return statement in function
D. Missing parentheses around parameter

Solution

  1. Step 1: Check syntax inside the function body

    Statements inside functions usually require semicolons to end lines.
  2. Step 2: Identify missing semicolon

    The line balance += amount lacks a semicolon at the end.
  3. Final Answer:

    Missing semicolon after statement -> Option A
  4. Quick Check:

    Statements need semicolons [OK]
Hint: Check for missing semicolons inside function body [OK]
Common Mistakes:
  • Ignoring semicolon requirements
  • Thinking return is mandatory
  • Assuming function name is wrong
5. You want to create a function calculateFee that takes a transaction amount and returns 2% fee only if the amount is above 1000. Which is the correct function?
hard
A. function calculateFee(amount) { if amount > 1000 then return amount * 0.02 else return 0; }
B. function calculateFee(amount) { return amount * 0.02 if amount > 1000 else 0; }
C. function calculateFee(amount) { if (amount > 1000) { return amount * 0.02; } else { return 0; } }
D. function calculateFee(amount) { if (amount > 1000) return amount * 0.02; }

Solution

  1. Step 1: Understand conditional return logic

    The function must check if amount is greater than 1000 and return 2% fee; otherwise, return 0.
  2. Step 2: Validate syntax correctness

    function calculateFee(amount) { if (amount > 1000) { return amount * 0.02; } else { return 0; } } uses proper if-else syntax with braces and returns both cases correctly. Others have syntax errors or missing else return.
  3. Final Answer:

    function calculateFee(amount) { if (amount > 1000) { return amount * 0.02; } else { return 0; } } -> Option C
  4. Quick Check:

    Use if-else with braces for conditional returns [OK]
Hint: Use full if-else with braces for clear returns [OK]
Common Mistakes:
  • Missing else return causes undefined output
  • Incorrect if syntax without parentheses or braces
  • Using Python-style if-else in blockchain code
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