Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 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, до: acc1, value: amount}), и результат выглядит следующим образом:


Мы видим, что на данный момент acc1 имеет значение 1000000000000000000000000000000000 вместо прежнего 0. Но почему стоимость такая высока, если мы явно хотим дать 0,01 эфирных монет? На самом деле, это верно, нам достаточно ввести команду web3.fromWei(10000000000000000000, «эфир»), чтобы узнать.

Базовая единица эфира
Самая маленькая единица эфирной монеты — Вэй, которая также является стандартной единицей командной строки, а затем одна единица на каждые 1000, в таком порядке

квэй (1000 Вэй)
mwei (1000 кВт)
Гвэй (1000 мвей)
Сабо (1000 гвей)
Финни (1000 Сабо)
Эфир (1000 Финни)

Проще говоря, это 1 ETH = 1000000000000000000000 Вэй (поэтому мы перевели 0,01 ETH в предыдущем остановке, но результат был очень длинным)
Как преобразовать эфир в вэй


Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com