Ir al contenido principal

Entradas

Mostrando entradas de marzo, 2025

Solidity: un lenguaje de programación para contratos inteligentes

Solidity es un lenguaje de alto nivel orientado a objetos para implementar contratos inteligentes ( smart contracts ). Los contratos inteligentes son programas que rigen el comportamiento de las cuentas dentro del estado de Ethereum . Se ejecutan automáticamente en la blockchain (en este caso Ethereum) cuando las condiciones preestablecidas se cumplen. Un contrato en el sentido de Solidity es una colección de código (sus funciones ) y datos (su estado ) que reside en una dirección específica en la cadena de bloques de Ethereum . Veamos un ejemplo sencillo: Ejemplo 1. Un contrato denominado SimpleStorage para setear y obtener un dato de tipo uint . // SPDX-License-Identifier: GPL-3.0 pragma solidity >= 0.4 .16 < 0.9 .0 ; contract SimpleStorage { uint storedData ; function set ( uint x ) public { storedData = x ; } function get ( ) public view returns ( uint ) { return storedData ; } } Podríamos...

Gorilla Web Toolkit, un "framework" para Go(lang)

En una entrega anterior mostramos una pequeña lista de frameworks web para el lenguaje Go. Ahora presentaremos a Gorilla Web Toolkit : Un conjunto de herramientas útil para el lenguaje de programación Go que proporciona paquetes útiles y componibles para escribir aplicaciones basadas en HTTP. Ventajas de uso: Robusto.  Completo.  Con funcionalidades avanzadas. El sitio oficial es: https://gorilla.github.io/ Para instalarlo tenemos dos formas: Descargando el repositorio desde Github : $ git clone https: //github.com/gorilla/mux.git Instalando desde comando: $ go get github.com/gorilla/mux Ejemplo. Crear dos servicios sencillos para saludar. main.go 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 import ( "encoding/json" "net/http" "github.com/gorilla/mux" ) // Saludo func saludarHandler ( w http . ResponseWriter , r * http . Request ) { response := map [ string ] strin...

Hare: un lenguaje de programación de sistemas

Hare es un lenguaje de programación de sistemas diseñado para ser simple, estable y robusto. Utiliza un sistema de tipos estáticos, administración manual de memoria y un tiempo de ejecución mínimo. Es ideal para escribir sistemas operativos, herramientas de sistema, compiladores, software de redes y otras tareas de bajo nivel y alto rendimiento. Comparación con otros lenguajes Rust: Aunque ambos son lenguajes de sistemas, Hare es mucho más simple que Rust. Rust ofrece un sistema de tipos avanzado (con genéricos , traits y borrow checker ), mientras que Hare evita esa complejidad a propósito. Hare es más cercano a C en espíritu, mientras que Rust busca mayor seguridad a costa de una curva de aprendizaje más pronunciada.    Go: Go también simplifica el desarrollo de sistemas, pero incluye un recolector de basura y un enfoque más alto nivel que Hare. Hare es más crudo y manual, como C, mientras que Go está diseñado para productividad en aplicaciones modernas. ...

Plutus: un lenguaje de programación del que no sabías nada

Plutus es un lenguaje de programación diseñado específicamente para escribir contratos inteligentes en la blockchain de Cardano . Características principales de Plutus Base en Haskell : Plutus está basado en Haskell, un lenguaje de programación funcional puro conocido por su robustez y seguridad matemática. Esto significa que utiliza conceptos como funciones puras, inmutabilidad y tipos fuertes, lo que reduce errores y mejora la verificabilidad del código.  Contratos inteligentes en Cardano: Plutus es el núcleo de la infraestructura de contratos inteligentes de Cardano. Permite a los desarrolladores definir lógica personalizada para transacciones en la blockchain, como acuerdos financieros, subastas o sistemas de gobernanza descentralizada.  Ejecución en dos entornos: On-chain: Una parte del código de Plutus se ejecuta directamente en la blockchain de Cardano para validar transacciones. Este código debe ser eficiente y seguro, ya que afecta el consenso de la red....

Crates: el maven repository de Rust

Crates es: El registro de cajas de la comunidad Rust . En otras palabras, es el Maven Repository de Rust . Así como Cargo es el administrador de paquetes de Rust (y Maven el de Java), y también de manera similar Cargo.toml sería el como pom.xml . Pepepero... ¿Cómo funciona? Es fácil, Cargo descarga las dependencias de su paquete Rust, compila sus paquetes, crea paquetes distribuibles y los carga en crates.io Imaginemos que necesitas crear una aplicación que calcule la tasa de interés de un préstamo bancario. Imaginemos también que crear las funciones necesarias es algo muy tedioso e innecesario, pues ya alguien ha creado lo necesario para ahorrarnos esas líneas de código. Cargo nos permitirá incluir esa dependendencia (package) que contendrá las funciones para no tener que escribir esas líneas. Un archivo Cargo.toml básico contendrá algo parecido a esto: [ package ] name = " economica " version = " 0.1.0 " edition = " 2025 ...

Determinar el biotipo de una persona en Rust

En nuestro blog mellizo , vimos como determinar el biotipo de una persona en Go. Ahora veremos el mismo programa implementado en Rust. El programa solicitará al usuario su peso y talla, obteniendo así su biotipo. Pero... ¿Qué es el biotipo? El biotipo de una persona e refiere a las características corporales, como la estructura ósea, la musculatura y la predisposición al metabolismo, que influyen en la salud, el rendimiento físico y la respuesta a la dieta o ejercicio. Existen varios biotipos, pero el general comprende estos tres: Ectomorfo : Cuerpo delgado, extremidades largas, dificultad para ganar peso o masa muscular, metabolismo rápido. En otras palabras, sería Longitipo.  Mesomorfo : Cuerpo atlético, facilidad para ganar músculo, estructura ósea equilibrada, metabolismo eficiente. En otras palabras, sería Normotipo.  Endomorfo : Cuerpo con mayor tendencia a acumular grasa, estructura más ancha, metabolismo más lento. En otras palabras, sería Braquitipo. bio...