Aller sur https://ethereum.github.io/browser-solidity/ .
Objectif : créer un smart contract avec une déclaration et une assignation de variable.
Syntaxe solidity à connaître :
Définir la version du compilateur :
pragma solidity ^0.4.4;
Déclarer un smart contract :
MonSmartContract {
/* contenu du smart contract */
}
Déclarer une variable :
uint maVariable;
Créer une fonction avec un paramètre :
function set(uint x) {
}
Assignation de variable :
maVariable = x;
Objectif : dans le smart contract niveau 0, ajouter un accesseur get()
pour récupérer la valeur de maVariable
.
Syntaxe solidity à connaître :
Retourner une valeur dans une fonction :
function get() constant returns (uint) {
return maVariable;
}
Objectif : créer une cryptomonnaie.
Syntaxe solidity à connaître :
Type address
contenant la clé publique :
address mineur;
Déclarer une variable publique :
address public createur;
est équivalent à
function createur() returns (address) { return mineur; }
Récupérer l'adresseur du mineur (variable globale) :
createur = msg.sender;
Créer un tableau associatif (table de hashage) :
mapping (address => uint) public balances;
Assigner / récupérer la valeur d'un tableau
balances[cle] = valeur;
Les opérateurs +
, -
, <
, >
permettent respectivement d'additionner, soustraire et de comparer.
Faire une condition :
if (0 < 1) {
/* code */
}
Addresses utilisées par le browser solidity
"0xca35b7d915458ef540ade6068dfe2f44e8fa733c"
"0x14723a09acff6d2a60dcdf7aa4aff308fddc160c"
"0x4b0897b0513fdc7c541b6d9d7e929c4e5364d2db"
"0x583031d1113ad414f02576bd6afabfb302140225"
"0xdd870fa1b7c4700f2bd7f44238821c26f7392148"
Objectif : créer un système de vote par procuration.
Syntaxe solidity à connaître :
Type struct
:
struct maStructure {
uint maVariable;
bool aVote; // de type boolean
address procuration; // pouvoir personne
// autres variables
}
Pour arrêter l'éxécution :
throw;
C'est tout !