Recall & Review
beginner
What is the purpose of the SPDX license identifier in a Solidity file?
The SPDX license identifier specifies the license under which the Solidity code is released. It helps tools and users understand the legal terms quickly.
Click to reveal answer
beginner
Where should the SPDX license identifier be placed in a Solidity file?
It should be placed as the very first line in the Solidity file, starting with // SPDX-License-Identifier: followed by the license type.
Click to reveal answer
beginner
What does the pragma version statement do in Solidity?
The pragma version statement tells the compiler which versions of Solidity the code is compatible with, ensuring the code compiles correctly.
Click to reveal answer
intermediate
Explain the difference between pragma solidity ^0.8.0; and pragma solidity 0.8.0;.
pragma solidity ^0.8.0; means the code works with version 0.8.0 and any newer 0.8.x versions but not 0.9.0 or above. pragma solidity 0.8.0; means it only works with exactly version 0.8.0.
Click to reveal answer
intermediate
Why is it important to specify both SPDX license and pragma version in Solidity files?
Specifying SPDX license clarifies legal usage rights, and pragma version ensures the code compiles with the intended compiler version, preventing errors and misunderstandings.
Click to reveal answer
What is the correct way to specify an MIT license in a Solidity file?
✗ Incorrect
The SPDX license identifier must be written as a comment starting with // SPDX-License-Identifier: followed by the license name.
What does pragma solidity ^0.8.0; mean?
✗ Incorrect
The caret (^) means any version from 0.8.0 up to but not including 0.9.0.
Where should the pragma version statement be placed in a Solidity file?
✗ Incorrect
The pragma statement should be near the top, after the SPDX license line, to tell the compiler which version to use.
What happens if you omit the SPDX license identifier in your Solidity file?
✗ Incorrect
Omitting SPDX means no license info is declared, which can cause legal uncertainty.
Which of the following is a valid SPDX license identifier?
✗ Incorrect
SPDX license identifiers follow a specific format like GPL-3.0-or-later.
Describe the role of the SPDX license identifier and where it should be placed in a Solidity file.
Think about legal clarity and file structure.
You got /3 concepts.
Explain how the pragma version statement controls which Solidity compiler versions can compile your code.
Consider compatibility and preventing errors.
You got /4 concepts.