hard economic 2 days
Nel precedente articolo abbiamo capito come si crea una blockchain privata Ethereum.
In questo articolo creeremo un semplice smartcontract, con linguaggio solidity, che restituisce semplicemente un numero e consente di sommare o sottrarre il numero per 10.
Utilizzeremo, a tale scopo, un editor online remix che ci consente di fare debug del codice e di renderlo attivo nella blockchain.
Accedendo su remix possiamo creare un nuovo progetto che chiameremo myown.sol.
Remix consente anche la compilazione del codice e la creazione del contratto intelligente sulla nostra blockchain privata. Per fare questo è necessario selezionare la voce run-> environment->web3 provider e specificare l’endpoint http://localhost:8545.
L’accesso alla rete privata tramite remix sarà possibile soltanto se il nodo miner è stato lanciato con questo parametro –rpccorsdomain “*” .
Una volta connessi con remix è possibile visualizzare subito la connessione alla nostra networkId 1999 ed il nostro account con il valore eth assegnato.
A questo punto potete fare copia incolla dal codice qui sotto.
pragma solidity ^0.4.18; contract MyOwn { uint256 number = 10; //initial number assigned function add() public { //increases number by 10 number= number+10; } function subtract() public { //decreases number by 10 number=number-10; } function getCounter() public constant returns (uint256) { return number; } }
E’ possibile attivare l’autocompile sotto la scheda compile e, se non ci sono problemi, è possibile attivare il contratto appena creato.
per creare il contratto è necessario sbloccare l’account sulla geth console (guarda l’articolo precedente) e premere su create (pulsante in rosso). Sul campo at address inseriamo il nostro account che abbiamo appena sbloccato.
web3.personal.unlockAccount(eth.coinbase)
Il risultato è come in figura
Come si può vedere, remix ci presenta le funzioni pubbliche costruite nel contratto: add, subtract, getCounter. A questo punto possiamo premere le singole funzioni e visualizzare il risultato.
Si noti che il numero iniziale è 10 come impostato staticamente nel codice, se premiamo add il numero aumenta di 10, se premiamo subctract il numero diminuisce di 10.
link suggeriti