Я пытаюсь полностью понять концепции сети ethereum. Поэтому я хочу настроить простой веб-сайт, который может управлять кошельками ethereum. Я использую клиент geth со следующей конфигурацией:
geth --light --rpc --rpcapi personal,web3,net,eth --rpccorsdomain "*"
Я прочитал много документации, но до сих пор не все концепции мне понятны.
eth_gethBalance
метода rpc всегда возвращает 0, а etherscan.io показывает другую сумму.Вам не нужно запускать узел, чтобы «владеть» кошельком. Все, что вам нужно, это иметь закрытые ключи. Вы можете использовать закрытые ключи для получения адреса публичного кошелька.
Я не знаю, как это geth --light
работает, но «создание» учетной записи выполняется путем простого создания нового закрытого ключа и его сохранения где-нибудь. Этот ключ соответствует общедоступному адресу. Вам не нужно ничего делать, чтобы «создать» учетную запись на Etherscan. Как только кто-то отправит деньги на ваш публичный адрес, вы увидите, что этот адрес имеет баланс на Etherscan.
Если вы используете Geth, локальная учетная запись является представлением закрытого ключа в памяти. Разблокированная локальная учетная запись позволит Geth подписывать транзакции и отправлять эфир с этой учетной записи. Публичный адрес — это просто шестнадцатеричное представление любой учетной записи Ethereum.
Geth шифрует все локальные учетные записи текстовым паролем. Он может загружать закрытый ключ зашифрованной локальной учетной записи с диска, но не может ничего тратить, пока вы не скажете ему расшифровать закрытый ключ с помощью пароля. Как только Geth получит расшифрованный закрытый ключ в памяти, он сможет подписывать и отправлять транзакции из вашей локальной учетной записи.
Вы можете отправлять транзакции на любой публичный адрес в любое время. Вам не нужно разблокировать учетную запись для отправки на публичный адрес.