Az Ethereum rendszerben az állapot olyan objektumokból áll, amelyeket "számláknak" neveznek (minden fiók egy 20 bájtos címből áll), valamint állapotátmenetekből, amelyek értéket és információt továbbítanak két számla között. Az Ethereum számla négy részből áll: Egy véletlenszám, amely egy számlát határoz meg, amelyet tranzakciónként csak egyszer lehet feldolgozni A számla aktuális Ethereum egyenlege Ha egyáltalán van a számla szerződéskódja A fiók tárolása (alapértelmezettől üres) Egyszerűen fogalmazva, minden Ethereum fiók egy nyilvános és privát kulcs párból áll. A nyilvános kulcs érthető a fiókcímként, amelyet bármely más fiók elérhet A privát kulcs titkosított jelszóként értelmezhető, és ez a nyilvános és privát kulcspáros együtt egyedi, azonosított Ethereum fiókot alkot. Például az előző részben meghatároztunk első Ethereum fiókban, eth.accounts[0]-ban, a 0xbcf5b841303bc08026ce2d3b8f83498ffe42c12f cím a nyilvános kulcs, a titkosított jelszó pedig a privát kulcs. Növelési számlák Be tudjuk írni a personal.newAccount("123") parancsot, hogy új fiókot hozzunk létre (megjegyzendő, hogy a 123-at bármelyik más jelszóra lehet változtatni)
Amikor az Ethereum privát lánc bányászik, a bányászott éter az első Ethereum számlára kerül, azaz eth.accounts[0], és eth.accounts[1] alapértelmezetten nem lesz ether. Jelenleg a következő parancsot használhatjuk az Ethereum egyenlegének ellenőrzésére az eth.accounts[0]-ban.
Hogyan lehet Ethereumot két számla között konvertálni Ahogy korábban említettük, minden fiók nyilvános kulcsa (címe) az összes Ethereum fiókművelet magja, de a címlánc túl hosszú, ezért acc0/acc1 kifejezéseket használunk a számlák[0] és [1] jelölésére, és 0,01 ETH átvitelre állítunk be
Jelenleg az eth.sendTransaction segítségével átvihetjük a 0,01 ETH értéket acc0-ról acc1-re.
Egy Ethereum védelmi mechanizmus, amely időnként automatikusan zárja a számlákat, ekkor minden ETH átváltás elutasításra kerül, hacsak a fiók nem nyílik fel. Jelenleg le kell indítanunk a personal.unlockAccount(acc0) kódot, és be kell írnunk a jelszót, hogy feloldjuk az acc0-ot.
Ekkor újra végrehajtjuk az eth.sendTransaction parancsot ({from: acc0, to: acc1, value: amount}), és az eredmény a következő:
Láthatjuk, hogy jelenleg az acc1 értéke 1000000000000000000000000000000000 a korábbi 0 helyett. De miért olyan nagy az érték, amikor nyilvánvalóan 0,01 éter érmét akarunk adni? Valójában helyes, csak a web3.fromWei (100000000000000000000, "ether") parancsot kell beírni, hogy tudjuk.
Az éter alapegysége
Az Ether érme legkisebb egysége a Wei, ami egyben a parancssorban alapértelmezett egység, majd egy egység minden 1000-re, ebben a sorrendben
kwei (1000 Wei) mwei (1000 KWei) GWEI (1000 MWEI) szabo (1000 gwei) Finney (1000 szabo) Ether (1000 Finney) Egyszerűen fogalmazva, ez 1 ETH = 100000000000000000000000 Wei (ezért vittünk át 0,01 ETH-t az előző leállásban, de az eredmény nagyon hosszú volt) Hogyan lehet átalakítani éter és wei között
|