Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 11358|Odgovoriti: 0

Računi in osnovne enote Ethereuma

[Kopiraj povezavo]
Objavljeno na 24. 02. 2018 11:18:33 | | |
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


Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com