Bird
Raised Fist0
Blockchain / Solidityprogramming~5 mins

Contract structure and syntax in Blockchain / Solidity - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a contract in blockchain programming?
A contract is a set of rules and code that runs on the blockchain to manage digital agreements automatically.
Click to reveal answer
beginner
Name the basic parts of a smart contract structure.
A smart contract usually has: 1) Contract declaration, 2) State variables, 3) Functions, 4) Events, and 5) Constructor.
Click to reveal answer
beginner
What is the purpose of the constructor in a contract?
The constructor runs once when the contract is created. It sets initial values or settings for the contract.
Click to reveal answer
beginner
How do you define a function in a smart contract?
A function is defined with the keyword function, followed by its name, parameters, and code block inside curly braces.
Click to reveal answer
beginner
What is the role of state variables in a contract?
State variables store data permanently on the blockchain and keep the contract's state between function calls.
Click to reveal answer
Which keyword starts the definition of a smart contract?
Acontract
Bfunction
Cclass
Dvar
What does the constructor in a contract do?
ARuns once to initialize the contract
BDefines a reusable function
CStores data permanently
DTriggers an event
Where are state variables stored?
AIn temporary memory
BOnly during function execution
COn the blockchain permanently
DIn the user's device
Which symbol is used to group code inside functions?
A() (parentheses)
B{} (curly braces)
C[] (square brackets)
D<> (angle brackets)
What is the main purpose of events in a contract?
ATo declare variables
BTo store data permanently
CTo define functions
DTo log information for external apps
Describe the main parts of a smart contract and their roles.
Think about what each part does in managing data and actions.
You got /5 concepts.
    Explain how a constructor differs from other functions in a contract.
    Focus on when and how often it runs.
    You got /4 concepts.

      Practice

      (1/5)
      1.

      What is the correct way to start defining a contract named SimpleStorage in Solidity?

      easy
      A. contract SimpleStorage { }
      B. class SimpleStorage { }
      C. function SimpleStorage() { }
      D. module SimpleStorage { }

      Solution

      1. Step 1: Understand Solidity contract declaration

        In Solidity, contracts are declared using the keyword contract followed by the contract name and curly braces.
      2. Step 2: Match the syntax with the options

        Only contract SimpleStorage { } uses contract SimpleStorage { }, which is the correct syntax to start a contract.
      3. Final Answer:

        contract SimpleStorage { } -> Option A
      4. Quick Check:

        Contract declaration = contract SimpleStorage { } [OK]
      Hint: Look for 'contract' keyword to start a contract [OK]
      Common Mistakes:
      • Using 'class' instead of 'contract'
      • Using 'function' to define contract
      • Using 'module' which is not valid in Solidity
      2.

      Which of the following is the correct syntax to declare a state variable count of type uint inside a contract?

      easy
      A. uint count = 0
      B. var count = uint;
      C. uint count;
      D. count uint;

      Solution

      1. Step 1: Recall Solidity variable declaration syntax

        State variables are declared by specifying the type followed by the variable name and a semicolon.
      2. Step 2: Check each option

        uint count; correctly declares uint count;. uint count = 0 misses the semicolon. Options B and D use incorrect syntax.
      3. Final Answer:

        uint count; -> Option C
      4. Quick Check:

        Variable declaration = type name; [OK]
      Hint: Remember: type then variable name, end with semicolon [OK]
      Common Mistakes:
      • Omitting semicolon at the end
      • Using 'var' keyword which is not valid in Solidity
      • Reversing type and variable name
      3.

      What will be the output of the following Solidity function when called?

      contract Test {
          uint number = 5;
          function getNumber() public view returns (uint) {
              return number + 3;
          }
      }

      medium
      A. 5
      B. 8
      C. 3
      D. Compilation error

      Solution

      1. Step 1: Understand the variable and function

        The state variable number is set to 5. The function returns number + 3.
      2. Step 2: Calculate the return value

        5 + 3 equals 8, so the function returns 8.
      3. Final Answer:

        8 -> Option B
      4. Quick Check:

        5 + 3 = 8 [OK]
      Hint: Add variable value and constant inside return [OK]
      Common Mistakes:
      • Confusing variable value with function output
      • Assuming function returns variable directly without addition
      • Thinking there is a syntax error
      4.

      Identify the error in the following Solidity contract snippet:

      contract Counter {
          uint count
          function increment() public {
              count += 1;
          }
      }

      medium
      A. Contract name should be lowercase
      B. Function increment should be private
      C. Variable count should be declared inside the function
      D. Missing semicolon after uint count

      Solution

      1. Step 1: Check variable declaration syntax

        The line uint count is missing a semicolon at the end, which is required in Solidity.
      2. Step 2: Verify other parts

        Function visibility as public is valid. Variables are correctly declared outside functions. Contract names can be uppercase.
      3. Final Answer:

        Missing semicolon after uint count -> Option D
      4. Quick Check:

        Semicolon missing = syntax error [OK]
      Hint: Check for missing semicolons after variable declarations [OK]
      Common Mistakes:
      • Forgetting semicolon after variable declaration
      • Thinking function visibility must be private
      • Assuming contract names must be lowercase
      5.

      You want to create a contract that stores a person's name and age, and has a function to update the age. Which of the following contract structures correctly implements this?

      contract Person {
          string name;
          uint age;
      
          function setAge(uint newAge) public {
              age = newAge;
          }
      }
      hard
      A. Correct: variables declared and function updates age properly
      B. Incorrect: missing visibility for variables
      C. Incorrect: function should return the new age
      D. Incorrect: variables should be declared inside the function

      Solution

      1. Step 1: Check variable declarations

        Variables name and age are declared at contract level, which is correct for storing data.
      2. Step 2: Check function to update age

        The function setAge takes a parameter and assigns it to age, correctly updating the state variable.
      3. Final Answer:

        Correct: variables declared and function updates age properly -> Option A
      4. Quick Check:

        State variables + update function = correct contract [OK]
      Hint: State variables outside, update functions inside contract [OK]
      Common Mistakes:
      • Declaring variables inside functions instead of contract
      • Expecting update functions to return values unnecessarily
      • Forgetting to declare variables at contract level
      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