¿Cómo pueden funcionar las dapps en los teléfonos inteligentes?

¿Cómo pueden las dapps en los navegadores web móviles interactuar con web3.js?

¿Hay alguna herramienta como Metamask o Mist en la hoja de ruta para dispositivos móviles?

Respuestas (6)

El estado es un buen comienzo para desarrollar una aplicación móvil Ethereum.

Status es una plataforma de mensajería de código abierto y un navegador móvil para interactuar con aplicaciones descentralizadas que se ejecutan en la red Ethereum.

Aplicaciones descentralizadas al alcance de su mano: con Status, su dispositivo móvil se convierte en un nodo de cliente ligero en la red Ethereum, lo que le permite acceder a todo el ecosistema de Ethereum desde cualquier lugar.

Mensajería privada más inteligente: Status es más que un mensajero. Envíe pagos y contratos inteligentes a amigos desde los chats y disfrute de mensajes cifrados de forma predeterminada, utilizando un protocolo de igual a igual que no depende de servidores centralizados.

La aplicación de estado (puerta de enlace de Ethereum Mobile) se encuentra actualmente en alfa y se puede probar en Android y iPhone.

A continuación encontrará un tutorial rápido sobre cómo implementar una dapp en Status. Imaginemos que tiene una dapp (ReactNative, Ionic, ...) ejecutándose en {DAPP_URL}

  1. Descarga Status en tu teléfono y configura una cuenta

  2. Instalar status-dev-clinpm i -g status-dev-cli

  3. En la consola de estado, ingrese /debug. Eso le dará la dirección IP de su dispositivo {DEVICE_IP}

  4. Desde su máquina, asegúrese de que puede ver su dispositivo y estado: status-dev-cli scan(el estado debe estar en ejecución)

  5. Último paso, consiste en registrar la dapp en estado:status-dev-cli add "{\"whisper-identity\": \"my-dapp\", \"dapp-url\": \"{DAPP_URL}\", \"name\": \"MyDAPP\"}" --ip {DEVICE_IP}

Ahora puede actualizar su aplicación de estado y verá aparecer MyDapp en la lista. El navegador iniciará su dapp y puede interactuar (web3) con la cadena de bloques de Ethereum y los contratos inteligentes.

De forma predeterminada, el estado se ejecuta en la red testnet. Puede cambiar a otro nodo (privado, testrpc o mainnet) con el siguiente comandostatus-dev-cli switch-node {NODE_URL} --ip {DEVICE_IP}

Documentación: Aquí

Algunos ejemplos: otros desarrolladores y yo hemos asistido recientemente al hackaton de Status. Esta publicación de blog (Anuncio de ganadores) ilustrará algunos de los proyectos desarrollados en un período de una semana.

Trust Wallet es una aplicación iOS de código abierto que proporciona una experiencia móvil para dApps. Está disponible tanto en iOS como en Android.

Como base, tiene una billetera para manejar la clave de forma segura localmente en el teléfono, ya que necesita tener una clave privada para comunicarse con una cadena de bloques.

Trust tiene una función de navegador que inyecta el proveedor web3 de JavaScript para manejar transacciones y mensajes de firma.

Para saber cómo se implementa esto, puede consultar el código fuente: https://github.com/TrustWallet/trust-wallet-ios

Recomendaría usar el cliente ligero Android y la API de iOS disponible en el proyecto go-ethereum. Como ethereum ahora es compatible con el cliente ligero, los desarrolladores de go-ethereum han creado una API para Android e iOS y se pueden compilar de forma cruzada usando make androido make iosen el código fuente de go-ethereum.

Si no desea compilar el código, incluso puede incluir el cliente go-ethereum como dependencia de maven.

repositories {
    mavenCentral()
}

dependencies {
    // All your previous dependencies
    compile 'org.ethereum:geth:1.5.2' // Change the version to the latest release
}

Si no desea incluir la dependencia, intente descargar el paquete (.aar ) e importarlo a su proyecto.

El procedimiento anterior lo ayudará a programar su aplicación completamente en Java, pero incluso ahora, si desea usar web3j, puede piratear la fuente go-ethereum para habilitar RPC en su nodo de Android e interactuar con eso usando JSON-API.

Si no desea solicitar a sus usuarios que descarguen navegadores dapp o una extensión de Chrome. Puedes probar este proyecto llamado Fortmatic que encontré recientemente. Sus usuarios podrán interactuar con su dapp a través de navegadores con los que ya están familiarizados en dispositivos móviles (Safari, Firefox y Chrome).

Acabo de ingresar al alfa y comencé a jugar con él, los documentos parecen bastante limpios y si su aplicación ya funciona con web3, debería poder hacerlo funcionar sin problemas.

Para tu información, para los demás, Fortmatic es custodial (conserva tus claves privadas)

El SDK de Tasit es un SDK de JavaScript de código abierto para crear dapps de Ethereum móviles nativos e independientes utilizando React Native.

Use el mismo web3js y puede usar infura como proveedor de Web3. El uso de react o ionic puede permitirle escribir aplicaciones móviles que interactúen con su contrato inteligente