foundations:
- Which of the following are ERC-20 tokens?
- ETH
- SOL
- MKR
- UNI
- Most open source and development work is done on which system?
- Windows
- Unix based systems (x)
- How many methods are required by the ERC-20 standard to achieve the necessary functionality for a token contract?
- 5
- 7
- 9 (x)
- 11
- What does the
totalSupply()
method in the ERC-20 standard return?
- The total number of that particular token ever created in the network
- The current total circulating supply of the token (x)
- The sum of all balances across all addresses
- The number of tokens owned by the contract deployer
- Which functionalities does our token need to provide?
- Get total supply of tokens on the network
- Transfer tokens from one address to another
- Approve an amount of tokens spent by a third party
- All of the above
forge
uses which?
- Git Submodules (x)
- Node Packages
- Node version manager
- Yarn packages
- Scripts in Foundry are written in:
- Solidity (x)
- Typescript
- JavaScript
- Vyper
- What is the purpose of the
remappings.txt
in our project?
- Define Solidity re-mappings for imports (x)
- List excuses for missing deadlines
- Specify the project's structure
- Remap project dependencies
Framing and Walls + Opening Doors
- In the context of smart contract development, what does "inheritance" mean?
- Passing down digital assets to your descendants
- Using someone else's contract with their permission
- Extending the functionality of an existing contract (x)
- In ERC-20 token context, which of the following are correct about the
_mint
function?
- It creates new tokens through the proof-of-stake consensus mechanism
- It creates new tokens and assigns them to the contract deployer (x)
- It maintains the token minting history for auditability
- It adds tokens to the total supply, increasing the overall token amount (x)
Lock the Door!
- What pattern does the tutorial use to limit access to the
mint
function?
- Singleton Pattern
- Observer Pattern
- AccessControl Pattern (x)
- Decorator Pattern
- What is the purpose of the modifier
onlyRole(MINTER_ROLE)
in the mint
function?
- It ensures that only addresses with the
MINTER_ROLE
can call the mint function (x)
- It allows any address to call the mint function
- It sets the role of the address calling the mint function
Final touches/House inspection
- Why is the
.env
file in the deployment process so significant?
- It contains the contract code
- It stores metadata about the contract
- It holds secrets, especially the private key (x)
Register your house
- Why do we include the
--verify
modifier in the forge create
command?
- To display a detailed output of the deployment (x)
- To enable optimizations in the Solidity compiler
- To verify the deployed contract on Etherscan (x)