особенности светового режима geth

Я пытаюсь полностью понять концепции сети ethereum. Поэтому я хочу настроить простой веб-сайт, который может управлять кошельками ethereum. Я использую клиент geth со следующей конфигурацией:

geth --light --rpc --rpcapi personal,web3,net,eth --rpccorsdomain "*"

Я прочитал много документации, но до сих пор не все концепции мне понятны.

  1. Нужен ли мне узел для создания кошелька для пользователя и управления приватными ключами?
  2. Как работает режим geth --light? Когда я создаю новую учетную запись, как я узнаю, что учетная запись создана в глобальной сети ethereum? etherscan.io показывает количество 0, но может быть это поведение по умолчанию для несуществующего номера адреса? Также для существующих адресов при использовании eth_gethBalanceметода rpc всегда возвращает 0, а etherscan.io показывает другую сумму.
  3. В чем разница между локальной учетной записью и публичным адресом?
  4. Что на самом деле делает «разблокировка» учетной записи? Могу ли я отправлять транзакции на незаблокированный счет?

Ответы (1)

Вам не нужно запускать узел, чтобы «владеть» кошельком. Все, что вам нужно, это иметь закрытые ключи. Вы можете использовать закрытые ключи для получения адреса публичного кошелька.

Я не знаю, как это geth --lightработает, но «создание» учетной записи выполняется путем простого создания нового закрытого ключа и его сохранения где-нибудь. Этот ключ соответствует общедоступному адресу. Вам не нужно ничего делать, чтобы «создать» учетную запись на Etherscan. Как только кто-то отправит деньги на ваш публичный адрес, вы увидите, что этот адрес имеет баланс на Etherscan.

Если вы используете Geth, локальная учетная запись является представлением закрытого ключа в памяти. Разблокированная локальная учетная запись позволит Geth подписывать транзакции и отправлять эфир с этой учетной записи. Публичный адрес — это просто шестнадцатеричное представление любой учетной записи Ethereum.

Geth шифрует все локальные учетные записи текстовым паролем. Он может загружать закрытый ключ зашифрованной локальной учетной записи с диска, но не может ничего тратить, пока вы не скажете ему расшифровать закрытый ключ с помощью пароля. Как только Geth получит расшифрованный закрытый ключ в памяти, он сможет подписывать и отправлять транзакции из вашей локальной учетной записи.

Вы можете отправлять транзакции на любой публичный адрес в любое время. Вам не нужно разблокировать учетную запись для отправки на публичный адрес.