Functions help you organize your code into small, reusable blocks. They make your blockchain programs easier to read and manage.
When you want to perform a specific task multiple times in your blockchain code.
When you need to organize complex logic into smaller, understandable parts.
When you want to reuse code to save time and avoid mistakes.
When you want to make your blockchain smart contract easier to test and debug.
Syntax
Blockchain / Solidity
function functionName(parameter1, parameter2) {
// code to run
return result;
}
The keyword function starts the declaration.
Parameters are optional and go inside the parentheses.
Examples
A simple function with no parameters that returns a greeting message.
Blockchain / Solidity
function greet() {
return"Hello, Blockchain!";
}
A function that takes two numbers and returns their sum.
Blockchain / Solidity
function add(a, b) {
return a + b;
}
A function that checks if a number is even and returns true or false.
Blockchain / Solidity
function isEven(number) {
if (number % 2 === 0) {
return true;
} else {
return false;
}
}
Sample Program
This program defines a function to multiply two numbers and then prints the result.
Blockchain / Solidity
function multiply(x, y) {
return x * y;
}
const result = multiply(4, 5);
console.log("The result is: " + result);
OutputSuccess
Important Notes
Functions help keep your blockchain code clean and easy to understand.
Always name your functions clearly to show what they do.
Remember to return a value if you want to get a result from the function.
Summary
Functions group code to perform tasks repeatedly.
They can take inputs called parameters and return outputs.
Using functions makes your blockchain programs simpler and reusable.
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
Step 1: Identify the common function declaration keyword
In many blockchain languages like Solidity, functions start with the keyword function.
Step 2: Check the syntax structure
The correct syntax is function functionName() { }, so function transferFunds() { } is correct.
Final Answer:
function transferFunds() { } -> Option B
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
Step 1: Recognize parameter syntax in function declaration
Parameters are placed inside parentheses separated by commas if multiple.
Step 2: Validate each option's syntax
function send(amount) { } uses parentheses correctly: function send(amount) { }. Others misuse brackets, arrows, or omit parentheses.
Final Answer:
function send(amount) { } -> Option A
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
Step 1: Understand the function logic
The function multiplies two inputs x and y and returns the product.
Step 2: Calculate the result for inputs 3 and 4
3 multiplied by 4 equals 12.
Final Answer:
12 -> Option D
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
Step 1: Check syntax inside the function body
Statements inside functions usually require semicolons to end lines.
Step 2: Identify missing semicolon
The line balance += amount lacks a semicolon at the end.
Final Answer:
Missing semicolon after statement -> Option A
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
Step 1: Understand conditional return logic
The function must check if amount is greater than 1000 and return 2% fee; otherwise, return 0.
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.
Final Answer:
function calculateFee(amount) { if (amount > 1000) { return amount * 0.02; } else { return 0; } } -> Option C
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 unknownstrongwhile earning +1 Grip toward your certificate.