Поскольку MetaMask позволяет использовать ваш собственный «Web3 Provider», последние два имеют схожие функциональные возможности. Одним из важных отличий является то, что MetaMask будет обрабатывать учетные записи, а для «Web3 Provider» вам придется управлять ими из клиента.
Да, вы можете использовать Metamask в качестве внедренного провайдера web3 (внедренного через браузер), Metamask будет подключаться к любому настроенному вами узлу. А с другим вариантом (поставщик web3) вы можете напрямую подключиться к своему узлу либо Ganache, либо Geth, либо любому провайдеру web3 локально или удаленно.
Вам нужны 2 основных компонента для взаимодействия с сетью Ethereum:
Web3 Instance
Это инфраструктура javascript, которая выступает в качестве промежуточного программного обеспечения между вами и узлом Ethereum. Он преобразует команды JS в запросы JSON-RPC. web3.js и ether.js предоставляют экземпляры Web3, которые можно использовать либо в браузере, либо в консоли (например, Truffle).
Provider
Провайдер технически является узлом Ethereum. Вы можете запустить его на своем компьютере (например, Ganache, Geth, Parity) или получить его как услугу (например, Infura). Экземпляр Web3 получает конечную точку провайдера (IP/порт) в качестве параметра для отправки запросов JSON-RPC.В этом случае:
ВМ JavaScript :
Зараженный Web3 :
Провайдер Web3 :
Говард