Exponiendo Geth a la aplicación móvil híbrida

Estoy creando una aplicación móvil híbrida y planeo usar web3.js para acceder a Geth.

¿Cuál es la mejor manera de exponer a Geth a la aplicación móvil híbrida?

Ejecutaré Geth en ubuntu 14.04 en Aws

Respuestas (1)

No ha especificado cuál es el hardware, el sistema operativo, las capacidades de red de la aplicación móvil híbrida que planea desarrollar, pero pensé que debería mencionar que actualmente hay un cliente Parity Ethereum solo disponible en Mac, Ubuntu y como Docker. imagen.

La hoja de ruta en su sitio web muestra que planean proporcionar un cliente ligero para un cliente de IoT de recursos ultramínimos, pero no hay una fecha límite.

Si proporciona un poco más de información sobre su entorno de destino previsto, las respuestas en el sitio deberían estar mejor dirigidas.

¿Está planeando ejecutar geth en un servidor en Internet o en su dispositivo móvil? ¿Por híbrido, te refieres al primero?


Actualice con su información adicional, y también eché un vistazo a su publicación anterior sendTransaction from iPhone app .

  • Lo principal que me preocuparía es la seguridad y la autenticación en las comunicaciones entre su instancia de Geth en AWS y su teléfono móvil.
  • web3.js generalmente se comunica con el cliente local de Ethereum a través de http usando el objeto XMLHttpRequest() lib/web3/httpprovider.js . Este objeto puede manejar HTTPS W3C XMLHttpRequest . Pero es posible que tenga que piratear el código, ya que tendrá que trabajar con alguna autenticación. ¿Certificados del lado del cliente?
  • En el lado del servidor, puede probar un proxy como nginx ( Configuración de servidores HTTPS ) o incluso Apache mod_proxy con SSL ( Cómo usar el servidor Apache HTTP como proxy inverso usando la extensión mod_proxy ).
  • Alternativamente, podría intentar crear un túnel SSH entre su dispositivo móvil y el servidor y esto protegería la información que pasa. Aquí hay algunas bibliotecas que podría usar (no sé qué tan buenas son):

  • Otra alternativa es que podría usar JSON-RPC para conectarse a su instancia de Geth en AWS ejecutando un proxy con HTTP y autenticación. Uso el siguiente curlcomando en mis scripts y curlse puede configurar con autenticación y HTTPS. En su lugar, podría usar funciones de JavaScript (por ejemplo, JQuery):

    curl -s -X POST --data '{"jsonrpc":"2.0", "método":"eth_getBalance", "parámetros":["${cuenta1}", "último"], "id":1} ' http://192.168.4.120:8545

Estaré ejecutando ubuntu 14.04 en Aws