En esencia, la tecnología blockchain es un libro mayor descentralizado e inmutable que se utiliza para transferir información o activos de forma segura sin intermediarios de terceros. Si bien Bitcoin es la aplicación blockchain más conocida, todavía existe una idea errónea de que Bitcoin y la tecnología blockchain son lo mismo. Más bien, la tecnología blockchain es la tecnología que sustenta diferentes criptomonedas y también campos emergentes completos como DeFi. La industria de DeFi, por ejemplo, depende en gran medida de los contratos inteligentes. Como tal, este artículo analiza más de cerca algunos de los marcos de contratos inteligentes más populares para que los desarrolladores aprovechen al máximo la tecnología blockchain.
Es comprensible que los nuevos en criptografía puedan confundir los dos términos “Bitcoin” y “blockchain”. Y eso se debe a que Bitcoin es una marca más popular que su tecnología madre. En realidad, Bitcoin es solo una criptomoneda que usa la cadena de bloques para completar transacciones. Entonces, si está buscando un conocimiento más profundo sobre blockchain y Bitcoin, consulte Ivan en Tech Academy y la gran cantidad de cursos de calidad allí.
Ahora, considere los dos tipos de blockchain: con permiso y sin permiso. Las cadenas de bloques autorizadas solo se adaptan a un número finito de usuarios con acceso especial. Sin embargo, las cadenas de bloques sin permiso pueden acomodar una cantidad infinita de usuarios que no necesitan ningún acceso especial para unirse a la red.
Ethereum es un ejemplo de una cadena de bloques sin permiso, y ETH es la segunda criptomoneda más grande del mundo. Además, la cadena de bloques Ethereum utiliza contratos inteligentes escritos en el lenguaje de programación Solidity.
¿Por qué utilizar marcos de contratos inteligentes?
Un desarrollador de blockchain puede codificar contratos inteligentes por su cuenta o puede utilizar marcos de desarrollo de contratos inteligentes. La razón para usar un marco es que facilitan la vida al brindarle al desarrollador una plataforma para implementar y probar sus contratos.
Por lo tanto, aunque cualquier lista de marcos será subjetiva y los desarrolladores siempre estarán en desacuerdo sobre qué marcos se adaptan mejor a ellos, esta lista (aunque no es exhaustiva) puede ofrecer un excelente lugar para comenzar.
Al seleccionar un marco de contrato inteligente, los criterios principales son asegurarse de que pueda implementar un contrato inteligente en una cadena de bloques local y permitir pruebas rápidas y prácticas. Al evaluar qué marco es el mejor, dependerá de varios factores, como el tipo de cadena de bloques con la que está trabajando, el lenguaje de programación y la popularidad del marco. Por ejemplo, si está buscando un marco sin permisos que admita contratos inteligentes y sea popular, entonces los marcos que funcionan en Ethereum serán la opción.
Por lo tanto, este artículo examinará algunos de los principales marcos de blockchain utilizados exclusivamente para Ethereum blockchain.
Tres marcos de contratos inteligentes
Veamos tres de los marcos más populares y en qué se diferencian.
- Suite Truffle
- Duende
- Casco de seguridad
Marco de contrato inteligente – Truffle Suite (JavaScript)
Truffle ha sido el rey reinante de los marcos de desarrollo de contratos inteligentes durante algunos años. Esto se debe a que, como marco generalizado y sólido, ha establecido continuamente el estándar. Y dado que la mayoría de los proyectos de contratos inteligentes utilizan esta plataforma, hay muchos ejemplos fáciles de seguir para cualquier desarrollador que lo necesite.
Además, Drizzle y Ganache son dos herramientas que se integran con Truffle. Drizzle es una colección de bibliotecas frontend, mientras que Ganache proporciona una forma para que los desarrolladores ejecuten una cadena de bloques local.
Por lo tanto, los desarrolladores pueden usar Ganache a lo largo del ciclo de desarrollo, lo que les permite implementar y probar sus dApps de manera segura. Además, Ganache está disponible en Windows, Mac y Linux.
Y con una cuenta de equipo mejorada y de pago, los desarrolladores pueden acceder a más herramientas en Truffle. Estas herramientas ofrecen características como implementaciones visuales, integración continua de contratos inteligentes y monitoreo. Otra ventaja es la integración directa con el complemento de OpenZeppelin.
Características de la trufa
Al usar Truffle, los desarrolladores obtienen acceso a funciones como la compilación de contratos inteligentes incorporada y las pruebas de contratos automatizadas para un desarrollo rápido. La gestión de red también está disponible para implementar contratos en redes públicas y privadas. Además, la gestión de paquetes incluye una consola interactiva para la comunicación directa del contrato. Además, un programa de ejecución de secuencias de comandos externo ejecuta las secuencias de comandos dentro del entorno Truffle.
Los desarrolladores necesitarán NodeJS para instalar Truffle, y el primer paso es crear un proyecto. Entonces pueden comenzar a compilar contratos. Los contratos están en el directorio “contratos /” del proyecto. Y dado que Solidity es el lenguaje de programación, los archivos y las bibliotecas asociadas tendrán el sufijo “.sol”. Para profundizar, consulte los documentos de Truffle Suite.
La desventaja de la trufa
Sin embargo, la trufa tiene algunos aspectos negativos. Por un lado, es difícil obtener soporte para problemas debido al gran volumen de usuarios, y Hardhat (ver más abajo) lo ha eclipsado en términos de velocidad. Su documentación puede estar desactualizada, por lo que rastrear un error, usar Google o enumerar el problema en GitHub puede ser más rápido que usar el soporte de Truffle. Sin embargo, dado que muchos desarrolladores utilizan esta plataforma, el soporte de pares está disponible.
Mientras tanto, ConsenSys adquirió Truffle en noviembre de 2020. Por lo tanto, será interesante ver si abordan algunos de estos problemas. Con suerte, formarán un equipo lo suficientemente grande como para asignar los recursos necesarios para mejorar su documentación.
Resumen de trufas
- Popularidad: plataforma más utilizada
- Tecnología: JavaScript
- Complemento (s): OpenZeppelin y Etherscan
- Cadena de bloques: Ganache
- Código abierto: sí
Marco de contrato inteligente – Brownie (Python)
Truffle inspiró el desarrollo de Brownie, que es su equivalente en Python. Seamos realistas, a los “Pythonistas” no les gusta JavaScript, por lo que agradecieron la nueva opción que ofrecía Brownie. Brownie está escrito en Python, elimina muchas de las frustraciones de JavaScript al tiempo que proporciona un marco sencillo y fácil de usar para desarrollar e implementar contratos inteligentes.
Además, algunos de los desarrolladores inteligentes de Uber en Yearn.Finance le dieron a Brownie el asentimiento de aprobación. Y este proyecto ha ganado impulso con más desarrolladores que optan por Python y el marco Brownie. Entonces, para los Pythonistas u otros desarrolladores que buscan un marco limpio y simple que no sea JavaScript, Brownie podría ser la respuesta.
Características de Brownie
El marco Brownie ofrece soporte completo para Solidity y Vyper y realiza pruebas de contrato a través de pytest. También tiene algunas herramientas de depuración poderosas y una consola incorporada para facilitar la interacción del proyecto.
La forma preferible de instalar Brownie es con pipx. Pipx es similar al npx de JavaScript y es una herramienta para ayudar a instalar y ejecutar aplicaciones escritas en Python. Pipx no se envía con Python, por lo que debe instalarse por separado para los usuarios nuevos.
Para una inmersión más profunda, consulte los documentos de Brownie.
Brownie Resumen
- Popularidad: El mejor framework de Python
- Tecnología: Python
- Complemento (s): Etherscan con soporte Vyper
- Cadena de bloques: Ganache
- Código abierto: sí
Marco de contrato inteligente: casco (JavaScript)
La popularidad de Hardhat también está creciendo. Y cuenta con algunas de las integraciones más sencillas, las pruebas más rápidas y los mejores tutoriales que existen. Para los desarrolladores que no están casados con Truffle pero quieren seguir con un marco de JavaScript, Hardhat es un candidato digno. La simplicidad del marco y las pruebas ultrarrápidas merecen al menos un intento.
Aprenda a trabajar con frameworks JavaScript tomando la Programación JavaScript para Desarrolladores Blockchain en Ivan on Tech Academy.
Hardhat se integra directamente con el complemento de OpenZeppelin y utiliza Ethers.js y Waffle para realizar pruebas. Además, algunos desarrolladores creen que Ethers.js es superior a web3.js ya que agrega algunas mejoras de facilidad de uso. Además, si tiene preguntas, el canal Discord de Hardhat ofrece un lugar para obtener respuestas rápidamente.
Este es un marco rápido y limpio, y el equipo de Hardhat está dedicado a mejoras constantes para facilitar el trabajo del desarrollador de contratos inteligentes.
Características del casco
Al igual que algunos de los otros marcos, Hardhat proporciona un entorno de desarrollo para compilar, implementar, probar y depurar contratos. Además, ayuda a los desarrolladores a administrar y automatizar estas tareas recurrentes.
Hardhat también viene con una red Ethereum local incorporada creada para el desarrollo con el enfoque en la depuración de Solidity.
Además, utiliza lo que se llama su Hardhat Runner, que es un corredor de tareas extensible. Las tareas pueden llamar a otras tareas, lo que permite flujos de trabajo más complejos. Y los usuarios y los complementos pueden anular las tareas existentes, lo que genera flujos de trabajo personalizables.
Gran parte de la funcionalidad de Hardhat proviene de sus complementos, y los desarrolladores pueden elegir cuáles quieren usar. Hardhat tiene algunos valores predeterminados incorporados, pero no anulan la elección del desarrollador. Los desarrolladores pueden optar por anular todos los valores predeterminados.
Para obtener más información técnica sobre Hardhat, consulte su documentación.
Resumen de casco
- Popularidad: está detrás de Truffle pero en aumento
- Tecnología: JavaScript
- Complemento (s): OpenZeppelin y Etherscan
- Blockchain: entorno de ejecución de casco
- Código abierto: sí
Marcos alternativos de desarrollo de contratos inteligentes
También podría valer la pena consultar otros marcos alternativos. Algunos han implementado ideas interesantes que los “3 grandes” enumerados anteriormente podrían comenzar a incorporar si aumentan su popularidad. Estos son:
- Waffle (JavaScript)
- Dapp.Tools
Gofre
El marco de Waffle es otra opción de JavaScript que los desarrolladores pueden querer considerar. A Waffle le gusta presumir de que es “más dulce, más simple y más rápido que Truffle”. Sin embargo, no se recomienda como marco de implementación independiente. Los desarrolladores pueden usarlo de esta manera siempre que no les importe escribir sus propios scripts personalizados. Sin embargo, más a menudo, Waffle se usa como la herramienta predeterminada para trabajar con Hardhat.
La filosofía de Waffle es que es “minimalista con pocas dependencias” y se centra más en la velocidad de ejecución. Además, es compatible con TypeScript, está bien documentado y los usuarios pueden importar contratos fácilmente desde módulos npm.
Si algo de esto suena demasiado complicado, no se preocupe, ¡no lo es! Simplemente haga clic en Ivan en Tech Academy, y cuando se una, los mejores instructores de blockchain y una comunidad vibrante estarán allí para responder cualquiera de sus preguntas relacionadas con blockchain.
Resumen de gofres
- Popularidad: Marco alternativo
- Tecnología: JavaScript
- Blockchain: todas las opciones incluidas
- Código abierto: sí
Para obtener más información sobre Waffle, consulte sus documentos.
Dapp.Tools
El framework Dapp.Tools se destaca porque MakerDAO lo usa. Es único porque está escrito en Haskell y al mismo tiempo es compatible con muchos complementos como OpenZeppelin.
Dapp.Tools es un marco minimalista pero al mismo tiempo lo suficientemente potente como para satisfacer las demandas de los desarrolladores de contratos inteligentes. Es un marco limpio y sencillo para aquellos que buscan un marco minimalista y amigable con la línea de comandos.
Resumen de Dapp.Tools
- Popularidad: MakerDAO lo usa
- Tecnología: Haskell
- Cadena de bloques: Ganache
- Código abierto: sí
Algunas herramientas que no son del marco
También debemos mencionar algunas de las herramientas que no son marcos que se pueden usar con marcos de contratos inteligentes. A continuación, presentamos algunos:
- Complemento OpenZeppelin
- Verificador de Explorador de bloques de Etherscan
- Crear aplicación Eth
Complemento OpenZeppelin
Si lee nuestro artículo, “DeFi Deep Dive – ¿Qué es OpenZeppelin?” usted sabe que OpenZeppelin crea herramientas para desarrolladores de contratos inteligentes. Los desarrolladores pueden crear rápidamente un ERC20 con OpenZeppelin simplemente agregando una declaración de importación y una herencia así:
importar “@ openzeppelin / contract / token / ERC20 / ERC20.sol”;
el contrato GLDToken es ERC20 {// el código va aquí}
Si desea obtener más información sobre cómo escribir declaraciones de importación y herencia en el lenguaje de programación Solidity, tome el curso de Programación de contratos inteligentes en Ivan on Tech Academy.
OpenZeppelin es de código abierto y el equipo se dedica a asegurarse de que los desarrolladores no tengan que reinventar la rueda al crear contratos inteligentes de forma continua. Pero OpenZeppelin también tiene lo que se llama una “funcionalidad de contratos actualizables”. Los desarrolladores pueden utilizar esta función para implementar un contrato de proxy que deberán actualizar cada vez que realicen cambios. En conclusión, OpenZeppelin tiene muchas herramientas excelentes para explorar.
Verificador de Explorador de bloques de Etherscan
Etherscan es el explorador de bloques más popular del mundo. Además, cualquiera que desee verificar un contrato inteligente implementado necesitará la dirección del contrato y la Interfaz binaria de aplicación (ABI). La ABI es cómo llamar a funciones en un contrato para recuperar datos. Y aunque localizar la dirección del contrato no suele ser difícil, encontrar el ABI puede serlo.
Por lo tanto, para facilitar que otros interactúen con un contrato inteligente, el desarrollador debe verificarlo. La mayoría de los marcos utilizan un complemento de verificación para que los desarrolladores implementen un contrato inteligente y luego lo verifiquen en Etherscan. Este complemento de verificación debería formar parte del arsenal de cualquier desarrollador de contratos inteligentes.
Crear aplicación ETH
Crear contratos inteligentes en el backend es excelente, pero no servirán de nada si nadie puede acceder a ellos. Es por eso que sus creadores crearon create-eth-app. Es para aquellos que buscan crear rápidamente una interfaz para sus contratos inteligentes usando ReactJS. Hace que la construcción de frontend sea mucho más fácil.
Marcos de contratos inteligentes para desarrolladores: conclusión
Como todo lo demás en la industria blockchain, el maravilloso mundo de Smart Contract Frameworks es vertiginoso. Las herramientas más populares pueden desaparecer rápidamente, solo para ser reemplazadas por otras nuevas. Truffle todavía está en la cima, pero otros proyectos abordan los mismos problemas de manera diferente y pueden desafiarlos algún día.
Por eso, si eres un desarrollador de contratos inteligentes en la vía rápida, querrás revisar estas herramientas y marcos para ver cuáles prefieres.
Pero si realmente desea mejorar su juego, deberá obtener la mejor educación posible sobre la cadena de bloques de Ethereum. Y el lugar para eso es Ivan en Tech Academy. ¡Asegúrese de revisar la lista de cursos hoy!
Autor MindFrac