V sistemu Ethereum je stanje sestavljeno iz objektov, imenovanih "računi" (vsak račun ima 20-bajtni naslov) in prehodov stanj, ki prenašajo vrednost in informacije med dvema računoma. Ethereum račun je sestavljen iz štirih delov: Naključno število, ki določa števec, ki ga je mogoče obdelati le enkrat na transakcijo Trenutno stanje Ethereuma na računu Koda pogodbe računa, če sploh obstaja Shranjevanje računa (privzeto prazno) Preprosto povedano, vsak Ethereum račun je sestavljen iz para javnih in zasebnih ključev. Javni ključ lahko razumemo kot naslov računa, do katerega lahko dostopa kateri koli drug račun Zasebni ključ lahko razumemo kot šifrirano geslo, ta par javnega in zasebnega ključa pa skupaj tvorita edinstveno identificiran Ethereum račun. Na primer, v prvem Ethereum računu eth.accounts[0], ki smo ga vzpostavili v prejšnjem razdelku, je naslov 0xbcf5b841303bc08026ce2d3b8f83498ffe42c12f javni ključ, šifrirano geslo pa zasebni ključ. Povečajte račune Za ustvarjanje novega računa lahko vnesemo ukaz personal.newAccount("123") (upoštevajte, da je 123 mogoče spremeniti v katerokoli drugo geslo)
Ko Ethereum zasebna veriga rudari, se izkopani eter položi v prvi Ethereum račun, torej eth.accounts[0], in eth.accounts[1] privzeto ne bo imel etra. Trenutno lahko uporabimo naslednji ukaz za preverjanje stanja Ethereuma v eth.accounts[0].
Kako pretvoriti Ethereum med dvema računoma Kot je bilo že omenjeno, je javni ključ (naslov) vsakega računa jedro vseh operacij Ethereum računa, vendar je niz naslovov predolg, zato uporabljamo acc0/acc1 za predstavljanje računov[0] in [1] ter nastavimo 0,01 ETH za prenos
Trenutno lahko uporabimo eth.sendTransaction za prenos 0,01 ETH iz acc0 v acc1.
Mehanizem zaščite Ethereuma, ki občasno samodejno zaklene račune, nato pa bo vsaka pretvorba ETH med računi zavrnjena, razen če je račun odklenjen. Trenutno moramo izvesti personal.unlockAccount(acc0) in vnesti geslo za odklep acc0.
Takrat ponovno izvedemo ukaz eth.sendTransaction({from: acc0, do: acc1, value: amount}), rezultat pa je naslednji:
Vidimo, da ima acc1 trenutno vrednost 1000000000000000000000000, namesto prejšnje 0. Ampak zakaj je vrednost tako velika, če očitno želimo dati kovance v vrednosti 0,01 etra? Pravzaprav je pravilno, da vnesemo le ukaz web3.fromWei(100000000000000000000, "ether"), da vemo.
Osnovna enota Etra
Najmanjša enota eterskega kovanca je Wei, ki je tudi privzeta enota ukazne vrstice, in nato ena enota na vsakih 1000, v tem vrstnem redu
kwei (1000 Wei) mwei (1000 KWei) Gwei (1000 MWEI) szabo (1000 gwei) Finney (1000 szabo) Ether (1000 Finney) Preprosto povedano, to je 1 ETH = 1000000000000000000000000 Wei (zato smo prejšnji zaustavitvi prenesli 0,01 ETH, vendar je bil rezultat zelo dolg) Kako preoblikovati med etherjem in wei
|