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) uint permet de déclarer une variable de type :
  entier flottant
  entier non flotant
  entier signé
  entier non signé
  Je ne sais pas

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

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

4) 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

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

6) 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 view
  comme une fonction pure
  comme une fonction internal
  Je ne sais pas

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

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

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

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

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

11) 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

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

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

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

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

16) 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

17) Ce code

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

18) 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

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

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

Partagez ce quiz :