V systéme Ethereum je stav tvorený objektmi nazývanými "účty" (každý účet má 20-bajtovú adresu) a prechodmi stavov, ktoré prenášajú hodnotu a informácie medzi dvoma účtami. Účet na Ethereu pozostáva zo štyroch častí: Náhodné číslo, ktoré určuje čítač, ktorý sa dá spracovať len raz za transakciu Aktuálny zostatok Ethereum účtu Kód zmluvy účtu, ak nejaký je Ukladanie účtu (predvolene prázdne) Jednoducho povedané, každý Ethereum účet pozostáva z páru verejných a súkromných kľúčov. Verejný kľúč možno chápať ako adresu účtu, ku ktorej môže pristupovať akýkoľvek iný účet Súkromný kľúč možno chápať ako šifrované heslo a tento pár verejných a súkromných kľúčov spolu tvorí jedinečne identifikovaný Ethereum účet. Napríklad v prvom Ethereum účte eth.accounts[0], ktorý sme založili v predchádzajúcej sekcii, je adresa 0xbcf5b841303bc08026ce2d3b8f83498ffe42c12f verejný kľúč a šifrované heslo je súkromný kľúč. Zvyšovanie účtov Môžeme zadať príkaz personal.newAccount("123") na vytvorenie nového účtu (poznámka: 123 je možné zmeniť na akékoľvek iné heslo)
Keď sa ťaží privátny reťazec Etherea, vyťažený ether sa vkladá do prvého účtu Ethereum, teda eth.accounts[0], a eth.accounts[1] nebude mať ether automaticky. V tejto chvíli môžeme použiť nasledujúci príkaz na kontrolu zostatku Etherea v eth.accounts[0].
Ako konvertovať Ethereum medzi dvoma účtami Ako už bolo spomenuté, verejný kľúč (adresa) každého účtu je jadrom všetkých operácií Ethereum účtu, ale reťazec adresy je príliš dlhý, preto používame acc0/acc1 na reprezentáciu účtov[0] a [1] a nastavujeme 0,01 ETH na prevod
V súčasnosti môžeme použiť eth.sendTransaction na prevod 0,01 ETH z acc0 na acc1.
Mechanizmus ochrany Etherea, ktorý automaticky občas zablokuje účty, pričom akákoľvek konverzia ETH medzi účtami bude zamietnutá, pokiaľ účet nie je odomknutý. V tomto momente musíme spustiť personal.unlockAccount(acc0) a zadať heslo na odomknutie acc0.
V tomto momente znovu vykonáme príkaz eth.sendTransaction({from: acc0, do: acc1, value: amount}) a výsledok je nasledovný:
Vidíme, že v tomto momente má acc1 hodnotu 1000000000000000000000000 namiesto predchádzajúcej 0. Ale prečo je hodnota taká veľká, keď zjavne chceme dať 0,01 etherových mincí? V skutočnosti je to správne, stačí zadať príkaz web3.fromWei(10000000000000000000, "ether"), aby sme vedeli.
Základná jednotka éteru
Najmenšou jednotkou etherovej mince je Wei, ktorá je zároveň predvolenou jednotkou príkazového riadku, a potom jedna jednotka na každých 1000, v tomto poradí
kwei (1000 Wei) mwei (1000 KWei) Gwei (1000 MWei) szabo (1000 gwei) Finney (1000 szabo) Ether (1000 Finney) Jednoducho povedané, je to 1 ETH = 1000000000000000000000 Wei (preto sme v predchádzajúcom zastavení preniesli 0,01 ETH, ale výsledok bol veľmi dlhý) Ako konvertovať medzi éterom a wei
|