Creazione smartcontract in una blockchain privata (parte 2 – implementazione)

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

http://kingpassive.com/what-is-ethereum