Существуют ли общедоступные/бесплатные узлы для подключения внешнего интерфейса Dapp?

У меня есть небольшое Dapp, написанное на Meteor (только для клиента), которое считывает некоторую информацию о контракте и учетной записи из блокчейна. Я могу бесплатно развернуть свой интерфейсный код на сайте meteor.com (или в других местах), но мне все равно нужен узел для подключения.

Нужно ли размещать собственный узел? Если да, то какие рекомендации? Сейчас я использую VPS Digital Ocean за 5 долларов, и он очень, очень медленный.

Если нет, есть ли бесплатные/общедоступные варианты?

Ответы (3)

Вы можете использовать Infura как узел «только для чтения/только для подписанных транзакций» .

Использование API бесплатное: https://infura.io

Вы можете порекомендовать своим пользователям использовать расширение браузера Metamask , чтобы иметь возможность подписывать транзакции в вашем приложении.

Хотя теоретически это может ответить на вопрос, было бы предпочтительнее включить сюда основные части ответа и предоставить ссылку для справки.
@digitaldonkey Что делает его узлом только для чтения? Подобные методы eth_sendRawTransactionтакже позволяют нам записывать новые данные, верно?
@Джефф Ты прав. Но вам понадобится средство подписи транзакций (например, Metamask.io), чтобы подписывать транзакции на стороне внешнего интерфейса, чтобы «записывать» в блокчейн. Infura не имеет eth_coinbase, поэтому вы не можете использовать его для «записи» неподписанных данных.
@digitaldonkey Хороший вопрос. Может быть, нам следует назвать его только подписанным узлом? :)
Нубский вопрос от кого-то, кто изо всех сил пытается получить все это, но если я разрабатываю нативное приложение, закрытый ключ может быть частью нативного приложения и подписи, сгенерированной приложением, верно? Я имею в виду, что в этом случае мне не понадобится что-то вроде метамаски, верно?
@Sentinel Да, некоторые приложения управляют ключом за вас.
Использование инфуры решило мою проблему. Они предоставляют узел Ethereum, к которому можно получить доступ из общедоступного Интернета с помощью стандартного RPC Ethereum.

Если вы развертываете масштабируемое приложение, вам, вероятно, не нужен простой узел. Вам нужен полноценный и производительный веб-API . Есть несколько доступных: я лично использовал etherscan.io и был вполне доволен им.

Если это просто тестовый проект, раскручивание собственной ноды не так уж и плохо. Но если вы используете какие-либо фактические функции узла, такие как учетные записи, вы не можете использовать чужие файлы . И если вы не... веб-API полностью.

Однако «прокси» API etherscan несовместим с JSON-RPC, поэтому вы не можете указать на него web3.js.
Верно, это мой второй пункт, выделенный жирным шрифтом.
Подобные вещи смущают меня в отношении Ethereum — я думал, что все дело в децентрализации, но кажется, что если вы хотите разработать распределенное приложение, вам все равно нужно перейти в Azure или что-то еще, чтобы разместить узел. Я чувствую, что что-то упускаю.
@Sentinel вам не нужно проходить через Azure или AWS для размещения узла, вы всегда можете раскрутить свой собственный узел на своем собственном металле, это просто заноза в заднице.

Насколько я знаю, Mist предназначен для предоставления вам локального доступа к узлу (официальный кошелек Ethereum является полным узлом), но я не знаю, работает ли он еще.

Альтернативой может быть, например, MetaMask (в альфа-версии).

Да, у меня нет проблем с запуском узла локально, но я не могу/не хочу оставлять свой персональный компьютер работающим 24 часа в сутки 7 дней в неделю для питания Dapp. Я подписался на обновления MetaMask.
Примечание. MetaMask — это оболочка web3js, подключающаяся к Infura.