Hoy estoy evaluando IOTA, un token que usa una tangle en vez de una blockchain. Se supone que IOTA existe para ser usada en dispositivos pequeños en el Internet de las cosas. Les mostraré como comprar, almacenar, enviar y vender.
TL;DR: IOTA no puede ser usada para dispositivos en el Internet de las cosas. Ni para nada.
La última vez que probé IOTA fue en noviembre de 2016. En ese entonces estaba investigando sobre IOTA para Kevin, mi compañero de trabajo en aquel tiempo.
Kevin dirige un fondo estos días. Como todo el mundo.
Recuerdo haber tenido que pre-compilar binarios y no poder enviar una transacción. Hoy le estoy dando otra oportunidad a IOTA.
IOTA fue anunciada por primera vez en un típico hilo de anuncios en Bitcointalk (ANN) en octubre de 2015 con un white paper titulado “The tangle”. La moneda original se llamaba DagCoin.
En lugar de la blockchain global, está DAG (= grafo acíclico dirigido) al que llamamos tangle.
Grafo es jerga matemática para “círculos conectados con líneas”. Acíclico significa que no hay bucles. La blockchain de Bitcoin es un DAG. Una transacción no refiere de vuelta a sí misma ni directa ni indirectamente.
Al momento en que escribo esto IOTA tiene una capitalización de mercado de 6,6 mil millones de dólares.
Puedes saltarte al final de esta reseña haciendo una búsqueda en esta página con la palabra conclusión.
Metas de la reseña
- Compilar y correr IOTA en un servidor a partir del código fuente
- Sincronizar la blockchain de IOTA (tangle)
- Comprar IOTA y enviarlos a mi billetera
- Enviar IOTA a una billetera móvil
El sitio web de IOTA
Todo lo que sé sobre el Internet-de-las-Cosas (IoT) lo aprendí de Internet of Shit en Twitter.
El sitio web de IOTA promete que IOTA hará de cada recurso tecnológico un potencial servicio. No estoy seguro de qué significa eso.
Compilar y correr IOTA a partir del código fuente
La organización de IOTA en Github tiene unos cuantos proyectos distintos relacionados con IOTA. Cuando corrí IOTA en 2016 sólo había un cliente Java. Hoy veo clientes escritos en una variedad de lenguajes de programación desde Javascript a Rust. No estoy seguro de cuál usar así que regresaré a la página principal del sitio web.
Hago click en GUI bajo “Get Started” (Iniciar) lo cual me lleva a la documentación de IOTA.

Todas las instrucciones en el README sugieren que descargue y corra el programa pre-compilado. Un cliente blockchain tiene que ser de código abierto para que los usuarios puedan predecir su comportamiento. Intentaré compilar el GUI de Linux desde la fuente.
El enlace de descarga lleva a la etiqueta de lanzamiento de la v2.5.6 del proyecto iotaledger/wallet. Revisaré el README en busca de instrucciones.
Electron es un proyecto creado por Github que le permite a los programadores crear aplicaciones de escritorio utilizando las mismas tecnologías que usan para hacer sitios web. Esto significa que necesito correr IOTA en un escritorio Linux con una interfaz gráfica.
Hace tiempo que no corro la instalación de un escritorio de Ubuntu así que seguiré una guía que encontré.
AWS significa Servicios Web de Amazon. EC2 significa Elastic Compute Cloud (Nota del traductor: EC2 permite a los usuarios alquilar computadores virtuales en los cuales poder ejecutar sus propias aplicaciones). De verdad les gustan los acrónimos.
Arranco una máquina Ubuntu 16.04 en el AWS.
A pesar de que IOTA es para dispositivos más pequeños con IoT puede que necesite una máquina más poderosa para compilar a partir del código fuente. Noto que la mayor parte del código es Java así que probablemente me haga falta bastante RAM.
Una máquina con 4 núcleos de CPU y 16 GB de RAM deberían servir.
La máquina está corriendo. Me voy a conectar a ella y seguiré la guía para instalar la interfaz gráfica.

En favor de la brevedad, he dejado por fuera los pasos para instalar la interfaz gráfica de Ubuntu.
Ahora tengo Linux corriendo una interfaz gráfica. Me devuelvo a las instrucciones de instalación de la billetera de IOTA.
No puedo transferir el portapapeles de mi laptop al escritorio de Ubuntu para pegar los comandos. Seguiré usando SSH hasta que tenga usar la interfaz gráfica.
Primero, necesito instalar Node.js.
Luego necesito Electron y Bower. Bower es un gestor de paquetes.


Nunca antes he instalado Electron Builder y voy a tener que leer sus instrucciones.
El readme de electron-builder recomienda usar yarn en lugar de npm para la instalación. yarn es una alternativa a npm creada por Facebook.
Al menos puedo instalar yarn con npm. ¡Inception!
Y luego electron-builder.
No entiendo por qué las instrucciones dicen que instale Docker. Me voy a esperar un poco con eso. Docker te permite correr programar en aislamiento de forma que cualquier cambio que le hagan a tu máquina desaparezca cuando detengas el programa.
Descargo el código fuente de la billetera de IOTA y me paso a la versión v2.5.6 del código.
Las instrucciones me dicen que instale algo llamado IRI.
Busco qué es IRI.
IRI es un acrónimo para Implementación de Referencia de IOTA. Está escrita en Java y fue puesta por primera vez en Github en octubre de 2016:
Han habido más de 1300 commits (cambios de código) a la IRI desde entonces. La actividad reciente es bastante modesta.
La mayor parte del trabajo es de un usuario llamado paulhandy y el pico de actividad en el proyecto fue en abril de 2017. Estoy tratando de averiguar si ha habido una ICO.
Según sus posts en Bitcointalk el equipo de IOTA es una compañía noruega y recaudó fondos con algo llamado JINN. Nunca he oído hablar de JINN.
Necesito instalar Java 8 y Maven para compilar IRI.
No he instalado Maven para Linux antes y voy a necesitar encontrar algún tipo de instrucciones. Maven es un programa que construye otros programas.
Ya he instalado Maven y puedo compilar IRI.
Ahora tengo el archivo iri.jar que requiere la billetera de IOTA y puedo volver a la billetera.
E instalar las dependencias de la billetera:
Me voy a pasar a la interfaz gráfica nuevamente para iniciar la billetera.
Y luego iniciaré la billetera desde la terminal.
¡OBJETIVO ALCANZADO!
Compilar y correr IOTA en un servidor a partir del código fuente
Por supuesto voy a correr un nodo completo.
Intenté hacer click en Inicio (Start), pero me sale el mensaje de error de que primero necesito vecinos (neighbors).
Voy a necesitar algunos pares a quienes conectarme. Estos son llamados vecinos. La documentación dice que encuentre vecinos en su chat de Slack.
Para este fin le asigné un IP estático a mi servidor, abrí el puerto 14265 desde Internet, y dirigí iota.shitcoin.com a esa dirección de IP.
Ahora entraré en su Slack y le pediré a quienes están en el canal #nodesharing que sean mis pares mutuos en udp://iota.shitcoin.com:14265.

Ahora solo necesito algunos pares…
Ya me aburrí de esperar. A juzgar por la cantidad de actividad en el canal esto va a tomar un buen tiempo. Simplemente voy a enviarle mensajes al azar a quienes aparezcan como conectados.



Noté un error en mis reglas de firewall. Voy a abrir el puerto UDP correcto.
Ingreso mi primer vecino y presiono Inicio.
Al menos estoy haciendo amigos.
Parece que me equivoqué con los puertos. 14265 es el puerto que se utiliza para controlar el nodo, no la red de par a par.
Reviso la cónsola para ver si estoy conectado a algún par.
¡Parece que algo está pasando!
Es hora de configurar una billetera. El campo de inicio contiene la semilla (seed) de la billetera. Hago click en el ícono de ayuda.
Los requerimientos de la semilla son particularmente específicos. Solo caracteres en mayúscula y el número 9. Invento una al azar.
Y presiono Login.
Parece que necesito estar sincronizado con la red/tangle antes de iniciar sesión en la billetera.
Pregunto en el chat cuánto tarda sincronizar la tangle de IOTA.
Nadie tiene una buena respuesta. Solo me toca esperar. Lamentablemente se me acabó el tiempo y tuve que trabajar en otro proyecto. Regreso unos meses más tarde.
Arranco la máquina nuevamente e intento iniciar sesión.
Mismo problema. El proyecto fue movido de Slack a Discord. Pregunto en el chat de Discord.
Aparantemente mi subtangle sólido está bien abajo. No sé qué significa eso.
¿Por qué el domingo? ¿Por qué solo una vez por semana?
Al parecer la solución es esperar hasta el domingo. O descargar su snapshot.
Comienzo a descargar el snapshot. Son alrededor de 13 GB.
Inicio la billetera y no sincroniza. Un desarrollador en Discord me dice que los archivos deben estar dentro de la carpeta mainnetdb. Intento de nuevo.
$:~/.config/IOTA Wallet/iri$ rm -rf *
Intento iniciar mi billetera otra vez. Todavía no sincroniza. Me tomo el fin de semana libre y hago el intento de nuevo.
¡OBJETIVO ALCANZADO!
Sincronizar la blockchain de IOTA (tangle)
Me voy a ShapeShift para comprar algo de IOTA.
Al parecer ShapeShift no tiene soporte para IOTA. Me voy a Binance.
Para retirar voy a necesitar mi dirección para recibir IOTA.
No sé qué significa “adjuntar al tangle” (attach to tangle)
El retiro ya está confirmado en Binance.
El balance de la billetera de IOTA muestra un balance de cero luego de tres horas. El historial muestra un ítem.
Hago click en Mostrar paquete (Show bundle).
No sé qué hacen esos botones. Intento hacer click en ambos.
El balance sigue siendo cero. Intento reiniciar la billetera.
Aún nada. Reviso un explorador del tangle de IOTA.
La transacción aparece como confirmada. Pregunto otra vez en Discord.
La red ha sido actualizada a una nueva versión hace 18 horas. Necesito conseguir y recompilar la nueva versión de IRI.
Reinicio la billetera de IOTA. La consola de IRI ahora muestra repetidamente el mensaje “Saltando valor negativo para la dirección”.
Balance negativo no suena bien. La interfaz de la billetera de IOTA abre luego de unos segundos. Inicio sesión.
Asumo que el error que vi en la consola de IRI está evitando que me sincronice con la red de IOTA. Pregunto en el Discord.
Tal como se me indica, borro los archivos de la base de datos de IOTA.
E inicio la billetera de IOTA. La consola muestra el mismo error de “valor negativo”. Tal vez necesito borrar más archivos.
Inicio la billetera de IOTA con éxito. Ahora necesito espera a que se sincronice con la red de IOTA.
Después de algunos minutos puedo iniciar sesión.
La billetera de IOTA muestra un balance de cero y no hay ninguna transacción en el historial.
Hago click en Adjuntar al tangle como se me indica.
El historial muestra una transacción, pero como pendiente.
Hago click en Mostrar paquete e intento hacer click en Readjuntar (Reattach).
¡Ahora la billetera de IOTA muestra dos entradas!
Pregunto en Discord.
Esperaré unas cuantas horas y revisaré de nuevo.
Unas cuantas horas después la transacción aparece como confirmada.
¡OBJETIVO ALCANZADO!
Comprar IOTA y enviarlo a mi wallet
Ahora voy a intentar enviar IOTA a mi teléfono Android.
La billetera móvil de IOTA se instaló en mi teléfono.
Hago click en Generar semilla.
Presiono Login.
El círculo de carga sigue dando vueltas durante minutos y no se muestra nada.
¡OBJETIVO NO ALCANZADO!
Enviar IOTA a una wallet móvil.
Parte de la prueba es enviar IOTA fuera de mi billetera de IOTA. En vez de enviarla al móvil, voy a enviarla a Bitfinex.
Hay muchos descargos de responsabilidad para depositar IOTA en Bitfinex. Después de investigar un poco encuentro que reutilizar una dirección de IOTA puede resultar en pérdida de fondos.
Acepto el descargo de responsabilidad.
Regreso a mi billetera de IOTA y hago click en la pestaña de Enviar.
Hago click en Enviar ahora (Send It Now).
Aparece el mensaje Transferencia completada.
El balance de la billetera de IOTA todavía aparece como 404.0+ Mi. Tal vez se actualizará cuando se confirme la transacción.
La transacción aparece como pendiente en el historial. Hago click en Mostrar paquete.
Busco el hash de la transacción en el explorador del tangle de IOTA.
Pregunto en el Discord.
Según alguien en Discord hubo una actualización de la billetera de IOTA de v2.5.6 a v2.5.7. Dudo que actualizar la IOTA vaya a ayudar. Todos los problemas anteriores han sido con IRI. Pero estoy desesperado.
Se descargó la nueva versión de IOTA. Inicio la billetera con npm start.
La transacción sigue apareciendo como pendiente. Intento hacer click en Reemitir.
Pregunto en el Discord de IOTA. Nadie responde. Intentaré otra vez mañana.
Vuelvo a preguntar en el Discord de IOTA.
Al parecer el nodo de IOTA se ha desincronizado otra vez. Intento reiniciarlo.
La billetera de IOTA muestra un mensaje de error que dice “Conección rechazada”. ¿Será que la billetera de IOTA no capaz de conectarse a IRI? Reviso el explorador del tangle de IOTA.
Mi transacción ha sido readjuntada con éxito y está confirmada. Reviso Bitfinex.
¡La transacción aparece como confirmada! Vendo los tokens de IOTA a la tasa de mercado.
Los tokens de IOTA se han vendido a cambio de BTC.
Terminarás aquí si hiciste una búsqueda en la página usando la palabra “conclusión”
IOTA es la peor criptodivisa que es evaluado hasta ahora. Instalar la billetera de IOTA fue una molestia. Recibir y enviar tokens de IOTA es un reto técnico y consume tiempo. Reutilizar una dirección puede incurrir en pérdida de fondos. No existe una billetera móvil funcional para IOTA. No hay soporte para IOTA en las billeteras físicas.
Pero lo más importante es que está muy claro que IOTA no puede ser usado en dispositivos del Internet de las cosas, ¡el problema para el cual se está vendiendo como solución! ¿Cómo un bombillo inteligente o un drone se puede mantener sincronizado con un “tangle” que requiere cantidades vastas de núcleos de CPU, RAM, y banda ancha de red para mantenerse en sincronía con él?
Puede que notes que el tipo de instancia fue cambiado a m5.4xlarge, una máquina de 16 núcleos de CPU con 64 GB de RAM. Me pasé a esta máquina mejor que la anterior luego de leer en el chat de Discord que la gente no podía mantenerse en sincronía usando hardware menos poderoso.
IOTA es una shitcoin. No recomiendo comprarla ni almacenarla. Incluso voy a empezar a venderla en corto. Sin embargo, si deciden ir en contra de mi recomendación, hagan el trading en Binance con mi enlace de referido. Al menos entonces su miseria me ayuda.
IOTA no puede ser usado en dispositivos del Internet de las cosas
Buenas noches, blockchainers.
Escrito originalmente por Andreas Brekkenpara shitcoin.com
Traducido por Bea Rodríguez para Pandanoticias.xyz