Как я могу использовать Интернет для выполнения транзакций, которые я делаю с консоли geth?

Я читал, что сообщения RPC из Интернета могут быть перенаправлены на консоль geth. Но у меня нет намека на Как ? Как я могу использовать rpc portдля выполнения транзакций через Интернет, которые я выполнял с помощью консоли geth.
Могу ли я каким-либо образом получить доступ к своей учетной записи и выполнять транзакции из веб-браузера? PS: я знаю, что с этим связаны проблемы безопасности, и использовать это небезопасно.

Ответы (1)

Я читал, что сообщения RPC из Интернета могут быть перенаправлены на консоль geth. Но у меня нет намека на Как?

geth по умолчанию прослушивает порт localhost 8545. Чтобы получить доступ к экземпляру geth , работающему на отдельной машине, вам необходимо запустить его со следующими включенными модулями RPC:

--rpcapi "admin,personal,db,eth,net,web3"
  • персональные и административные операции по управлению учетными записями (изменение учетных данных, разблокировка, создание и т. д.)
  • db обрабатывает локальную копию цепочки блоков
  • eth — это объект, используемый для управления операциями, связанными с транзакциями (совершение транзакций, получение квитанций, развертывание контрактов и т. д.).
  • net — модуль управления сетью (показывает количество подключенных пиров, позволяет отключить пира и т. д.)
  • а web3 — это js-фреймворк, используемый для связи с geth через объекты JSON, полученные клиентом.

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

Вы можете установить для порта RPC пользовательское значение:

--rpc --rpcport "8080"

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

--rpccorsdomain "*"

Могу ли я каким-либо образом получить доступ к своей учетной записи и выполнять транзакции из веб-браузера? PS: я знаю, что с этим связаны проблемы безопасности, и использовать это небезопасно.

Чтобы взаимодействовать с экземпляром geth на удаленной машине из браузера, вы можете использовать инфраструктуру web3 и указать ему сетевой адрес и порт , которые прослушивает geth :

if (typeof web3 !== 'undefined') {
  web3 = new Web3(web3.currentProvider);
} else {
  // set the provider you want from Web3.providers
  web3 = new Web3(new Web3.providers.HttpProvider("http://<remote_address>:<remote_port>"));
}
Порт по умолчанию — 8545, а не <s>8585</s>.
Спасибо за поддержку. Я установил, rpcportа также rpccprsdomainуже установил, но моя основная проблема заключается в доступе к моей учетной записи с удаленного компьютера через веб-браузер (без использования командной строки). Не могли бы вы уточнить вторую часть вашего ответа, например, где мне нужно использовать этот скрипт и какие шаги мне нужно выполнить для выполнения транзакций с использованием веб-браузера. Я получил доступ к своей учетной записи с помощью консоли geth и Mist, я нашел много руководств по этому поводу, но теперь я хочу сделать шаг вперед и использовать веб-интерфейс для выполнения транзакций, но я не получаю никаких руководств или объяснений по этому поводу. Любая помощь?