Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 11358|Odpověď: 0

Účty a základní jednotky Etherea

[Kopírovat odkaz]
Zveřejněno 24.02.2018 11:18:33 | | |
V systému Ethereum se stav skládá z objektů nazývaných "účty" (každý účet má adresu o 20 bajtech) a přechodů stavů, které přenášejí hodnotu a informace mezi dvěma účty.
Účet na Ethereu se skládá ze čtyř částí:
Náhodné číslo, které určuje čítač, jež lze zpracovat pouze jednou za transakci
Aktuální Ethereum zůstatek účtu
Kód smlouvy účtu, pokud nějaký je
Úložiště účtu (výchozí prázdno)
Jednoduše řečeno, každý účet Ethereum se skládá z dvojice veřejných a soukromých klíčů.
Veřejný klíč lze chápat jako adresu účtu, ke které může přistupovat jakýkoli jiný účet
Soukromý klíč lze chápat jako šifrované heslo a tento pár veřejných a soukromých klíčů dohromady tvoří jedinečně identifikovaný účet Ethereum.
Například v prvním účtu Ethereum eth.accounts[0], který jsme stanovili v předchozí části, je adresa 0xbcf5b841303bc08026ce2d3b8f83498ffe42c12f veřejný klíč a zašifrované heslo je soukromý klíč.
Zvyšte účty
Můžeme zadat příkaz personal.newAccount("123") pro vytvoření nového účtu (poznámka: 123 lze změnit na jakékoli jiné heslo)

Když těží privátní řetězec Etherea, vytěžený ether je uložen do prvního účtu Etherea, tedy eth.accounts[0], a eth.accounts[1] nebude mít ether automaticky. V tuto chvíli můžeme použít následující příkaz ke kontrole zůstatku Etherea v eth.accounts[0].


Jak převést Ethereum mezi dvěma účty
Jak již bylo zmíněno, veřejný klíč (adresa) každého účtu je jádrem všech operací Ethereum účtu, ale řetězec adres je příliš dlouhý, proto používáme acc0/acc1 pro reprezentaci účtů[0] a [1] a nastavujeme 0,01 ETH pro převod


V tuto chvíli můžeme použít eth.sendTransaction k převodu 0,01 ETH z acc0 na acc1.



Mechanismus ochrany Etherea, který automaticky občas zamyká účty, a poté bude jakákoli konverze ETH mezi účty zamítnuta, pokud není účet odemčen.
V tuto chvíli musíme spustit personal.unlockAccount(acc0) a zadat heslo k odemčení acc0.


V tuto chvíli znovu vykonáme příkaz eth.sendTransaction({from: acc0, do: acc1, value: amount}) a výsledek je následující:


Vidíme, že v tuto chvíli má acc1 hodnotu 100000000000000000000000000000 místo předchozí 0. Ale proč je hodnota tak velká, když samozřejmě chceme dát mince 0,01 etheru? Ve skutečnosti je to správně, stačí zadat příkaz web3.fromWei(100000000000000000000, "ether"), abychom to věděli.

Základní jednotka Etheru
Nejmenší jednotkou etherové mince je Wei, což je také výchozí jednotka příkazového řádku, a pak jedna jednotka na každých 1000, v tomto pořadí

kwei (1000 Wei)
mwei (1000 KWei)
Gwei (1000 MWEI)
Szabo (1000 gwei)
Finney (1000 szabo)
Ether (1000 Finney)

Jednoduše řečeno, je to 1 ETH = 10000000000000000000000 Wei (proto jsme při předchozím zastavení převedli 0,01 ETH, ale výsledek byl velmi dlouhý)
Jak převést mezi etherem a wei


Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com