Une blockchain | |
Une plateforme smart contracts | |
Un langage | |
Des outils de développement | |
Le frontend | |
Des outils de debug et de tests | |
Des infrastructures | |
Avantages | |
Limitations | |
Le futur |
Registre des transactions : un fichier qui contient toutes les informations depuis le premier bloc | |
Théories des jeux : l'ensemble de règles de consensus | |
P2P: un réseau de noeuds parlant le protocole et gardant une trace des transactions | |
TCP/IP : l'infrastructure Internet |
Smart contracts : des opérations plus compliquées que des simples transactions | |
Registre des transactions : un fichier qui contient toutes les informations depuis le premier bloc | |
Théories des jeux : l'ensemble de règles de consensus | |
P2P: un réseau de noeuds parlant le protocole et gardant une trace des transactions | |
TCP/IP : l'infrastructure Internet |
pragma solidity ^0.4.22;
/* Un langage objet */
contract Mortal {
address owner;
constructor() public { owner = msg.sender; }
function kill() public { if (msg.sender == owner) selfdestruct(owner); }
}
/* De l'héritage */
contract AramisGreeter is Mortal {
string private greeting;
constructor() public {
greeting = "10ème journée - Aramis 2018" ;
}
function greet() public constant returns (string) {
return greeting;
}
}
var Web3 = require('web3');
web3 = new Web3(new Web3.providers.HttpProvider("https://ropsten.infura.io/cHbRZrapth8QaiDXVxyK"));
abi=[{"constant":false,"inputs":[],"name":"kill","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"greet","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"}]
var AramisGreeter = web3.eth.contract(abi);
var myContractInstance = AramisGreeter.at('0xa317e1e75379ccab2451d7a506dde86763fe5c86');
var greet = myContractInstance.greet.call();
document.getElementById('greet').innerText = greet;
<span id="greet"><span>