Можно ли быть частью сети Ethereum только в качестве клиента, не храня весь блокчейн внутри своего приложения?

Я хотел бы создать настольное приложение, которое может отправлять/получать транзакции в сети Ethereum. Но это будет только одна особенность приложения. Он будет иметь несколько других функций. Примером может служить браузер Brave, который будет использовать эфир для оплаты поставщиков контента, но в основном это настольное приложение.

Это возможно? Если да, то как это работает? Может ли настольное приложение присоединиться к Ethereum через вызовы API, не поддерживая полную копию блокчейна?

Ответы (2)

Я думаю, что лучше всего использовать Metamask с Electron .

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

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

А для создания основного настольного приложения вы можете использовать электрон, который позволяет создавать кроссплатформенные приложения в веб-среде с использованием HTML, CSS, JavaScript и т. д. Вы можете обратиться сюда .

Думайте об Electron как о Cordova для настольных компьютеров. Он позволяет создавать кроссплатформенные настольные приложения с использованием JavaScript, HTML и CSS. Там, где вам нужно использовать собственные возможности устройства, такие как файловая система, Bluetooth или USB, вы можете использовать пакеты узлов. Как вы, возможно, уже знаете, пакеты узлов могут вызывать собственный код. Это означает, что настольные приложения на основе электронных устройств могут делать все то же, что и нативные приложения.

Все, что вам нужно сделать, это объединить эти функции метамаски и электрона. Я думаю, что этот пост в блоге может быть полезен для вас в этом.

Если вы хотите быть партнером в сети Ethereum, вы, вероятно, ищете Легких клиентов . Попробуйте четность ( PIP ):

parity --light

Или Гет ( ЛЕС ):

geth --light

Это поддерживает только минимальное наложение заголовков блоков (размером в пару МБ) и запрашивает у других узлов в сети все, что не хранится локально через pipили les.