Предоставление Geth для мобильного приложения Hybrid

Я делаю гибридное мобильное приложение и планирую использовать web3.js для доступа к Geth.

Как лучше всего представить Geth гибридному мобильному приложению?

Я буду запускать Geth на Ubuntu 14.04 на Aws.

Ответы (1)

Вы не указали аппаратное обеспечение, операционную систему, сетевые возможности гибридного мобильного приложения, которое вы планируете разработать, но я подумал, что должен упомянуть, что клиент Parity Ethereum в настоящее время доступен только на Mac, Ubuntu и в виде Docker. изображение.

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

Если вы предоставите немного больше информации о предполагаемой целевой среде, ответы на сайте будут более целенаправленными.

Вы планируете запустить geth на сервере в Интернете или на своем мобильном телефоне? Под гибридом вы имеете в виду первое?


Обновите вашу дополнительную информацию, и я также просмотрел ваше предыдущее сообщение sendTransaction from iPhone app .

  • Главное, о чем я бы беспокоился, — это безопасность и аутентификация при обмене данными между вашим экземпляром Geth на AWS и вашим мобильным телефоном.
  • web3.js обычно общается с локальным клиентом Ethereum через http, используя объект XMLHttpRequest() lib/web3/httpprovider.js . Этот объект может обрабатывать HTTPS W3C XMLHttpRequest . Но вам, возможно, придется немного взломать код, так как вам придется работать над аутентификацией. Сертификаты на стороне клиента?
  • На стороне вашего сервера вы можете попробовать прокси-сервер, такой как nginx ( Настройка серверов HTTPS ) или даже Apache mod_proxy с SSL ( Как использовать HTTP-сервер Apache в качестве обратного прокси-сервера с использованием расширения mod_proxy ).
  • В качестве альтернативы вы можете попытаться создать туннель SSH между вашим мобильным телефоном и сервером, и это защитит проходящую информацию. Вот некоторые библиотеки, которые вы потенциально могли бы использовать (я не знаю, насколько они хороши):

  • Другой альтернативой является то, что вы можете просто использовать JSON-RPC для подключения к вашему экземпляру Geth на AWS, где работает прокси-сервер с HTTP и аутентификацией. Я использую следующую curlкоманду в своих сценариях, и curlее можно настроить с помощью аутентификации и HTTPS. Вместо этого вы можете использовать функции JavaScript (например, JQuery):

    curl -s -X POST --data '{"jsonrpc":"2.0", "method":"eth_getBalance", "params":["${account1}", "latest"], "id":1} http://192.168.4.120:8545 _

Я буду использовать Ubuntu 14.04 на Aws.