Ethereum sistēmā stāvoklis sastāv no objektiem, ko sauc par "kontiem" (katrs konts sastāv no 20 baitu adreses) un stāvokļa pārejām, kas pārsūta vērtību un informāciju starp diviem kontiem. Ethereum konts sastāv no četrām daļām: Nejaušs skaitlis, kas nosaka skaitītāju, kuru var apstrādāt tikai vienu reizi vienā transakcijā Konta pašreizējais Ethereum atlikums Konta līguma kods, ja tāds ir Konta glabāšana (tukša pēc noklusējuma) Vienkārši sakot, katrs Ethereum konts sastāv no publisko un privāto atslēgu pāris. Publisko atslēgu var saprast kā konta adresi, kurai var piekļūt jebkurš cits konts Privāto atslēgu var saprast kā šifrētu paroli, un šis publisko un privāto atslēgu pāris kopā veido unikāli identificētu Ethereum kontu. Piemēram, pirmajā Ethereum kontā eth.accounts[0], ko izveidojām iepriekšējā sadaļā, adrese 0xbcf5b841303bc08026ce2d3b8f83498ffe42c12f ir publiskā atslēga, un šifrētā parole ir privātā atslēga. Palielināt kontus Mēs varam ievadīt komandu personal.newAccount("123"), lai izveidotu jaunu kontu (ņemiet vērā, ka 123 var mainīt uz jebkuru citu paroli)
Kad Ethereum privātā ķēde iegūst, iegūtais ēteris tiks noguldīts pirmajā Ethereum kontā, tas ir, eth.accounts[0], un eth.accounts[1] pēc noklusējuma nebūs ētera. Šobrīd mēs varam izmantot šo komandu, lai pārbaudītu Ethereum atlikumu eth.accounts[0].
Kā konvertēt Ethereum starp diviem kontiem Kā minēts iepriekš, katra konta publiskā atslēga (adrese) ir visu Ethereum kontu operāciju kodols, taču adreses virkne ir pārāk gara, tāpēc mēs izmantojam acc0/acc1, lai attēlotu kontus[0] un [1], un iestatām 0,01 ETH, kas jāpārskaita
Šobrīd mēs varam izmantot eth.sendTransaction, lai pārskaitītu 0,01 ETH no acc0 uz acc1.
Ethereum aizsardzības mehānisms, kas ik pa laikam automātiski bloķē kontus, un šajā brīdī jebkura ETH konvertēšana starp kontiem tiks noraidīta, ja vien konts netiks atbloķēts. Šajā laikā mums ir jāizpilda personal.unlockAccount(acc0) un jāievada parole, lai atbloķētu acc0.
Šobrīd mēs atkārtoti izpildām komandu eth.sendTransaction({from: acc0, to: acc1, value: amount}), un rezultāts ir šāds:
Mēs redzam, ka šobrīd acc1 vērtība ir 1000000000000000000000000000000000, nevis iepriekšējā 0. Bet kāpēc vērtība ir tik liela, ja mēs acīmredzami vēlamies dot 0,01 ētera monētas? Patiesībā tas ir pareizi, mums ir jāievada tikai komanda web3.fromWei(10000000000000000000000, "ēteris"), lai zinātu.
Ētera pamatvienība
Mazākā ētera monētas vienība ir Wei, kas ir arī komandrindas noklusējuma vienība, un pēc tam viena vienība uz katriem 1000 šādā secībā
kwei (1000 Wei) mwei (1000 KWei) Gwei (1000 mwei) Szabo (1000 gwei) Finnijs (1000 szabo) ēteris (1000 finnijs) Vienkārši sakot, tas ir 1 ETH = 10000000000000000000000 Wei (tāpēc iepriekšējā pārtraukumā mēs pārskaitījām 0.01 ETH, bet rezultāts bija ļoti garš) Kā konvertēt starp ēteri un wei
|