MetaMask: как я могу получить доступ к объекту web3 локально и использовать свой собственный узел?

Я новичок в Ethereum и искал способ запустить свое dApp в Chrome вместо Mist.

Я столкнулся с Metamask, который теоретически идеально подходит для моих нужд. Тем не менее, с базовой веб-точки зрения, Metamask является прокси-сервером для узла Ethereum и API-интерфейсов web3, а это означает, что все данные моего блокчейна dApp будут проходить через них.

Метамаск так работает? Если да, то как я могу использовать Chrome для разработки своего dApp или, скорее, как я могу получить локальный доступ к объекту web3? (у меня уже запущен узел json-rpc)

Я беспокоюсь здесь о безопасности и не полагаюсь на третьи стороны.

Ответы (2)

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

Если вы предпочитаете использовать свой локальный узел json-rpc, просто укажите MetaMask его адрес.

С точки зрения безопасности это позволяет вам запускать MetaMask так же децентрализовано, как Mist, указывая его на ваш локальный RPC. Это позволит вам разработать децентрализованное приложение, совместимое как с Mist, так и с Metamask, а ваши пользователи смогут определять свои собственные подключения к блокчейну в соответствии со своими потребностями.

Спасибо, приятно знать, что вы можете указать MetaMask на свой локальный узел json-rpc.

вы правы, metmask — это «прокси» или мост между вашим обычным браузером и сетью Ethereum. поэтому для запуска вашего Dapp вам нужно использовать, если вы предпочитаете использовать chrome.

Зачем нам это нужно? поскольку хром не знает, как запускать ваши Dapps специально для выполнения web3js для отправки транзакции или для связи с узлом Ethereum, он позволит вам запускать только внешний интерфейс (HTML/Css/javascript).

вы можете использовать Mist , специальный браузер для Dapps. или вы можете отправить команду напрямую через RPC на свой узел без использования браузера.

Касательно безопасности: безопасное подключение Geth RPC

Есть ли рекомендуемый / безопасный способ безопасно разблокировать учетную запись через интерфейс Web3 / HTML-страницу?

Если я правильно вас понял, невозможно использовать Web3 в Chrome без использования Metamask? Потому что это полноценный API, раскрывающий все методы web3?
В яблочко. Chrome не предназначен для связи с клиентами Ethereum.