Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 11358|Отговор: 0

Сметки и базови единици на Ethereum

[Копирай линк]
Публикувано в 24.02.2018 г. 11:18:33 ч. | | |
В системата на Ethereum състоянието се състои от обекти, наречени "сметки" (всяка сметка се състои от 20-байтов адрес) и преходи на състояния, които прехвърлят стойност и информация между два акаунта.
Ethereum акаунтът се състои от четири части:
Случайно число, което определя брояч, който може да се обработи само веднъж на транзакция
Текущият баланс на сметката в Ethereum
Кодът на договора на сметката, ако има такъв
Съхранение на акаунта (празно по подразбиране)
Просто казано, всеки Ethereum акаунт се състои от чифт публичен и частен ключ.
Публичният ключ може да се разбира като адрес на акаунта, който може да бъде достъпен от всеки друг акаунт
Частният ключ може да се разбира като криптирана парола, а тази двойка публичен и частен ключ заедно образува уникално идентифициран Ethereum акаунт.
Например, в първия Ethereum акаунт eth.accounts[0], който установихме в предишната секция, адресът 0xbcf5b841303bc08026ce2d3b8f83498ffe42c12f е публичният ключ, а криптираната парола е частният ключ.
Увеличаване на сметките
Можем да въведем командата personal.newAccount("123"), за да създадем нов акаунт (имайте предвид, че 123 може да се смени с всяка друга парола)

Когато частната верига на Ethereum копае, добитият етер ще бъде депозиран в първия Ethereum акаунт, тоест eth.accounts[0], а eth.accounts[1] няма да имат етер по подразбиране. В момента можем да използваме следната команда, за да проверим баланса на Ethereum в eth.accounts[0].


Как да конвертирате Ethereum между два акаунта
Както беше споменато по-рано, публичният ключ (адрес) на всеки акаунт е ядрото на всички операции с Ethereum акаунта, но адресният низ е твърде дълъг, затова използваме acc0/acc1, за да представим сметки[0] и [1] съответно, и задаваме 0.01 ETH за прехвърляне


В момента можем да използваме eth.sendTransaction, за да прехвърлим 0.01 ETH от acc0 към acc1.



Механизъм за защита на Ethereum, който автоматично заключва акаунти от време на време, след което всяко преобразуване на ETH между сметките ще бъде отхвърлено, освен ако акаунтът не бъде отключен.
В момента трябва да изпълним personal.unlockAccount(acc0) и да въведем паролата, за да отключим acc0.


В този момент изпълняваме отново командата eth.sendTransaction({from: acc0, to: acc1, value: amount}), и резултатът е следният:


Виждаме, че към момента acc1 има стойност от 10000000000000000000000000000000, вместо предишната 0. Но защо стойността е толкова голяма, когато очевидно искаме да дадем 0.01 етерни монети? Всъщност е вярно, трябва само да въведем командата web3.fromWei(1000000000000000000000000, "ether"), за да знаем.

Основната единица на Етер
Най-малката единица етерна монета е Уей, което е и стандартната единица на командния ред, а след това една единица за всеки 1000, в този ред

куей (1000 Уей)
mwei (1000 KWei)
Гуей (1000 MWEI)
Сабо (1000 gwei)
Фини (1000 Сабо)
Етер (1000 Фини)

Просто казано, това е 1 ETH = 10000000000000000000000 Wei (затова прехвърлихме 0.01 ETH при предишното спиране, но резултатът беше много дълъг)
Как да се преобразува между етер и вей


Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com