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) permet de déclarer :
unit[2] monTableau 
  un tableau de 3 éléments (l'index 0 compte)
  un tableau de 2 éléments
  un tableau dynamique dont les éléments feront 2 octets
  Je ne sais pas

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

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

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

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

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

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

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

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

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

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

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

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

14) Ce code

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

15) msg.sender contient :
  le nom de l'expéditeur du contrat
  l'address de la personne (ou du smart contract) qui a appelée la fonction actuelle
  le nom du destinataire du contrat
  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 internal
  comme une fonction pure
  comme une fonction view
  Je ne sais pas

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

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

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

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

Partagez ce quiz :