martes, 29 de junio de 2021

El Gas de Ethereum

Este artículo es una versión traducida del original “A Guide to Gas”. Revisaremos la teoría y terminaremos con un ejemplo practico de como calcular el costo de una transacción en USD.

Entre el 1 y el 3 de enero de 2018, el costo promedio de ejecutar una transacción en el blockchain de Ethereum creció 187%. Esto se debe al aumento en el costo del “gas”, la unidad de medida utilizada para representar el costo de correr operaciones en Ethereum.

El gas puede compararse con las comisiones de transacción que cobran las empresas de tarjetas de crédito. Pero los consumidores nunca interactúan directamente con estos costos de transacción. Estos están ocultos dentro del precio del bien o servicio.

En un blockchain no hay una entidad central que cobre comisiones, determine penalidades o que pueda bloquear transacciones de manera arbitraria, dejando a personas aisladas de la economía. Sin embargo, esperar que cada usuario de Ethereum tenga que comprender el funcionamiento técnico del gas no es una experiencia de uso escalable.

En el largo plazo, el ecosistema encontrará formas de simplificar el uso del gas para mejorar la experiencia del usuario y reducir el riesgo de transacciones anuladas. Mientras tanto, sin embargo, es importante comprender la utilidad del gas y la razón de su existencia.

La Máquina Virtual de Ethereum y el Gas

La Máquina Virtual de Ethereum (MVE) es el ambiente en el cual se ejecutan los smart contracts en el blockchain. Cada nodo de la red participa del blockchain de Ethereum. Entre todos, forman la MVE.

Una transacción dentro de Ethereum se compone de una serie de operaciones secuenciales que ocurren dentro de la MVE. Cada operación requiere de cierta cantidad de energía de cómputo para ejecutarse. Como los mineros deben utilizar energía para completar esas operaciones, se creó una unidad de medida para monitorear este esfuerzo y compensarlos. Esta unidad se llama gas.

El gas es la unidad que mide el trabajo computacional requerido para correr transacciones o smart contracts en la MVE. Mientras más energía se necesite para correr una operación (por ejemplo, porque su código es más complejo) más gas se requiere.

En sí mismo, el gas no tiene existencia. No existe algo como un “token de gas”. El valor de cada unidad de gas se expresa en ETH. Por ejemplo, una operación podría costar 3 gas, lo que sería equivalente a 0.00004 ETH.

Ahora bien: si el gas se mide en ETH, ¿por qué no deshacerse de él y expresar el costo de cada operación directamente en ETH?

El precio del ETH es altamente volátil (entre el 1 y 3 de enero subió 25%). Pero la energía computacional requerida para realizar una transacción es constante. El costo de gas para realizar una “operación de suma” en Ethereum era el mismo el 1 o 3 de enero, sin importar el valor del ETH.

El concepto de gas existe para distinguir entre el costo computacional de correr una operación y el precio de mercado del ether.

El costo de gas (la energía requerida de una operación) se mantiene constante más allá de la volatilidad en el precio. Sin embargo, el precio de cada unidad de gas en ether cambia continuamente. Si el precio del ether sube significativamente, la red puede reducir cuánto ether representa cada unidad de gas para mantener constante el costo para el usuario que paga por el gas.

Los Componentes del Gas

El gas tiene tres componentes fundamentales: costo del gas, precio del gas y límite de gas.

El costo de gas son las unidades de gas necesarias para correr cada operación. Este costo está definido en los documentos técnicos de Ethereum. Por ejemplo, el costo de correr una “operación de suma” es de 3 gas, y seguirá siendo 3 gas sin importar cuál sea el valor en dólares del ether. La red no puede cambiar fácilmente la cantidad de gas necesaria para correr una operación. Pero el precio del gas expresado en ether sí puede ajustarse fácilmente para responder a la volatilidad en el precio del ether o al tráfico de la red.

El precio del gas es el valor de una unidad de gas expresado en ether. El precio del gas se mide en Gwei. El Wei es la menor unidad de ether. Un Gwei es 1000 millones de Wei. En sitios como ethgasstation.info podemos ver el precio de gas promedio de la red. Los usuarios dispuestos a pagar un mayor precio de gas por su transacción serán priorizados por los mineros y la transacción se procesará más rápidamente. Los mineros son quienes se quedan con el gas (o, más exactamente, con el ether que representa ese gas) que el usuario utiliza al enviar su transacción. Por lo tanto, los mineros priorizan las transacciones que tienen mayor precio de gas sobre las transacciones que tienen menor precio de gas.

El límite de gas es la máxima cantidad de gas que uno está dispuesto a pagar en una transacción específica. El límite de gas típicamente es mayor que la cantidad real de gas que requiere la transacción. Si un usuario específica un límite de gas demasiado bajo (las operaciones dentro de la transacción requieren más gas que el que el usuario asigna a la transacción), entonces un minero completará la transacción hasta que el gas se acabe. Cuando esto ocurra, la operación fallará y el minero conservará las comisiones (ya que gastó tiempo y energía en ejecutar tantas operaciones como pudo). El blockchain guardará un registro de la operación como “fallida”.

Por Qué Existe el Gas

El gas existe dentro del blockchain de Ethereum por tres motivos: financiero, teórico y computacional.

El motivo financiero es para incentivar a los mineros a invertir tiempo y energía en ejecutar transacciones. Operaciones más complejas requieren más poder de cómputo y, por lo tanto, más gas. Si un usuario desea que su transacción tenga prioridad, debe ofrecer un mayor precio de gas, para convencer a los mineros de procesarla antes.

El motivo teórico indica que el gas sirve para alinear los incentivos de los participantes de la red. Gran parte de la teoría del blockchain se ocupa de cómo combatir a los agentes maliciosos en un ambiente donde no existe una autoridad central en la que confiar. El gas resuelve parcialmente este problema alineando los incentivos económicos entre usuarios. Los mineros tienen un incentivo para trabajar en la red. Los usuarios tienen un desincentivo a escribir código pobre o malicioso porque están poniendo su ether (bajo la forma de gas) en juego.

El motivo computacional detrás del gas responde a un viejo problema de la teoría de computación: el halting problem. El halting problem trata de determinar si un programa arbitrario parará de correr en algún momento o correrá por siempre, con sólo observar su descripción y los valores de input. En 1936, Alan Turing determinó que es imposible para una máquina resolver el halting problem. En la MVE, esto significa que un minero nunca puede iniciar el procesamiento de una transacción teniendo una certeza total de que la transacción se detendrá en algún momento. Gracias al límite de gas, cada transacción está asociada con una cantidad finita de gas. Incluso si un minero empieza a procesar una transacción que fue programada para seguir indefinidamente (debido a un bug o un ataque a la red), el gas eventualmente se acabará, la transacción terminará y el minero será compensado.

Mirando el futuro

Para los usuarios que recién empiezan a interactuar con el blockchain de Ethereum, el gas suele ser un concepto difícil de entender. Si ponemos un precio de gas demasiado bajo, nuestra transacción no será procesada. Si lo ponemos demasiado alto, estaremos pagando por demás. Si ponemos un límite demasiado bajo, nuestra transacción fallará antes de finalizar (pero igualmente tendremos que pagar por ella).

Colocar el peso de este conocimiento en el usuario no es un modelo escalable. En el futuro, el ecosistema encontrará formas más amigables en las que los usuarios no tendrán que interactuar con el gas, del mismo modo en que los consumidores actualmente no interactúan directamente con las comisiones de transacción. Un mejor manejo del gas será importante para que el blockchain se acerque un paso más a la adopción masiva.

¿Cual es el costo de enviar Ethers?

La cantidad de gas que se necesita para realizar una transacción en Ethereum depende la cantidad de las instrucciones de la transacción, enviar Ethers es una transacción relativamente simple. En promedio se requieren 21000 unidades de gas, supongamos que en este momento cada unidad de gas valen 29 Gwei, necesitarías 609000 Gwei. 1 Gwei equivale a 0.000000001 Ethers, por lo tanto Ethers = 609000 Gwei  * 0.000000001 = 0.000609 Ethers. En estos momentos cada Ether vale 2198 USD, entonces 0.000609 * 2198 = 1,33 USD.

El costo de enviar Ethers en estos momentos nos saldría 1,33 USD. Claro, suponiendo que tienes tu propia Billetera.
Metamask es una billetera que me parece que no te cobra comisión adicional, de hecho en Metamask tu puedes ver el costo estimado de la transacción.

Oh casi lo olvido, para saber el precio del Gas puedes visitar la pagina https://ethgasstation.info/

Referencias
https://media.consensys.net/a-guide-to-gas-12b40d03605d
https://defiprime.com/gas

lunes, 21 de junio de 2021

Como transferir criptomonedas Ether en Java

Está guía será completamente practica, vamos a enviar nuestros primeros Ether's entre dos Wallets en la red de pruebas Ropsten usando la api para Java Web3j.

Si necesitas profundizar en la teoría del blochain y criptomonedas te recomiendo estudiar la ruta completa Blockchain y Criptomonedas. En este ejemplo no vamos a involucrar el Gas de Ethereum, más adelante modificaré esta entrada para incluir el Gas.

Paso 1.- Crear tu proyecto Maven y agregar la dependencia Web3j

Créate un proyecto Maven y agrega la dependencia Web3j


Paso 2. Necesitamos un Nodo que esté conectado a la red Ropsten

Puedes instalar y ejecutar tu propio nodo, pero mantenerlo es caro, si no vas a minar Ether's no te lo recomiendo, en su lugar usaremos algunos nodos disponibles.

Para acceder a algunos nodos disponibles necesitas crearte una cuenta en algunas de las siguientes plataformas, yo elegí Alchemy

https://auth.alchemyapi.io/signup

https://infura.io/register

Una vez que te has creado una cuenta en Alchemy necesitas crear una app y elegir la red Ropsten, en tu dashboard podrás ver la URL del proyecto que acabas de crear, esta URL será la URL al nodo de Alchemy el cual está conectada a la red de pruebas Ropsten

Paso 3.- Necesitamos crear dos Wallets

Si no tienes ninguna Wallet puedes crearlas, para ello puedes ejecutar la siguiente porción de codigo

Paso 4.- Necesitamos fondear al menos una de nuestras Wallets

Para fondear una de nuestras Wallets usaremos algunos faucets, aquí tienes una lista.

https://faucet.dimensions.network/

https://faucet.ropsten.be/

Copias la dirección de tu Wallet y la pegas en cualquiera de los faucets

Para verificar el saldo y movimientos de tu Wallet puedes ir a https://ropsten.etherscan.io/


Paso 5.- Transferir los Ether's de una Wallet a la otra

Finalmente vamos a realizar la transferencia, aquí el programa Java, observa que aquí estoy usando la URL que obtuve de mi proyecto en Alchemy


Si tu programa se ejecuta correctamente vas a ver la siguiente salida

 

Hasta aquí esta primera practica, cuéntame en los comentarios como te ha funcionado.

viernes, 11 de junio de 2021

Blockchain y Criptomonedas

Estamos viviendo días en donde escuchamos sobre criptomonedas en todos lados, en las noticias, en las redes sociales y en los medios financieros. Gente experta sobre el tema, gurús vendehúmos (cursos) y especuladores oportunistas hablando del tema.

La Blockchain y las Criptomonedas fueron creados por programadores, así que no podemos ser ajenos a esta tendencia/tecnología, te invito a involucrarte en esta nueva tecnología.

Aquí encontrarás la ruta para introducirte en el mundo del Blockchain y las criptomonedas. Tienes artículos que van de lo simple a lo complejo, no te desesperes, ve paso a paso ya que esta no es ruta de un día.




Como proyecto practico tenemos la configuración de un nodo para incorporarlo a la red de Ethereum y la creación de una billetera propia.

En construcción...

Mitos y verdades de la Blockchain y Criptomonedas

!Este articulo se ha actualizado, ver actualización al final.!

Estamos viviendo días en donde escuchamos sobre criptomonedas en todos lados, en las noticias, en las redes sociales y en los medios financieros. Gente experta sobre el tema, gurús vendehúmos (cursos) y especuladores oportunistas hablando del tema.

La Blockchain y las Criptomonedas fueron creados por programadores, así que no podemos ser ajenos a esta tendencia/tecnología.

¿Para que sirven las criptomonedas?

Algunas criptomonedas serán el nuevo dinero que usaremos para comprar y vender bienes y servicios mientras que otras criptomonedas serán el nuevo refugio contra la inflación, el oro digital. Por ultimo, tendremos otras criptomonedas que servirán para pagar los costos de aplicaciones descentralizadas y contratos inteligentes.

He decidido crear una serie de entradas de lo más simple a los complejo para comprender esta nueva tecnología.

En esta entrada revisaremos los siguientes puntos:

¿Qué es una cadena de bloques o Blockchain?

¿Cómo funciona la cadena de bloques?

¿Qué tan segura es la cadena de bloques?

Aplicaciones de la cadena de bloques en los sectores de servicios financieros y de seguros

Los desafíos

Conclusiones

¿Qué es una cadena de bloques o Blockchain?

La tecnología de cadena de bloques o blockchain fue introducida por primera vez en un artículo técnico publicado en el año 2008 bajo el seudónimo de Satoshi Nakamoto, y es mejor conocida hoy en día como la plataforma base de la criptomoneda Bitcoin. Aunque los términos blockchain y Bitcoin son usados a menudo como sinónimos, es importante destacar que Bitcoin es tan solo una de las infinitas aplicaciones de la tecnología de cadena de bloques.

La cadena de bloques puede ser definida como un libro contable público descentralizado diseñado para registrar las transacciones en un entorno protegido. En otras palabras, es un tipo de base de datos usado para registrar las transacciones, que es copiado en todas las computadoras que conforman la red específica.

Para comprender con exactitud lo que eso significa, resulta muy útil tener en cuenta las deficiencias de los procesos de transacción existentes. Para ilustrar cómo se realiza una transacción típica en la actualidad, tomemos el ejemplo de Juan, quien desea comprar una camisa en la tienda de María. Debido a que Juan no tiene suficiente dinero en efectivo para pagar la camisa, y a que Juan y María no se conocen, se necesita que una tercera parte de confianza (como un banco o una compañía de tarjeta de crédito) garantice que John tiene la capacidad de pagar por la camisa para poder completar la transacción y llevarse la camisa a casa. Para ello, Juan pasa su tarjeta de débito o de crédito por el terminal de la tienda de María, la compra es aprobada y Juan sale con su nueva camisa. Bastante simple, ¿verdad? Bueno, no es tan simple como parece.

En promedio, cinco instituciones deben estar implicadas en una transacción de rutina como la que ocurre entre Juan y María: el banco de Juan, el banco de María, las entidades procesadoras de tarjetas (Transbank en Chile) y, en ciertos casos, la compañía de tarjeta de crédito (p.ej. Visa o MasterCard). Con todos estos participantes implicados en la transacción, puede pasar hasta una semana antes de que María reciba el dinero de la venta. Además, existen diversos puntos a lo largo del proceso donde puede ocurrir un fraude o un robo. Por obvias razones, este proceso es dispendioso e ineficaz.

¿Y si hubiera una mejor manera de efectuar la transacción entre Juan y María?
La tecnología de cadena de bloques elimina la necesidad de intermediarios de confianza y permite que John pague directamente a Jane, de una manera más económica, rápida y segura.

¿Cómo funciona la cadena de bloques?

En cualquier sistema de transacciones debe existir un libro contable en el que figura el saldo de cuenta de todos los participantes. En la actualidad, estos libros son aislados y cerrados al público y, en esa condición, se requiere la presencia de terceras partes de confianza (p.ej. gobiernos, bancos, compañías fiduciarias, contables, notarios y papel moneda) para facilitar y aprobar las transacciones.

La tecnología de cadena de bloques es un software gratuito y de código abierto distribuido a nivel mundial que elimina la necesidad de terceras partes de confianza al hacer que una red de computadoras mantenga un libro contable común vía el internet. Este libro contable común es público y es distribuido en su totalidad a través de una red de «nodos», cada uno de los cuales tienen una copia completa del libro contable o de la cadena de bloques.

En una de cadena de bloques, todos los detalles de una nueva transacción son registrados, marcados con la hora y verificados por agentes denominados «mineros», quienes compiten por ser los primeros en resolver problemas matemáticos complejos y poder publica el siguiente bloque de transacciones en el libro contable (o la cadena del historial de transacciones). Los mineros son personas que utilizan complejos sistemas informáticos para resolver problemas matemáticos y reciben un tipo de remuneración financiera por sus esfuerzos. Cuando el bloque de transacciones es subido por el minero que fue el primero en resolver el cálculo, todos los nodos de la red validan automáticamente el libro contable y todas las transacciones que se encuentren en él. Por lo general, la mayoría de los nodos (51 por ciento) deben aceptar que el bloque es válido para que éste pase a formar parte de la cadena de bloques de transacciones o Blockchain. Los bloques de transacciones son usualmente publicados en el libro contable compartido a intervalos de diez minutos.

En este ejemplo básico, los términos del acuerdo entre John y Jane para la compra de la camisa son claros y directos. Sin embargo, el tipo de detalles que pueden ser incluidos en las transacciones son ilimitados. Esto quiere decir que una simple transacción puede ser no solamente realizada eficazmente en una cadena de bloques, sino que los términos de un contrato complejo (p.ej. hipotecas, contratos de opciones y futuros, contratos laborales, contratos de seguros, etc.) también pueden ser manejados mediante una cadena de bloques. Un «contrato inteligente» en una cadena de bloques conserva los términos del contrato e incluso los ejecuta automáticamente mediante, por ejemplo, flujos de dinero automatizados. Estos contratos inteligentes eliminan la necesidad de intermediarios entre las partes, garantizan su cumplimiento automático y reducen significativamente la burocracia. De hecho, Capgemini estima que los contratos inteligentes serán implementados en aplicaciones prácticas de uso general antes del 2020, y que esto puede representar ahorros de 16 mil millones de dólares americanos anuales para los consumidores ($500 USD para el consumidor promedio) en costos de banca y seguros.

¿Qué tan segura es la cadena de bloques?

Considerando el carácter público y compartido de la cadena de bloques, es natural que surjan preguntas respecto a la seguridad de las transacciones en este tipo de red. En realidad, la cadena de bloques es mucho más segura que las redes de transacción existentes.

En primer lugar, aunque el libro contable y todas sus transacciones son públicos, las personas que participan en la cadena de bloques mantienen el anonimato, por intermedio de claves cifradas públicas y privadas. Esto significa que incluso si todos conocen todas las transacciones y el saldo de todos los participantes en la cadena de bloques, no existe ninguna manera de relacionar las transacciones con las personas específicas.

En segundo lugar, debido a que cada nodo individual de la red posee un registro actualizado del libro contable, para modificar las transacciones en la cadena de bloques un pirata informático tendría que piratear por lo menos el 51 por ciento de los nodos mineros a nivel mundial (porque si no hay consenso, un bloque de transacciones no puede ser incluido en la cadena) en un tiempo de diez minutos (que es la frecuencia con que un nuevo bloque de transacciones es validado y agregado a la cadena). Por ello, se estima que se necesitaría combinar 200 de las más grandes súper computadoras del mundo para poder piratear el sistema5.

Aplicaciones de la cadena de bloques en los sectores de servicios financieros y de seguros

Las aplicaciones de la tecnología de cadena de bloques, las cuales son obvias y bien documentadas, están centradas en el concepto de facilitar las operaciones de intercambio de dinero y la actualización de los antiguos sistemas heredados de transacción y de liquidación. Sin embargo, la tecnología de cadena de bloques ofrece a las firmas de servicios financieros y a las empresas de seguros otras e innumerables oportunidades para optimizar sus procesos y mejorar sus servicios.

Un libro contable descentralizado basado en la cadena de bloques permitirá que las actualizaciones de los detalles del cliente sean distribuidas a todas las instituciones casi en tiempo real. Asimismo, el libro contable descentralizado proporcionará un registro histórico de todos los documentos y actividades de cumplimiento de todos los clientes.

De la misma manera, en el sector de los seguros, los contratos inteligentes en una cadena de bloques pueden ofrecer a los consumidores y a los aseguradores los medios para gestionar los reclamos de manera transparente y eficaz. Los detalles de un contrato de seguros pueden ser almacenados en una cadena de bloques, y la plataforma también puede ser usada para validar los reclamos (reduciendo de esta manera la frecuencia de los reclamos fraudulentos) e incluso para activar los pagos automáticamente cuando se reúnan y validen las condiciones necesarias. Como resultado, se obtendrían procesos simplificados y una mejor experiencia del cliente.

Nuestra misión como programadores es descubrir más aplicaciones de uso para esta naciente tecnología.

Los desafíos

Si bien la tecnología de cadena de bloques tiene el potencial de impulsar un cambio de paradigma en la forma como se hacen los negocios en el mundo, ésta no deja de tener desafíos. A continuación, indicamos algunos de los principales retos asociados con la adopción de esta joven tecnología.

ACEPTACIÓN

Debido a que la cadena de bloques es una tecnología tan sin precedentes, lograr su comprensión y aceptación por parte de los desarrolladores de sistemas, los usuarios y los operadores constituye todo un reto. Como la cadena de bloques representa una manera de pensar muy alejada de la manera como se hacen las cosas en la actualidad, los recursos y habilidades de TI en esta área podrían ser difíciles de conseguir, debido a que salen del conjunto de habilidades tradicionales de TI.

COSTO

Pese a que la tecnología de cadena de bloques puede ofrecer a las organizaciones ahorros increíbles en los costos, los altos costos iniciales pueden representar un factor disuasivo. Pasar de un sistema centralizado a una red descentralizada requiere cambios significativos o el reemplazo completo de la estructura heredada.

ASPECTOS REGLAMENTARIOS

Las divisas mundiales en la actualidad son por lo general creadas y reguladas por los gobiernos nacionales.

Las criptomonedas, gestionadas por cadenas de bloques, pueden tener dificultades para lograr su adopción generalizada por las instituciones financieras existentes, si las preguntas acerca de su estatus normativo no son contestadas.

CONSUMO DE ENERGÍA

La tecnología de cadena de bloques necesita una cantidad importante de energía para mantenerse activa.

Miren por ejemplo la cadena de bloques Bitcoin. Los mineros de la red proponen 450 mil billones de soluciones por segundo para validar las transacciones7.

A medida que se añaden nuevas cadenas de bloques, las exigencias en cuanto a la capacidad informática de procesamiento pueden crecer exponencialmente.

NORMALIZACIÓN

Para que la cadena de bloques pueda acelerar eficazmente los procesos comerciales, mejorar el mantenimiento de registros, perfeccionar la detección de fraudes y mucho más, es necesario un cierto nivel de normalización global a través de las instituciones.

Desafortunadamente, esto es algo más fácil de decir que de hacer. Las costumbres, los regímenes reglamentarios y los procesos políticos de los países pueden retrasar los esfuerzos de normalización.

Conclusiones

Hoy en día, la cadena de bloques es una tecnología emergente que tiene ciertos desafíos importantes en el futuro. Sin embargo, si es bien encauzada, la cadena de bloques tiene el potencial de causar una disrupción total en los modelos de negocios tradicionales y hacer obsoletos ciertos líderes actuales de la industria, en un lapso de cinco a diez años. Esa es precisamente la razón por la cual los líderes mundiales de la industria y las firmas emergentes están invirtiendo billones de dólares en la investigación, el desarrollo y la prueba de aplicaciones basadas en la tecnología de libro contable descentralizado.

Sobre las criptomonedas como el nuevo dinero realmente se ve muy complejo a corto plazo, viene de la mano con la evolución de la Blockchain ya que se requiere disminuir los tiempos y costos de transacción, actualmente hacer una transacción con Bitcoin para pagar  una coca cola te puede costar unos 30 USD y se demora unas 3 horas.

Entonces, como programadores debemos seguir atentamente la evolución de esta estupenda tecnología e involucrarnos en ella.

Independientemente de cuándo, o incluso de si alguna vez, la tecnología de cadena de bloques pase a ser de uso general, es algo que merece nuestra atención. Después de todo, ¿acaso la computadora personal, el internet y las redes sociales, hoy en día de uso corriente, no fueron alguna vez tecnologías emergentes que tenían un futuro incierto?

!!Actualización!!

Cuando escribí este articulo se veía complicado que las criptomonedas se usarán como medio de pago, el tiempo ha pasado y la tecnología Blockchain ha evolucionado, entra al escenario la  Lightning Network la cual permite realizar transacciones casi instantáneas y a un precio muy bajo, en promedio 0.50 centavos de dólar.  Así que las criptomonedas como medio de pago y/o transferencias se ve totalmente factible.

También tenemos en escena las estables coin, las aplicaciones de finanzas descentralizadas y exchanges descentralizados.

Aun hay desafíos por superar pero no dude que en los próximos 5 años vamos a tener avances, transacciones casi instantáneas, comisiones más baratas y consumo reducido de energía.





martes, 8 de junio de 2021

Blockchain: Usando Criptomonedas con Java

Integrando el blockchain (cadena de bloques) Ethereum en las aplicaciones Java usando web3j

Es una realidad que la tecnología blockchain terminará por imponerse, así como un día lo fue el internet, o la energía eléctrica. Lo escuchamos en todos lados, en la prensa tecnológica o financiera. En el ecosistema del emprendimiento cada día se crean nuevas empresas alrededor de esta tecnología, algunas lograrán despegar y otras se quedarán en el camino.

¿Pero que es todo el alboroto sobre esta tecnología? ¿Cómo puedo trabajar con ella desde mis aplicaciones Java? Como programadores o desarrolladores de software, no podemos ser ajenos a esta tendencia.

Antes de entrar en profundidad con la biblioteca que hace posible la interacción (web3j), te explicaré brevemente pero con información solida de lo que es y como funciona el blockchain.

lunes, 7 de junio de 2021

Iniciandome en Java

Iniciándome en Java

Esta ruta está organizada para proporcionarte todo lo que necesitas saber para iniciarte con el lenguage de programación Java.

El fenómeno de la tecnología Java - Proporciona una vista general de la tecnología Java. Discutiremos brevemente el lenguaje de programación Java y la plataforma, proporcionando una amplia descripción de lo que esta tecnología puede hacer y como puede hacer tu vida más fácil.

Configuración de nuestro ambiente de Desarrollado - Vamos a configurar nuestro ambiente de desarrollo, desde la estructura de directorios sugerido, la instalación del JDK de Java, la instalación de nuestro IDE favorito, la configuración de herramientas Built como ANT y Maven, hasta la estructura de directorios de un proyecto Java.

La aplicación "Hola Mundo" - Este enfoque practico describe lo que hay que descargar, lo que hay que instalar, y las actividades a realizar para crear una simple aplicación "Hola Mundo". La practica la haremos en Microsoft Windows usando el IDE (entorno de desarrollo integrado) NetBeans.

Una mirada más cercana a la aplicación "Hola Mundo" - Discutiremos en profundidad la aplicación "Hola Mundo", describiendo en detalle cada sección del código: comentarios, el bloque de la definición de la clase y el método main.

Problemas comunes (y sus soluciones) - Este es el lugar al que tienes que ir si se presentan problemas al compilar o ejecutar el programa en esta ruta.