Escribir una aplicación para Android

¿Cuál es la mejor manera para mí de escribir una nueva aplicación de billetera Bitcoin? ¿Es una buena táctica aprovechar API como blockchain.info o coinbase? Entonces, ¿estaría bien distribuir la aplicación (¿dichos servicios son de código abierto?). ¿Hay alternativas? ¿Puedo ejecutar mi propio servidor de Bitcoin y escribir mi propia API para acompañarlo? ¿Cuáles serían los pasos involucrados en eso? ¿Su apostador promedio confiaría en una billetera (¡legítima!) que creé o se sentiría más seguro usando una aplicación que se basa en un servicio de renombre?

Respuestas (3)

Una billetera alojada, que involucrará una billetera que se ejecuta en un servidor que tiene todas las billeteras, es una mala idea en general. Las personas no se sentirán seguras ya que tienen que confiar sus monedas a un tercero y tendrías que implementar un sistema backend completo.

Aprovechar Coinbase o Blockchain es una mala idea, los propios servicios pueden enviarle un cese y desistimiento, ya que puede enviar muchas solicitudes y terminar inundando sus servidores, también estaría copiando la funcionalidad de sus aplicaciones.

Puede escribir un nodo completo, pero es posible que un teléfono móvil no tenga suficiente RAM y almacenamiento para hacerlo de manera eficiente y rápida.

El único enfoque bueno, viable y realista es crear un cliente SPV como Electrum para la plataforma móvil. Los clientes de SPV no son nodos completos, depositan cierta confianza en terceros, pero la cantidad de confianza es increíblemente pequeña y siempre se verifica dos veces. Su principal método de trabajo es simplemente solicitar datos de los servidores, etc. Puede usar el protocolo Electrum en lugar de implementar el suyo también, no necesitará alojar servidores, ya que la comunidad ejecuta los nodos Electrum.

"Puede escribir un nodo completo, pero es posible que un teléfono móvil no tenga suficiente RAM y almacenamiento para hacerlo de manera eficiente y rápida". ¿No puedo escribir un nodo completo en mi computadora y consultarlo con un dispositivo móvil? ¿Se ha mencionado que la API JSON es una opción?
@JoeAustin Eso será lo mismo que la primera o la cuarta opción, según lo que desee delegar en su computadora principal. El problema es que tener la cadena de bloques completa no es una opción para dispositivos móviles, por lo que necesita alguna forma de confiar en alguien y delegar el proceso de obtener solo las transacciones que necesita y estar seguro de que son reales.
Mi teléfono es más potente que mi PC...

Puede bifurcar Bitcoin Wallet, una implementación SPV del protocolo Bitcoin:

https://github.com/schildbach/billetera-bitcoin

Tiene licencia GPL.

Mira esto:

www.boetchain.com o https://play.google.com/store/apps/details?id=com.boetchain.bitcoinnode

Todavía es muy temprano, así que por ahora, solo está disponible mantener conexiones con pares, pero es un comienzo.

Descargo de responsabilidad: soy un desarrollador en el proyecto