На моем сайте я вызываю метод контракта, который возвращает мне значение, используя web3, а затем показываю значение на экране. Очевидно, что если вы зайдете на мой сайт, вы должны установить узел Ethereum или мост к узлу, такому как MetaMask, чтобы получить доступ к вызову контракта и увидеть значение. Но можно ли это увидеть, ничего не устанавливая, а только кодируя JavaScript-мост к узлу? Возможно? Это безопасно?
Большое спасибо!
Возможно?
web3 написан на javascript, вы можете написать свой собственный код javascript, реализующий протокол JSON-RPC.
Metamask использует web3, имеет собственный HD-кошелек и может подключаться к локальному узлу Ethereum, а также к узлам Infura ethereum.
Если вы не хотите ничего устанавливать, вы можете использовать узлы infura ethereum, реализовать методы протокола JSON-RPC в javascript и иметь собственный HD-кошелек (вы также можете реализовать обычный кошелек).
Это безопасно?
Безопасность зависит от вас как от разработчика приложений, Metamask и Web3 существуют уже довольно давно, поэтому, вероятно, они более надежны и безопасны.
если вы заходите на мой сайт, вы должны установить узел ethereum или мост к узлу, такому как MetaMask, чтобы получить доступ к вызову контракта и увидеть значение
Я не уверен, что вы имеете в виду под «моим сайтом», но это не веб-сайт в прямом смысле слова «сервер-клиент».
Все это должны делать ВЫ, а ваш сервер должен просто получать запросы (обычно в форме HTTP) и передавать ответы (обычно в форме HTTP).
При каждом HTTP-запросе от клиента сервер должен взаимодействовать с узлом через Web3, чтобы получить необходимую информацию из цепочки блоков и отправить ее в HTTP-ответе клиенту.