Как подключить web3js к основной или тестовой сети?

Это может быть очень простой вопрос. Но вот чего я хочу добиться:

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

web3.setProvider(new web3.providers.HttpProvider('http://localhost:8545'));

Но я хочу подключить его к тестовой сети или основной сети. Возможно ли это сделать без фактического размещения реального узла (тестового или основного)?

И если единственный способ сделать это — запустить настоящий узел на локальном компьютере, то как лучше всего подключиться к нему с помощью web3? Я где-то читал, что RPC не так безопасен.

Пожалуйста, помогите мне с этими нубскими вопросами.

Заранее спасибо!

Ответы (1)

web3js подключится к вашему локальному или удаленному узлу ethereum (это очевидно, поскольку вам нужна ваша учетная запись для отправки транзакций). Итак, чтобы использовать основную сеть или тестовую сеть, настройте свой клиент ethereum, например, geth --testnet.

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

прочитайте: https://blog.ethereum.org/2015/08/29/security-alert-insecurely-configured-geth-can-make-funds-remotely-accessible/

При настройке Эфириума с помощью geth --testnetзагрузки полной цепочки блоков на локальную машину?
да, не беспокойтесь о размере, потому что он только что запустился и обновил клиент.