Solidity 2022
🇬🇧
In English
In English
Practice Known Questions
Stay up to date with your due questions
Complete 5 questions to enable practice
Exams
Exam: Test your skills
Test your skills in exam mode
Learn New Questions
Manual Mode [BETA]
Select your own question and answer types
Specific modes
Learn with flashcards
Complete the sentence
Listening & SpellingSpelling: Type what you hear
multiple choiceMultiple choice mode
SpeakingAnswer with voice
Speaking & ListeningPractice pronunciation
TypingTyping only mode
Solidity 2022 - Leaderboard
Solidity 2022 - Details
Levels:
Questions:
28 questions
🇬🇧 | 🇬🇧 |
What is a gas in Ethereum? | The cost necessary to perform a transaction on the network |
What is token in Etherium? | A token on Ethereum is basically just a smart contract that implements a standard functions that all other token contracts share. |
What is a difference between ERC720 and ERC721 tokens? | ERC721 tokens are not interchangeable since each one is assumed to be unique, and are not divisible |
What is pragma? | Pragmas are instructions to the compiler on how to treat the code |
Is it possible to inherit from multiply contracts in Solidity? | Yes, separated by comma |
What should we do if we have the modifier and the function of the same name? | We change a modifier, not function name, because the function name is standardized. |
When receipt is fired and what does it mean? | Receipt is fired when the transaction is included into a block on Ethereum, which means our zombie has been created and saved on contract |
When error is fire and what does it do? | Error is fired if there's an issue that prevented the transaction from being included in a block, such as the user not sending enough gas. It informs the user in our UI that the transaction didn't go through so they can try again. |
What does the following code do? .send({ from: userAccount }) .on("receipt", function(receipt) }) .on("error", function(error)){} | It send something from userAccount to blockchain and handle the result (receipt or error) |
What is a Wei? | A wei is the smallest sub-unit of Ether — there are 10^18 wei in one ether. |
For which purpose do we use the use the indexed keyword? | The indexed keyword is for filter events and only listen for changes related to the current user |
How to query past events and filter their time range? | We can query past events using getPastEvents, and use the filters fromBlock and toBlock to give Solidity a time range for the event logs ("block" in this case referring to the Ethereum block number). |
How using events change the cost of saving data? | Using events for saving data is much cheaper in terms of gas. |
What is Web3.js.? | Web3.js is a collection of libraries to interact with a local or remote ethereum node, using a HTTP or IPC connection. |
What does Web3 Provider do? | Web3 provider allows your application to communicate with an Ethereum or Blockchain Node. Providers take JSON-RPC requests and return the response. This is normally done by submitting the request to an HTTP or IPC (Inter-process communication) socket based server. |
What is a socket? | You can think about a socket as about... socket |
What is a network socket? | A network socket is a software structure within a network node of a computer network that serves as an endpoint for sending and receiving data across the network. |
What is Infura? Infura is a Web3 backend (API provider) of Etherium Nodes. It could be used as a provider. | Infura is a Web3 backend (API provider) of Etherium Nodes. It could be used as a provider. |
What is MetaMask? | MetaMask is a software cryptocurrency wallet used to interact with the Ethereum blockchain. It allows users to access their Ethereum wallet through a browser extension or mobile app, which can then be used to interact with decentralized applications. |
What does Web3.js need to talk to the contract? | The address and ABI |
What is ABI? | ABI stands for Application Binary Interface. It is a representation of contracts' methods in JSON format that tells Web3.js how to format function calls in a way your contract will understand. |
What does cryptoZombies.methods.zombies(id).call() communicate with? | CryptoZombies.methods.zombies(id).call() communicates with Web3 provider node, because cryptoZombies is a variable where we store web3js.eth.Contract(cryptoZombiesABI, cryptoZombiesAddress) |
What does cryptoZombies.methods.zombies(id).call() tell to Web3 provider node? | CryptoZombies.methods.zombies(id).call() tells to Web3 provider node to return zombie with specific id. |
From where cryptoZombies.methods.zombies(id).call() tells to Web3 provider node to return zombie with specific id? | CryptoZombies.methods.zombies(id).call() tells to Web3 provider node to return zombie with specific id from Zombie[] public zombies. |
What is the difference between call() and send() functions? | Function call is used for view and pure functions. It only runs on the local node, and won't create a transaction on the blockchain. send will create a transaction and change data on the blockchain. send is used for all functions except view and pure. |
What is the difference between call() and send() functions? | Function call is used for view and pure functions. It only runs on the local node, and won't create a transaction on the blockchain. send will create a transaction and change data on the blockchain. send is used for all functions except view and pure. |
How to empty a div? | $("#zombies").empty(); |