["0x4f744742ac711fd111c7a983176db1d48d29f413", "0xf212d0180b331a88bd3cafbd77bbd0d56398ae00", "0x346cc69a63f9b84c45f17e337574c0150ab6bc03", "0xae7bb3649a5c597d44f812b4a636f3cc21ee98e1"]
Параметры команды geth account
Запуская команду geth account с параметрами в консоли ОС, вы можете полностью управлять аккаунтами. Это самый безопасный способ, так как в процессе управления пользователями вы не обращаетесь ни к каким фреймворкам, а работаете с Geth напрямую.
Команде geth account можно передавать параметры, перечисленные в табл. 4.1.
Табл. 4.1. Параметры команды geth account
Хорошее описание управления аккаунтами с примерами можно найти здесь: https://github.com/ethereum/go-ethereum/wiki/Managing-your-accounts.
Пароли аккаунтов
Обращаем ваше внимание, что пароли аккаунтов невозможно восстановить. Если вы создаете узел для реального проекта или собираетесь использовать аккаунт для хранения криптовалютных средств, обращайтесь с паролем очень осторожно.
Лучше всего запомнить пароль или записать его на обычной бумаге и хранить в безопасном месте. Доступ к вашему аккаунту обеспечивается приватным ключом и паролем.
Приватный ключ хранится на сервере узла и может быть похищен, например, с использованием какой-нибудь уязвимости в ОС или в ПО, установленном на сервере. Но чтобы использовать похищенный ключ, злоумышленнику потребуется еще и пароль. Мы не рекомендуем хранить пароль в компьютере (на сервере, ноутбуке и любом другом), так как он может быть похищен вместе с ключом.
Также учтите, что вредоносные программы могут перехватить управление клавиатурой, а также получить доступ к буферу обмена данных Clipboard. В этом случае они смогут похитить пароль в процессе его ввода с клавиатурой. Используйте антивирусные программы для защиты от вирусов и вредоносных программ различных типов.
Если злоумышленник сможет похитить приватный ключ и пароль, он получит полный доступ к вашему аккаунту и сможет, например, перевести все имеющиеся там криптовалютные средства на свой аккаунт.
Криптовалюта в Ethereum
Как мы уже говорили, для того чтобы владелец аккаунта мог проводить транзакции, публиковать и запускать смарт-контракты, на аккаунте должны быть средства. В тестовой сети, которую мы создали на втором уроке, эти средства можно получить при помощи майнинга. Если вы создаете тестовую сеть с помощью Geth, передавая ей параметр –dev, уже будет создан аккаунт, имеющий на балансе значительное количество криптовалюты.
Далее вы можете создавать новые аккаунты и переводить на них средства с тех аккаунтов тестовой сети, где уже имеются монеты.
Однако в основной сети Ethereum майнинг – дорогое и долгое занятие. Есть другая возможность, а именно: приобретение криптовалютных средств у владельцев других аккаунтов на биржах и обменниках. При этом владелец аккаунта может перевести средства на ваш аккаунт. Вы должны будете сообщить адрес вашего аккаунта, и если вы ошибетесь, то не будет никакой возможности вернуть ваши средства.
На этом уроке мы будем выполнять операцию перевода средств (разумеется, тестовых) в нашей приватной сети.
Денежные единицы Ethereum
Внутренняя валюта сети Ethereum называется Ether, или эфир. Когда владелец аккаунта выполняет транзакции, валюта, которая имеется на счету аккаунта, тратится.
Помимо Ether, существуют более крупные и более мелкие единицы криптовалюты Ethereum (аналогично тому, как в фиатных деньгах существуют рубли и копейки, доллары и центы).
Самая мелкая единица – это Wei. В одном эфире (т.е. в одном Ether) содержится целых 1 000 000 000 000 000 000 единиц Wei.
Как вы увидите далее, единица Wei удобнее, чем Ether, когда речь идет об оплате транзакций, не отнимающих много ресурсов.
В таблице 4.2. мы привели полный список денежных единиц Ethereum и их ценность в единицах Wei.
Таблица 4.2. Денежные единицы Ethereum
В интернете можно найти сайты с конвертами криптовалют Ethereum, вот один из них:Здесь же показывается текущий курс Ether по отношению к доллару и евро.
Определяем текущий баланс наших аккаунтов
Выше мы добавили в нашу приватную сеть несколько аккаунтов. Полный список аккаунтов всегда можно посмотреть в консоли Geth при помощи команды web3.eth.accounts.
С помощью функции web3.eth.getBalance мы можем посмотреть баланс аккаунта в единицах Wei. Адрес аккаунта нужно передать функции в качестве параметра:
> web3.eth.getBalance("0x4f744742ac711fd111c7a983176db1d48d29f413")
2.3085e+22