Ethereum - Guida rapida

Un enorme successo di Bitcoin ha suscitato l'interesse nelle menti di molti per creare le proprie valute. Guardando i vantaggi offerti da Bitcoin, una valuta digitale, le persone volevano utilizzare il concetto di Blockchain nelle proprie applicazioni. Le persone volevano passare dai loro contratti fisici a contratti digitali intelligenti in cui diversi problemi come il ripudio, la trasparenza, la sicurezza, ecc. Il risultato di questo sforzo ha portato alla creazione di Ethereum, una piattaforma popolare per la creazione di applicazioni Blockchain distribuite che supportano i contratti intelligenti.

In questo tutorial imparerai come creare un'applicazione distribuita (DAPP) sulla piattaforma Ethereum. Più specificamente, imparerai come scrivere un contratto, testarlo su una Blockchain locale e infine distribuirlo su una Blockchain esterna per test approfonditi e uso commerciale. UseraiSolidity, un linguaggio orientato agli oggetti per lo sviluppo di contratti. Userai ancheRemix, un IDE open source per lo sviluppo e il test dei contratti. Per distribuire il contratto testato su una Blockchain esterna, utilizzeraiGanache. Per interagire con il contratto avrai bisogno di un'applicazione client. Noi useremoMyEtherWalletper creare un portafoglio per ciascuno di questi clienti. L'ideatore del contratto pubblicherà il contratto. Qualsiasi altro cliente esaminerà il valore del contatto utilizzando l'interfaccia fornita dal contratto e invierà del denaro al creatore per l'esecuzione di una parte del contratto.

Quindi iniziamo scrivendo il contratto.

Sono disponibili diversi strumenti per sviluppare e testare i contratti. Uno degli strumenti più semplici è fornito sul sito ufficiale di Ethereum stesso. Lo strumento si chiamaRemix, lo useremo per lo sviluppo del nostro contratto.

Remix per lo sviluppo del contratto

Apri l'IDE Remix digitando il seguente URL nel tuo browser.

https://remix.ethereum.org

Apparirà la seguente schermata.

Nella finestra centrale, vedrai del codice predefinito, che è un codice Solidity di esempio. Digiterete il codice del contratto in questo editor di codice. Il tuo codice potrebbe essere compilato automaticamente. Dopo la corretta compilazione del codice, sarai in grado di eseguire il codice nello stesso IDE. Quando si eseguono i metodi del contratto, i risultati verranno visualizzati nella stessa finestra IDE. Sono disponibili funzionalità per eseguire il debug del codice e per testare l'unità del progetto. Questi possono essere visualizzati nella barra dei menu in alto a destra come mostrato nello screenshot IDE di seguito. Utilizzerai queste opzioni a breve.

Inizierai ora a scrivere il tuo contratto.

Solidity è un linguaggio orientato agli oggetti sviluppato appositamente per la scrittura di contratti. È un linguaggio di alto livello, che eredita i tratti da C ++, Python e JavaScript. Il compilatore Solidity compila il codice sorgente in bytecode che gira su Ethereum Virtual Machine (EVM).

Per una rapida comprensione della sintassi Solidity, guarda il codice di esempio nell'IDE.

pragma solidity >=0.4.22 <0.6.0;
contract Ballot {

La prima riga è una direttiva per il compilatore. La seconda riga inizia la definizione del contratto. All'interno del contratto, dichiari variabili come:

address chairperson;

Puoi anche definire strutture come Proposale creare un array di questi elementi della struttura. Esaminalo nella finestra del codice.

È quindi possibile definire un costruttore che viene richiamato al momento della creazione di un'istanza di un contratto.

constructor(uint8 _numProposals) public {

Dopo il costruttore, definirai diversi metodi, che sono i metodi del contratto. Nel contratto di esempio,giveRightToVote è uno di questi metodi con la seguente sintassi:

function giveRightToVote(address toVoter) public {

Il public la parola chiave rende questo metodo invocabile pubblicamente da qualsiasi cliente che ha accesso al contratto.

Allo stesso modo, il contratto di esempio definisce altri tre metodi chiamati delegate, vote, e winningProposal. Esaminali per capire meglio la sintassi di Solidity. Questi sono i prerequisiti per scrivere il proprio contratto. Spiegare la sintassi completa di Solidity va oltre lo scopo di questo tutorial.

Daremo un nome al nostro contratto MyContract come nella seguente dichiarazione -

contract MyContract {

Dichiareremo due variabili come segue:

uint amount;
uint value;

La variabile amounttratterrà il denaro accumulato inviato dagli esecutori del contratto al creatore del contratto. Ilvalueil campo conterrà il valore del contratto. Mentre gli esecutori eseguono il contratto, ilvalue il campo verrà modificato per riflettere il valore del contratto bilanciato.

Nel costruttore del contratto, impostiamo i valori di queste due variabili.

constructor (uint initialAmount, uint initialValue) public {
   amount = 0;
   value = 1000;
}

Come inizialmente, l'importo incassato sul contratto è zero, abbiamo impostato il amount campo a 0. Impostiamo il contratto value a un numero arbitrario, in questo caso è 1000. L'ideatore del contratto decide questo valore.

Per esaminare l'importo raccolto in un dato momento, forniamo un metodo di contratto pubblico chiamato getAmount definito come segue -

function getAmount() public view returns(uint) {
   return amount;
}

Per ottenere il valore del contratto bilanciato in un dato momento, definiamo getBalance metodo come segue -

function getBalance() public view returns(uint) {
   return value;
}

Infine, scriviamo un metodo di contratto (Send). Consente ai clienti di inviare del denaro all'ideatore del contratto -

function send(uint newDeposit) public {
   value = value - newDeposit;
   amount = amount + newDeposit;
}

L'esecuzione del send metodo modificherà entrambi value e amount campi del contratto.

Di seguito viene fornito il codice completo del contratto:

contract MyContract {
   uint amount;
   uint value;

   constructor (uint initialAmount, uint initialValue) public {
      amount = 0;
      value = 1000;
   }
   function getBalance() public view returns(uint) {
      return value;
   }
   function getAmount() public view returns(uint) {
      return amount;
   }
   function send(uint newDeposit) public {
      value = value - newDeposit;
      amount = amount + newDeposit;
   }
}

Una volta scritto il codice completo del contratto, compilarlo in questo IDE è banale. Basta fare clic sul fileAutocompile casella di controllo nell'IDE come mostrato nello screenshot qui sotto -

In alternativa, puoi compilare il contratto facendo clic sul pulsante con il titolo “Start to compile”.

Se è presente un errore di battitura, correggilo nella finestra del codice. Assicurati che il codice sia compilato completamente senza errori. Ora sei pronto per distribuire il contratto.

In questo capitolo impareremo come implementare il contratto su Ethereum. Fare clic sull'opzione di menu Esegui per distribuire il contratto. Apparirà la seguente schermata.

Il nome del contratto viene visualizzato nella casella di riepilogo evidenziata. Sotto questo, noterai il fileDeployfare clic su di esso per distribuire il contratto. Il contratto verrà implementato sulla Blockchain integrata di Remix. Sarai in grado di vedere il contratto distribuito nella parte inferiore dello schermo. Puoi vederlo nella parte evidenziata dello screenshot qui sotto.

Notare la presenza di tre nomi di metodo in questa regione evidenziata. Successivamente, interagirai con il contratto eseguendo i metodi del contratto.

Quando fai clic sul contratto distribuito, vedrai i vari metodi pubblici forniti dal contratto. Questo è mostrato nello screenshot qui sotto.

Il primo metodo sendcontiene una casella di modifica di fronte ad essa. Qui, digiterai i parametri richiesti dal metodo del contratto. Gli altri due metodi non accettano alcun parametro.

Invio di denaro

Ora, inserisci un importo come 100 davanti al sendfunzione vista nella finestra del contratto. Clicca ilsendpulsante. Questo eseguirà il contrattosend metodo, riducendo il valore del contratto value e aumentando il valore di amount campo.

Esame del valore del contratto

Il precedente send money azione ha ridotto il valore del contratto di 100. Ora puoi esaminarlo richiamando il getBalancemetodo del contratto. Vedrai l'output quando fai clic sugetBalance come mostrato nello screenshot qui sotto -

Il contratto value è ora ridotto a 900.

Esame dell'importo raccolto

In questa sezione, esamineremo la quantità di denaro raccolta finora su questo contratto. Per questo, fare clic sulgetAmountpulsante. Apparirà la seguente schermata.

Il amount il valore del campo è cambiato da 0 a 100.

Provane alcuni send operazioni ed esaminare il contratto value e il amount per concludere che il contratto distribuito viene eseguito come previsto.

L'IDE Remix che hai utilizzato finora è abbastanza buono per lo sviluppo e il test iniziale del tuo contratto. Per i contratti della vita reale, è necessario testare la funzionalità rispetto a vari parametri. Remix non può creare account utente reali (non di prova) per trasferire fondi tra di loro. Non hai alcun controllo sulla configurazione della Blockchain creata da Remix. Non è nemmeno possibile monitorare l'esecuzione delle transazioni.

Remix perde diverse operazioni avanzate. Pertanto, dobbiamo implementare il nostro contratto su una Blockchain più sofisticata che fornisce tutte queste funzionalità. Una di queste Blockchain èGanache che imparerai nel nostro capitolo successivo.

Ganache viene utilizzato per impostare una Blockchain Ethereum personale per testare i tuoi contratti Solidity. Fornisce più funzionalità rispetto a Remix. Imparerai a conoscere le caratteristiche quando ti alleni con Ganache. Prima di iniziare a utilizzare Ganache, devi prima scaricare e installare Blockchain sul tuo computer locale.

Download di Ganache

Puoi scaricare Ganache dal seguente URL:

https://truffleframework.com/ganache

Ganache è disponibile su diverse piattaforme. Abbiamo sviluppato e testato l'intero tutorial su Mac. Pertanto, le schermate seguenti mostreranno l'installazione del Mac. Quando apri l'URL di installazione indicato sopra, rileva automaticamente il sistema operativo della tua macchina e ti indirizza all'installazione binaria appropriata. Lo screenshot qui sotto mostra l'installazione del Mac.

Quando fai clic sul pulsante DOWNLOAD, inizierà il download del file DMG per l'installazione su Mac.

Installazione di Ganache

Individua "Ganache-2.0.0.dmg" nella cartella Download e fai doppio clic su di esso per installare Ganache. Al termine dell'installazione, apparirà la seguente schermata:

Trascina l'icona Ganache nella cartella dell'applicazione. Ora, Ganache è disponibile come applicazione sul tuo Mac.

Se stai utilizzando un altro sistema operativo, segui le istruzioni fornite per una corretta installazione.

Avvio della ganache

Ora individua Ganache nella cartella dell'applicazione e fare doppio clic sulla sua icona per avviare Ganache.

Ganache Desktop

Quando Ganache si avvia, la schermata Ganache apparirà come mostrato di seguito -

Fare clic su QUICKSTART per avviare Ganache. Vedrai la console Ganache come mostrato di seguito -

La console nello screenshot sopra mostra due account utente con saldo di 100 ETH (Ether - una valuta per le transazioni sulla piattaforma Ethereum). Mostra anche un conteggio delle transazioni pari a zero per ogni account. Poiché l'utente non ha eseguito alcuna transazione fino ad ora, questo conteggio è ovviamente zero.

Ora avremo una panoramica di alcune schermate importanti di Ganache che sono di immediata rilevanza per noi.

Fare clic sull'icona delle impostazioni nella parte in alto a destra dello schermo come mostrato nello screenshot qui sotto -

La schermata delle impostazioni del server apparirà come mostrato di seguito:

Qui, sarai in grado di impostare i valori dell'indirizzo del server e il numero di porta per il tuo server Ganache. Per il momento, lasciare questi ai valori predefiniti. L'ID di rete è un identificatore Blockchain interno del server Ganache; lascia questo al suo valore predefinito. IlAutomineIl pulsante è nello stato ON, a indicare che le transazioni verranno elaborate immediatamente. Se lo disattivi, ti verrà chiesto di inserire il tempo in secondi dopo il quale i blocchi verranno estratti.

Account e chiavi

Quando fai clic sul file Accounts & Keys opzione di menu, vedrai la seguente schermata:

Qui potresti farlo setil saldo predefinito per ogni account. Il valore predefinito è 100. Questo ora spiega perché hai visto 100 ETH visualizzato per ogni account nello screenshot del desktop. Puoi anche impostare il numero di account in questa schermata. Il valore visualizzato in questa schermata è 2 ed è per questo che il desktop mostrava solo due account.

Ora lavoreremo con la schermata delle due impostazioni; la conoscenza di come questi due funzionano sarebbe sufficiente. Riavviare il server facendo clic suRESTARTpulsante sul lato destro dello schermo. Tornerai ora alla schermata del desktop. Prova a inserire valori diversi nei due campi precedenti, riavvia il server e osserva il suo effetto.

Ora capiremo brevemente cosa è disponibile sul desktop di Ganache. Sul desktop, in alto abbiamo diverse opzioni di menu di cui alcune sono di immediata rilevanza per noi. La barra dei menu è evidenziata nello screenshot qui sotto:

Facendo clic sul file TRANSACTIONSmenu mostra tutte le transazioni eseguite finora. Eseguirai transazioni molto presto. Ora, torna alla schermata sopra e controlla le transazioni di tanto in tanto. Una tipica schermata di transazione è come mostrato di seguito:

Allo stesso modo, quando fai clic sul file BLOCKSmenu, vedrai i vari blocchi estratti. Considera la seguente schermata per capire come appare il menu BLOCCHI:

Clicca sul LOGSmenù. Aprirà il registro di sistema per te. Qui puoi esaminare le varie operazioni che hai eseguito sulla Blockchain di Ethereum.

Ora, poiché hai capito come utilizzare Ganache per impostare una Blockchain Ethereum privata, ora creerai alcuni client che utilizzerebbero questa Blockchain.

Per l'applicazione client, utilizzerai MyEtherWallet.

Scarica MyEtherWallet software dal seguente URL -

https://github.com/kvhnuke/etherwallet/releases/tag/v3.21.06

Se necessario, decomprimere il file scaricato e aprirlo index.html. Vedrai la seguente interfaccia per creare un nuovo portafoglio.

In questo capitolo impareremo come creare il portafoglio Ethereum. Per creare un nuovo portafoglio, inserisci una password di tua scelta e quindi fai clic sul pulsante "Create New Wallet"Pulsante. Quando lo fai, verrà creato un portafoglio. Un portafoglio digitale è essenzialmente la generazione di una coppia di chiavi pubblica / privata che è necessario conservare in un luogo sicuro. La creazione del portafoglio risulta nella seguente schermata:

Clicca sul “Download Keystore File (UTC / JSON)”pulsante per salvare le chiavi generate. Ora fai clic sul file“I understand. Continue”pulsante. La tua chiave privata apparirà sullo schermo come mostrato nello screenshot qui sotto -

Clicca sul “Print Paper Wallet”pulsante per conservare una registrazione fisica della chiave privata del tuo portafoglio. Ti servirà in seguito per sbloccare il portafoglio. Vedrai la seguente schermata. Non perdere questo output.

Per sbloccare il tuo portafoglio, fai clic su “Save Your Address”pulsante. Vedrai la seguente schermata.

Il portafoglio può essere sbloccato utilizzando l'opzione Chiave privata come evidenziato nella schermata sopra. Taglia e incolla la chiave privata dallo screenshot precedente e fai clic sul pulsante Sblocca. Il tuo portafoglio verrà sbloccato e vedrai apparire un messaggio nella parte inferiore dello schermo. Poiché il portafoglio non contiene nulla al momento, sbloccare il portafoglio non ci è molto utile a questo punto.

Ora hai creato un portafoglio; questo portafoglio è un'interfaccia client per la Blockchain. Attaccheremo il portafoglio alla Ganache Blockchain che hai iniziato nella lezione precedente. A tal fine, fare clic suNetwork casella a discesa come mostrato nello screenshot qui sotto -

Vai in fondo alla lista. Vedrai un'opzione per“Add Custom Network / Node”. Seleziona questo oggetto.

Ora apparirà una schermata che richiede l'indirizzo del server Ganache e la porta su cui sta ascoltando.

Digita i dettagli del tuo server Ganache - http://127.0.0.1 e Porto: 8545. Questi sarebbero i valori impostati dall'utente nella configurazione del server Ganache. Dai unnamedi tua scelta a questo nodo. Clicca sul“Save & Use Custom Node”pulsante. Vedrai il messaggio connesso nella parte inferiore dello schermo. A questo punto, il tuo portafoglio è connesso con successo alla Blockchain Ganache.

Ora sei pronto per distribuire il contratto su questa Blockchain connessa.

Per distribuire il contratto, seleziona il file Contracts opzione di menu come mostrato nello screenshot qui sotto -

Dovrai inserire il bytecode del contratto in questa schermata. Ricorda, quando compili il codice del tuo contratto Solidity, ha generato un bytecode che gira su EVM. Ora dovrai ottenere questo bytecode daRemix IDE.

Vai alla schermata IDE Remix, il tuo contratto digitato in precedenza dovrebbe essere lì nella finestra del codice. In caso contrario, ridigitare il contratto nella finestra del codice. Fare clic sul pulsante Bytecode come mostrato nello screenshot seguente -

Il bytecode per la sorgente compilata viene copiato negli appunti insieme ad altre informazioni. Incolla il codice copiato nel tuo editor di testo preferito. Di seguito è riportato lo screenshot dell'editor di testo:

Il valore di objecttag contiene il bytecode desiderato. Copia questo attentamente assicurandoti di non copiare le virgolette allegate. Il bytecode è molto lungo, quindi assicurati di copiare fino all'ultimo byte compreso. Ora, incolla questo bytecode nel fileDeploy Contract schermata come mostrato di seguito -

Il Gas Limit il campo viene impostato automaticamente.

Sotto il campo Gas Limit, troverai la selezione per accedere al portafoglio.

Ora accedi al portafoglio utilizzando il Private Keydell'account Ganache su cui verrà distribuito questo contratto. Per ottenere questa chiave privata, torna al fileGanachefinestra. Clicca sulkeys icona del primo account come mostrato di seguito -

Vedrai la chiave privata dell'account utente n. 1 come mostrato nello screenshot qui sotto -

Copia questa chiave privata e incollala nella sezione "Incolla la tua chiave privata" come mostrato di seguito -

Vedrai il file “Unlock”pulsante nella parte inferiore dello schermo. Dopo lo sblocco, verrà visualizzato un messaggio di "operazione riuscita" nella parte inferiore dello schermo. A questo punto, il tuo portafoglio è collegato all'account n. 1 della Ganache Blockchain.

Ora sei pronto per firmare e distribuire il contratto. Clicca sul“Sign Transaction” come mostrato nello screenshot qui sotto -

La firma della transazione genera e visualizza entrambi Raw e Signedtransazioni. Clicca sul“Deploy Contract”pulsante per distribuire il contratto sulla Blockchain Ganache. Ricorda che il contratto viene distribuito dall'account # 1 utente di Ganache Blockchain. Pertanto, l'utente dell'account n. 1 diventa il creatore del contratto. Prima che il contratto venga implementato, ti verrà chiesto di confermare la transazione in quanto potrebbe costarti dei soldi veri se dovessi implementare questo contratto su una Blockchain Ethereum reale pubblica. Non preoccuparti, per l'attuale Blockchain privata in esecuzione sulla tua macchina locale, non ci sono soldi veri coinvolti. Clicca sulMake transaction come mostrato nello screenshot qui sotto -

Esamina la console Ganache; vedrai che il saldo ETH nell'account n. 1 si è ridotto come si vede nello screenshot qui sotto -

Ora fai clic sul file TRANSACTIONS menu come mostrato nello screenshot qui sotto -

Vedrai i dettagli della transazione.

In questa schermata troverai l'indirizzo pubblicato del contratto. L'indirizzo è contrassegnato nello screenshot qui sopra. Distribuirai questo indirizzo pubblicamente per far sapere agli altri che il tuo contratto è disponibile a questo indirizzo specificato a cui possono connettersi ed eseguire i metodi del contratto, come l'invio di denaro a te, il creatore del contratto. Copia questo indirizzo di contratto come riferimento, poiché ne avrai bisogno nel passaggio successivo.

Ora sei pronto per interagire con il contratto che hai distribuito. Torna al desktop MyEtherWallet e fai clic sulla scheda "Interagisci con contratto" come mostrato nello screenshot qui sotto -

Incolla l'indirizzo del contratto che hai precedentemente copiato nel file “Contract Address”campo. Devi anche incollare il file“ABI / JSON Interface” del contratto nella schermata sopra.

Prendere il ABI, vai al Remix finestra e fare clic sul file ABI come mostrato nello screenshot qui sotto.

L'interfaccia ABI / JSON verrà copiata negli appunti. Incollalo nel tuo editor preferito per esaminare l'interfaccia generata, mostrata di seguito -

ABI / JSON Interface
[
   {
      "constant": false,
      "inputs": [
         {
            "name": "newDeposit",
            "type": "uint256"
         }
      ],
      "name": "send",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
   },
   {
      "inputs": [
         {
            "name": "initialAmount",
            "type": "uint256"
         },
         {
            "name": "initialValue",
            "type": "uint256"
         }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "constructor"
   },
   {
      "constant": true,
      "inputs": [],
      "name": "getAmount",
      "outputs": [
         {
            "name": "",
            "type": "uint256"
         }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
   },
   {
      "constant": true,
      "inputs": [],
      "name": "getBalance",
      "outputs": [
         {
            "name": "",
            "type": "uint256"
         }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
   }
]

Dopo aver incollato questo JSON nel file MyEtherWallet interfaccia, noterai che il pulsante ACCESS sotto l'interfaccia JSON è ora attivato, come mostrato di seguito -

Clic Access pulsante per accedere al contratto.

Facendo clic su Accessil pulsante, l'indirizzo del contratto e il menu a discesa di selezione della funzione appariranno sullo schermo come nell'editor Remix. Questo è mostrato nello screenshot qui sotto -

Puoi controllare le varie funzioni del contratto come nel caso della distribuzione Remix. Tieni presente che il contatto è ora distribuito su una Blockchain Ganache esterna. Controlla ilgetAmountfunzione; otterrai il valore Amount pari a zero e ilgetBalance mostrerà un saldo di 1000.

Ora prova a inviare dei soldi. Ti presenterà un filetexteditcontrollo per l'inserimento dell'importo. Quando scrivi il contratto, verrà utilizzato del "gas" e ti verrà chiesto di confermare la transazione prima di scriverla sulla Blockchain. La transazione verrebbe eseguita in breve tempo a seconda del tempo di mining impostato da te sul server Ganache. Successivamente, puoi riesaminare il filevalue e il amount campi del contratto per verificare che questi siano effettivamente modificati.

Ora puoi esaminare il desktop di Ganache per visualizzare le transazioni che hai eseguito finora. Di seguito è mostrato un esempio di output:

Finora eri sia il creatore del contratto che l'esecutore del contratto. Questo non ha molto senso, poiché ti aspetti che gli altri utilizzino il tuo contratto. Per questo, creeremo un altro client per la nostra Ganache Blockchain e invieremo del denaro dall'account n. 2 appena creato al creatore del contratto all'account n. 1.

In questo capitolo impareremo la creazione di utenti a contratto su Ethereum. Per creare un utente per il nostro contratto pubblicato, ne creeremo un altroMyEtherWalletclient collegato alla stessa Ganache Blockchain che hai utilizzato nei passaggi precedenti. Vai alMyEtherWallet schermo e creare un nuovo portafoglio.

Clicca sul contracts menu e selezionare il “Interact with Contract”opzione come nel caso precedente. Nota che questo nuovo utente interagirà semplicemente con il contratto già pubblicato e non distribuirà il proprio contratto. Specifica l'indirizzo del contratto e l'ABI che hai utilizzato nel caso precedente.

Ora fai clic su Access pulsante e invocare send metodo. Quando richiesto, immettere un valore, ad esempio 100 ETH da inviare. Invia la transazione. Dopo l'invio, apparirà la seguente schermata.

Per collegare questo nuovo client alla nostra Ganache Blockchain, vai su Ganache Console. Fare clic sull'icona delle chiavi dell'account n. 2 come mostrato nello screenshot seguente -

Otterrai la chiave privata per l'account n. 2.

Copia la chiave che ricevi e usala nel tuo portafoglio appena creato come mostrato qui -

Clicca sul Unlock pulsante per attaccare il portafoglio.

Quando il portafoglio è stato sbloccato con successo, scrivi la transazione di invio desiderata.

Genera la transazione facendo clic su “Generate Transaction” pulsante.

Makela transazione e attendere un po 'di tempo affinché si rifletta nella Blockchain. Ora esegui“getAmount”, l'importo mostrato dovrebbe essere 200 ora.

Eseguire “getBalance”. Ilvalue il campo dovrebbe ora essere 800.

Esaminare il registro delle transazioni per vedere le varie transazioni eseguite da utenti diversi.

Hai imparato a scrivere il tuo contratto digitale in Solidity. Hai sviluppato e testato l'interfaccia del contratto nell'IDE Remix. Per ulteriori test multiutente, hai distribuito questo contratto su Ganache Blockchain. Su Ganache, hai creato due account utente. Il primo account è stato utilizzato per la pubblicazione del contratto. Il secondo account è stato utilizzato per consumare il contratto.

Cosa c'è dopo?

La Ganache Blockchain che hai utilizzato in questo intero processo è privata e locale sulla tua macchina. Una volta che sei pienamente soddisfatto del funzionamento del contratto, puoi procedere a pubblicarlo su una Blockchain Ethereum reale. Tuttavia, ciò richiederebbe di spendere soldi veri. Nell'applicazione demo, abbiamo utilizzato 1000 ETH come predefinito per ogni account utente in Ganache. Quando distribuisci il tuo contratto su una Blockchain reale, dovrai acquistare l'ETH convertendo la valuta del tuo paese in ETH. Questa valuta verrà memorizzata nel tuo portafoglio e sarai in grado di spenderla nel modo desiderato.