для использования web3.js необходимо установить geth в вашу систему или он автоматически подключается к блокчейну geth или ethereum?
var web3 = новый Web3(новый Web3.providers.HttpProvider(' http://localhost:8545 '))
здесь мы что-то подключаем. В этой команде мы подключаемся к чему? мы подключаемся к публичной сети эфириума или к чему-то еще?
Нет, это не так. Вы можете протестировать web3, например, с помощью testrpc , который также работает на порту 8545, чтобы вы могли подключиться к нему таким же образом. Это делает тестирование намного быстрее, легче и дешевле (нет реальных денег на газ). Если вы хотите работать с какой-либо общедоступной цепочкой блоков (основной цепью или тестовой сетью), вы можете рассмотреть инфуру, но остерегайтесь централизации, которая вам может не понадобиться!
web3.js
не имеет прямого доступа к блокчейну, он всегда зависит от какого-либо клиента для взаимодействия с сетью Ethereum. geth
является одним из многих вариантов.
Подключение
При запуске web3.js есть несколько вариантов подключения:
web3
объект уже встроен и подключен! (Мист запускает клиент для вас под капотом)web3
объекта. Metamask выбирает, к какому клиенту подключиться.web3.setProvider()
Параметры клиента
geth
является одним из многих вариантов для местных клиентов. Некоторые другие — паритет и cpp-ethereum . Удаленно размещенные узлы, такие как Infura, предлагают доступ к конфиденциальности и контролю за определенную плату. Я не видел большого его использования, но EthereumJ также может представлять интерес. Получите дополнительную информацию и узнайте больше об эзотерических клиентах на ethdocs .
НЕТ, Web3
это соединитель между вашим приложением и клиентом Ethereum. Вы можете запустить ganache-cli
или geth
в качестве тестового клиента на локальном хосте, или вы можете подключить свое приложение к онлайн-узлу, например, infura
используя web3
.
В вашем примере кода он прослушивает локальную клиентскую ведьму, которая запускается на порту 8545
. Это может быть ganache
тестовая сеть или geth
клиент.