Clasificaciones

Diez herramientas de desarrollo blockchain: la lista de 2023

mm
Añade Securities.io a tus fuentes preferidas en Google
Divulgación: Securities.io puede recibir una compensación cuando usa enlaces a productos que evaluamos. Esto no influye en nuestras evaluaciones editoriales. No somos un asesor de inversiones registrado; esto no es asesoramiento de inversión. Lea nuestra divulgación de afiliados.
Top 10 Blockchain Programming Tools

Las herramientas de desarrollo pueden ahorrar tiempo al crear aplicaciones blockchain. Esta lista de 2023 comprende diez lenguajes, programas y categorías de infraestructura. Su mantenimiento varía: algunos proyectos ya se habían cerrado o estaban en proceso de retirada.

1. Solidity

Solidity es un lenguaje muy utilizado para contratos inteligentes en Ethereum y otras redes compatibles con la EVM. Se desarrolló en el ecosistema Ethereum, pero no es el único lenguaje de programación blockchain.

Un amplio ecosistema de bibliotecas y herramientas contribuye a su popularidad. Solidity resulta adecuado para muchas aplicaciones compatibles con Ethereum, pero no inventó el concepto de contrato inteligente.

Fuente: Soliditylang.org — herramientas de desarrollo blockchain

Fuente – Soliditylang.org


Solidity dispone de documentación, ejemplos y bibliotecas abundantes. El código fuente se compila en código que puede ejecutar la Máquina Virtual de Ethereum (EVM). La versión 0.8.21 de la documentación enlazada corresponde al periodo original del artículo.

2. MetaMask

Para interactuar con aplicaciones descentralizadas, el desarrollador suele utilizar una cartera. MetaMask ofrece, entre otras opciones, una extensión de navegador y una aplicación móvil para gestionar cuentas, conectarse a aplicaciones y firmar transacciones.

Puede conectarse a las redes y testnets compatibles. Cambiar de red no transfiere automáticamente activos entre blockchains: hacen falta funciones o servicios específicos. La cartera no es una red blockchain y no garantiza la seguridad ni la liquidez de una aplicación.

3. Truffle

Truffle era un entorno conocido para desarrollar contratos inteligentes de Ethereum, no solo tokens ERC-20. Ofrecía compilación, despliegue de contratos, enlace de bibliotecas y pruebas automatizadas con herramientas como Mocha y Chai.

El 21 de septiembre de 2023, Consensys anunció la retirada de Truffle y Ganache y el archivado público de sus repositorios a partir del 20 de diciembre de 2023. Se orientó a los usuarios hacia alternativas como Hardhat y Foundry. Por tanto, aquí Truffle es una herramienta histórica, no un punto de partida imprescindible y mantenido activamente para proyectos nuevos.

4. Redes de prueba blockchain

Las testnets ayudan a probar contratos y aplicaciones antes de desplegarlos en la red principal. Pueden revelar problemas de funcionamiento e integración, pero no demuestran automáticamente seguridad, estabilidad ni escalabilidad.

Las testnets públicas son distintas de las redes locales de desarrollo. Ganache era una blockchain local de desarrollo del ecosistema Truffle, no una testnet pública de Ethereum. El fin de su mantenimiento se explica arriba.

Un entorno local ofrece control y experimentación rápida. Una testnet pública permite probar interacciones en un entorno compartido, pero la carga y las condiciones económicas pueden diferir de las de la red principal. Los tokens de prueba sirven para experimentar sin activos reales de la red principal; usar una testnet no reduce por sí mismo las comisiones de gas de la aplicación en producción.

5. Blockchain como servicio (BaaS)

En BaaS, un proveedor administra partes de la infraestructura blockchain, como nodos o redes. Esto puede simplificar la puesta en marcha y la operación, pero los costes y las funciones dependen del servicio y las necesidades del cliente.

El cliente sigue siendo responsable de aspectos como la lógica de la aplicación, permisos de acceso, configuración y pruebas. Un servicio gestionado en la nube no elimina automáticamente todas las tareas de mantenimiento y seguridad.

La integración con sistemas existentes depende de las interfaces disponibles y los requisitos técnicos. Amazon (AMZN ) ofrece AWS Managed Blockchain; AWS Amplify es, en cambio, un conjunto de herramientas para aplicaciones web y móviles que pueden integrarse con otros servicios. Microsoft (MSFT ) tenía Azure Blockchain Service, pero ese servicio concreto se retiró el 10 de septiembre de 2021. Esto no significa que se cerraran todos los servicios Azure. Conviene distinguir estos nombres al evaluar los ejemplos históricos del artículo.

6. Geth

Geth es el cliente de ejecución de Ethereum implementado en Go. Gestiona transacciones, ejecución de la EVM, estado e interfaces de programación, entre otras funciones. Los desarrolladores pueden utilizarlo para desplegar contratos y leer información de la red.

Desde la transición de Ethereum a proof of stake en 2022, un nodo completo también necesita un cliente de consenso. Geth no crea automáticamente puentes entre redes ERC-20: ERC-20 es un estándar de token, no una red independiente. En la red principal de Ethereum ya no se minan bloques y los contratos no tienen que escribirse en Go.

7. Mist

Mist era un navegador independiente para aplicaciones descentralizadas, con funciones de cartera y conexión a un nodo Ethereum. Se diferenciaba de una extensión de navegador y estuvo disponible históricamente para Linux, macOS y Windows. Operar un nodo completo requería bastante almacenamiento.

El 27 de marzo de 2019, los desarrolladores anunciaron que Mist y Ethereum Wallet dejarían de tener soporte. El repositorio está archivado. Por tanto, Mist no era una recomendación actual ni siquiera en 2023, y su antigua condición oficial no demuestra seguridad. Se incluye aquí por su papel en la historia del ecosistema.

8. Remix IDE

Remix IDE es un entorno de desarrollo, entre otros para Solidity, disponible en el navegador y como aplicación de escritorio. Permite escribir, compilar, analizar, probar y desplegar contratos inteligentes. Se puede comenzar con simulación local y después utilizar una testnet o la red principal mediante una conexión compatible. No sustituye una evaluación completa de seguridad.

9. Ethlint

Ethlint, anteriormente Solium, verifica reglas de estilo y algunos problemas de seguridad en código Solidity y puede corregir parte de los problemas automáticamente. La documentación indica que el antiguo paquete solium no recibe actualizaciones después de diciembre de 2019 y remite a los usuarios a ethlint.

Un linter no encuentra todos los errores ni sustituye pruebas o auditorías. Incumplir una regla de estilo no provoca necesariamente un fallo de la aplicación: el formato y los errores funcionales son distintos. También debe comprobarse la compatibilidad con la versión de Solidity utilizada.

10. Solc

Solc es el compilador de Solidity. Genera, entre otros resultados, bytecode y una descripción ABI a partir del código fuente. Las aplicaciones utilizan la ABI para comunicarse con el contrato.

El compilador nativo está implementado en C++, mientras solc-js permite utilizar ese mismo compilador desde JavaScript. Esto no significa que solc compile contratos escritos en C++ o JavaScript: su lenguaje de entrada es Solidity. La configuración debe adaptarse al contrato y a la red de destino.

Cómo elegir herramientas de desarrollo blockchain

Las diez entradas abarcan diferentes fases del desarrollo. Evalúa funciones, mantenimiento y compatibilidad antes de elegir. Las herramientas pueden facilitar el trabajo, pero la corrección de los contratos también exige investigación, pruebas y revisiones de seguridad.

David Hamilton es un periodista a tiempo completo y un bitcoinista de larga trayectoria. Se especializa en escribir artículos sobre la blockchain. Sus artículos han sido publicados en múltiples publicaciones de bitcoin, incluyendo Bitcoinlightning.com