Como programar ethereum

Como programar ethereum

Contrato inteligente práctico d…

Desde que Ethereum fue presentado en 2015 por el programador canadiense-ruso Vitalik Buterin, ha dado lugar a nuevas aplicaciones descentralizadas (dApps). Sin embargo, el éxito de Ethereum se atribuye significativamente a la implementación de contratos inteligentes.
Mucha gente cree que los contratos inteligentes son un concepto nuevo y que se han inventado con la plataforma Blockchain de Ethereum. Sin embargo, se remontan a 1996, cuando el informático Nick Szabo acuñó el término y los definió así:
Llamo a estos nuevos contratos «inteligentes», porque son mucho más funcionales que sus ancestros inanimados basados en papel. No implican el uso de inteligencia artificial. Un contrato inteligente es un conjunto de promesas, especificadas en forma digital, que incluye protocolos con los que las partes cumplen estas promesas.
Su trabajo inspiró posteriormente a otros científicos e investigadores, incluido Vitalik. Antes de profundizar en la creación y el despliegue de un contrato inteligente de Ethereum, es esencial entender la máquina virtual y el gas de Ethereum.

Aprende ethereum: construye tu…

Solidity es un lenguaje de programación orientado a objetos para escribir contratos inteligentes[1]. Se utiliza para implementar contratos inteligentes[2] en varias plataformas de blockchain, más notablemente, Ethereum.[3] Fue desarrollado por Christian Reitwiessner, Alex Beregszaszi, y varios antiguos colaboradores del núcleo de Ethereum para permitir la escritura de contratos inteligentes en plataformas de blockchain como Ethereum.[4] Los programas compilados por Solidity están destinados a ser ejecutados en la máquina virtual de Ethereum.
En la actualidad, Solidity es el lenguaje principal en Ethereum[6], así como en otras blockchains privadas que se ejecutan en plataformas que compiten con Ethereum, como Monax y su blockchain Hyperledger Burrow, que utiliza Tendermint para el consenso. SWIFT ha desplegado una prueba de concepto utilizando Solidity que se ejecuta en Burrow[2][fuente no primaria necesaria][7][fuente no fiable].
Tal y como especifica Wood, está diseñado en torno a la sintaxis de ECMAScript para que resulte familiar a los desarrolladores web existentes;[cita requerida] a diferencia de ECMAScript, tiene tipado estático y tipos de retorno variados. En comparación con otros lenguajes orientados a EVM de la época, como Serpent y Mutan, Solidity contenía una serie de diferencias importantes. Se admiten variables miembro complejas para los contratos, incluyendo mapeos jerárquicos arbitrarios y structs. Los contratos admiten la herencia, incluida la herencia múltiple con linealidad C3. También se introdujo una interfaz binaria de aplicación (ABI) que facilitaba múltiples funciones seguras de tipo dentro de un único contrato (y que posteriormente fue soportada por Serpent). También se incluyó en la propuesta un sistema de documentación para especificar una descripción centrada en el usuario de las ramificaciones de una llamada a un método, conocido como «Especificación de Lenguaje Natural»[9][10][se necesita una fuente no primaria].

Aprender a programar en ethereum

solución fastQuery: algoritmo de consultaNuestra solución fastQuery puede manejar tanto consultas únicas como comodines, como la solución del desafío. Sin embargo, con fastQuery, no necesitamos iterar a través de una matriz de combinaciones únicas de genes-variantes-fármacos porque los datos ya están almacenados agrupados en estas relaciones únicas. Por lo tanto, simplemente obtenemos las coincidencias utilizando la solución del desafío, convertimos los datos de recuento en porcentajes y obtenemos el resultado de la búsqueda (véase el Algoritmo 4 y el Archivo adicional 1).
ResultadosPresentamos dos soluciones de prueba de concepto para almacenar observaciones de datos farmacogenómicos: nuestra solución de reto, que probamos en bases de datos de hasta 1.000 entradas, y una solución alternativa de fastQuery con un rendimiento mejorado, que probamos en bases de datos de hasta 10.000 entradas. Ambas soluciones se midieron por su precisión, tiempo, espacio y eficiencia de gas, y escalabilidad [Figs. 2 y 3].

Dominando ethereum: construyendo contratos s…

Ahora que hemos desmitificado los contratos inteligentes y que entendemos mejor qué son y cómo funcionan, vamos a construir nuestro propio contrato sobre la blockchain de Ethereum. Dado que los contratos inteligentes son programas informáticos en su esencia, muchos de los conceptos que utilizaremos para construir un contrato básico nos resultarán familiares. Los grandes avances en las herramientas para desarrolladores y en la infraestructura del ecosistema Ethereum nos permiten desarrollar eficazmente un contrato inteligente completamente en el navegador, así que empecemos.
La máquina virtual de Ethereum es una combinación de un sistema operativo ligero y una máquina de estado, creada para entender y ejecutar contratos inteligentes de Ethereum. Esta máquina virtual, comúnmente conocida como «EVM», se envía con cada nodo de Ethereum que compone su red y está integrada en él. Un programa de contrato inteligente de Ethereum es una serie de instrucciones a nivel de máquina que son entendidas por la EVM.
Remix es un entorno de desarrollo basado en la web para crear contratos inteligentes. Ofrece la posibilidad de crear rápidamente prototipos de contratos inteligentes basados en Solidity sin necesidad de configurar ninguna herramienta local, y mitiga la necesidad de utilizar ETH reales para desplegar y probar la funcionalidad de los contratos inteligentes. Para empezar, siga los siguientes pasos para abrir Remix y crear un nuevo archivo de contrato.

Acerca del autor

Marta

Ver todos los artículos