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) Le mappage (mapping) permet de déclarer :
  un tableau de correspondance entre uint et unit256
  un liste de données accessible par clé
  une fonction de transfert de donnée entre 2 points
  Je ne sais pas

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

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

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

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

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

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

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

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

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

11) Ce code

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

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

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

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

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

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

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

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

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

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

Partagez ce quiz :