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.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *