Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 11358|Risposta: 0

Conti e unità base di Ethereum

[Copiato link]
Pubblicato su 24/02/2018 11:18:33 | | |
Nel sistema Ethereum, lo stato è composto da oggetti chiamati "account" (ogni account consiste in un indirizzo da 20 byte) e da transizioni di stato che trasferiscono valore e informazioni tra due account.
Un account Ethereum è composto da quattro parti:
Un numero casuale che determina un contatore che può essere elaborato solo una volta per transazione
Il saldo attuale di Ethereum del conto
Il codice contrattuale del conto, se ce n'è
Archiviazione dell'account (vuota di default)
In parole povere, ogni account Ethereum è composto da una coppia di chiavi pubbliche e private.
La chiave pubblica può essere intesa come l'indirizzo dell'account, accessibile da qualsiasi altro account
Una chiave privata può essere intesa come una password criptata, e questa coppia di chiavi pubbliche e private insieme formano un account Ethereum identificato in modo unico.
Ad esempio, nel primo account Ethereum eth.accounts[0] che abbiamo stabilito nella sezione precedente, l'indirizzo 0xbcf5b841303bc08026ce2d3b8f83498ffe42c12f è la chiave pubblica, e la password criptata è la chiave privata.
Aumenta i conti
Possiamo inserire il comando personal.newAccount("123") per creare un nuovo account, (nota che 123 può essere cambiato con qualsiasi altra password)

Quando la catena privata Ethereum è in mining, l'ether estratto verrà depositato nel primo account Ethereum, cioè eth.accounts[0], e eth.accounts[1] non avrà ether di default. Al momento, possiamo usare il seguente comando per controllare il saldo di Ethereum in eth.accounts[0].


Come convertire Ethereum tra due account
Come detto prima, la chiave pubblica (indirizzo) di ogni account è il nucleo di tutte le operazioni di account Ethereum, ma la stringa di indirizzi è troppo lunga, quindi usiamo acc0/acc1 per rappresentare rispettivamente i conti[0] e [1], e impostiamo 0,01 ETH da trasferire


Al momento, possiamo usare eth.sendTransaction per trasferire 0,01 ETH da acc0 a acc1.



Un meccanismo di protezione Ethereum che blocca automaticamente gli account ogni tanto, a quel punto qualsiasi conversione di ETH tra account verrà rifiutata a meno che l'account non venga sbloccato.
Al momento, dobbiamo eseguire personal.unlockAccount(acc0) e inserire la password per sbloccare account.


In questo momento, rieseguemo il comando eth.sendTransaction({from: acc0, to: acc1, value: amount}), e il risultato è il seguente:


Possiamo vedere che in questo momento, acc1 ha un valore di 100000000000000000000000000, invece dello 0 precedente. Ma perché il valore è così alto quando ovviamente vogliamo dare monete ether 0,01? In realtà, è corretto, basta inserire il comando web3.fromWei(100000000000000000000, "ether") per saperlo.

L'unità base dell'Etere
La più piccola unità di moneta Ether è Wei, che è anche l'unità predefinita della riga di comando, e poi un'unità ogni 1000, in quell'ordine

kwei (1000 Wei)
mwei (1000 KWei)
gwei (1000 mwei)
szabo (1000 gwei)
Finney (1000 Szabo)
Etere (1000 finney)

In parole povere, è 1 ETH = 10000000000000000000000000 Wei (ecco perché abbiamo trasferito 0,01 ETH nella precedente interruzione, ma il risultato è stato molto lungo)
Come convertire tra ether e wei


Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com