Solidity : programmation blockchain Ethereum

Solidity est le langage de programmation de la plateforme d’applications décentralisées la plus connue (et la plus utilisée) : Ethereum. Tout comme le langage de script de Bitcoin, qui permet de programmer des transactions financières conditionnelles, Solidity permet de coder des smart contracts.

Tirage au sort de 20 parmi une base de 20 Questions...


1) Pour vérifier que certaines conditions soient vraies avant d'exécuter une fonction, j'utilise :
  require
  check
  include
  Je ne sais pas

2) En Solidity, une déclaration de fonction indique le type de la valeur retournée ?
  faux
  vrai
  Je ne sais pas

3) la fonction keccak256 :
  permet de transformer des uint256 en float
  n'existe pas
  est une fonction de hachage intégrée
  Je ne sais pas

4) Une fonction qui ne lit aucune donnée du contrat, qui retourne une valeur qui dépend seulement de ses arguments. Dans ce cas là, nous déclarerons la fonction comme :
  comme une fonction pure
  comme une fonction internal
  comme une fonction view
  Je ne sais pas

5) En Solidity, un évènement (event) permet :
  d'indiquer à votre contrat (blockchain) que quelque chose vient de se passer sur le site (frontend)
  d'indiquer à votre application frontale (front-end) que quelque chose vient d'arriver sur la blockchain
  Je ne sais pas

6) signifie que
contract C2 is C1 {}
  C2 est un alias de C1
  C1 est un alias de C2
  le contrat C2 hérite de C1
  C1 est renommé en C2
  Je ne sais pas

7) En Solidity, l'héritage des classes est :
  impossible
  possible, comme tout langage objet (non mais allo quoi)
  limité à 2 niveaux
  Je ne sais pas

8) En Solidity, une fonction qui ne change pas un état ou qui n'écrit rien est déclarée :
  comme une fonction readonly
  comme une fonction protected
  comme une fonction view
  Je ne sais pas

9) En Solidity, les fonctions sont publiques par défaut.
  faux
  vrai
  Je ne sais pas

10) msg.sender contient :
  le nom de l'expéditeur du contrat
  le nom du destinataire du contrat
  l'address de la personne (ou du smart contract) qui a appelée la fonction actuelle
  Je ne sais pas

11) Avec ce code : numbers est égal à :

uint[] numbers;
numbers.push(5);
numbers.push(10);
numbers.push(15);
  [5, 25, 40]
  [0, 5, 30, 55]
  [5, 10, 15]
  Je ne sais pas

12) Le mappage (mapping) permet de déclarer :
  un tableau de correspondance entre uint et unit256
  une fonction de transfert de donnée entre 2 points
  un liste de données accessible par clé
  Je ne sais pas

13) Ce code

uint x = 5 ** 2;
  x contient la valeur 10
  x contient la valeur 25
  x contient la valeur 52
  x contient la valeur 42
  Je ne sais pas

14) uint permet de déclarer une variable de type :
  entier flottant
  entier signé
  entier non signé
  entier non flotant
  Je ne sais pas

15) Une variable d'état est stockée :
  de manière temporaire dans la blochain
  de manière définitive dans la session du navigateur
  de manière permanente dans la blockchain
  Je ne sais pas

16) permet de déclarer :
unit[2] monTableau 
  un tableau dynamique dont les éléments feront 2 octets
  un tableau de 2 éléments
  un tableau de 3 éléments (l'index 0 compte)
  Je ne sais pas

17) msg.value contient :
  le nombre de wei envoyés avec le message
  la valeur du data envoyé au contrat
  la quantité de gas actuelle
  Je ne sais pas

18) uint est un alias de ?
  uint256
  uint8
  uint16
  uint42
  uint32
  Je ne sais pas

19) Associer mappage et msg.sender permet :
  de garantir la sécurité en associant des valeurs à des adresses uniques
  d'augmenter la capacité mémoire du contrat
  de retrouver plus rapidement le nom de l'utilisateur
  Je ne sais pas

20) Pour stocker des ensembles de données plus complexe et de type différents on peut utiliser
  des tableaux (array)
  des listes (tupple)
  des structures (struc)
  Je ne sais pas

Partagez ce quiz :