Explicación de la suite Truffle – ¿Qué es Truffle?

La industria de la criptografía crece en tamaño todos los días y, con ella, también lo hace la cantidad de aplicaciones descentralizadas (dApps). El advenimiento de las aplicaciones descentralizadas (dApps) es una de las tendencias más populares en criptografía y, debido a esto, la demanda de estas aplicaciones distribuidas es más alta que nunca. Dado que las empresas y las personas tienen una gran demanda de dApps, la industria está evolucionando para hacer que el desarrollo de estas aplicaciones sea más manejable y conveniente. Para facilitar la vida de los programadores, la creación de herramientas como Truffle Suite ha sido un desarrollo natural. Truffle Suite ayuda a los desarrolladores con la creación de aplicaciones descentralizadas, y en este artículo, veremos más de cerca qué es Truffle Suite.

Comprensión de las aplicaciones descentralizadas (dApps)

Para comprender qué es Truffle Suite y por qué es un paso tan esencial en la dirección correcta, primero debemos comprender qué son las dApps. Las aplicaciones descentralizadas (dApps) son, como su nombre sugiere, aplicaciones descentralizadas. Las dApps son bastante similares a las aplicaciones normales en que brindan a los usuarios las mismas funcionalidades; sin embargo, la gran diferencia es que se ejecutan en un sistema peer-to-peer como blockchain. Dado que las dApps se ejecutan en esta tecnología, el resultado es que ninguna entidad puede controlar el sistema.

Estas son algunas de las características estándar de las dApps:

  • Código abierto: lo ideal para las dApps es que estén controladas por autonomía y mediante un mecanismo de consenso. Esto significa que, para que ocurran cambios, la mayoría de la red debe estar de acuerdo con el cambio. Como resultado, el código debe ser de código abierto para que las partes interesadas puedan seguir este proceso.
  • Descentralizado: este punto puede ser bastante obvio, pero aún es esencial incluirlo. Esto además significa que todos los registros de las aplicaciones deben almacenarse en una cadena de bloques pública. Esta es una precaución para evitar las caídas de la centralización.
  • Incentivos: los validadores de la cadena de bloques generalmente reciben una recompensa por su trabajo en forma de tokens.
  • Protocolo: la comunidad generalmente acuerda un protocolo para mostrar prueba de valor. Algunos ejemplos de esto son la prueba de trabajo (POW) o la prueba de participación (POS), donde, por ejemplo, la cadena de bloques de Bitcoin funciona a través de un sistema POW.

¿Qué es Truffle Suite?

La Truffle Suite consiste esencialmente en tres elementos diferentes: Truffle, Ganache y Drizzle. Truffle es un entorno de desarrollo, un marco de pruebas y una canalización de activos altamente sofisticados. El objetivo de Truffle es facilitar la vida de los desarrolladores utilizando la máquina virtual Ethereum (EVM) como base.

Comencemos con Ganache. Ganache es una cadena de bloques de desarrollo personal y configurable con una GUI personal. Esto significa que un desarrollador puede usar Ganache para implementar contratos inteligentes, desarrollar aplicaciones y ejecutar pruebas. Ganache puede ejecutarse en dos versiones diferentes, ya sea como una aplicación y una herramienta de línea de comandos.

Y finalmente, Drizzle es una colección de bibliotecas de front-end que pueden ayudar a que el desarrollo de dApps sea más fácil y predecible. Drizzle se basa en una tienda Redux, que brinda a los usuarios acceso a las herramientas de desarrollo de Redux.

Estas tres herramientas diferentes son parte del ecosistema de Truffle Suite, y ahora vamos a examinar más de cerca cada una de las partes para crear una mejor comprensión de cómo funcionan, cómo instalarlas y explorar algunas de sus características principales.

Entendiendo la trufa

Truffle es el entorno de desarrollo, el marco de prueba y la canalización de dApp para una cadena de bloques EVM. Esta descripción puede parecer algo abstracta para la mayoría de las personas, por lo que desglosaremos lo que esto significa. Sin embargo, este desglose está en un nivel fundamental y hay mucho más que aprender sobre Truffle.

En primer lugar, Truffle se opera en la Terminal y, como resultado de esto, varios trucos útiles pueden ser útiles para desarrollar una dApp. Para que sea más fácil de entender y seguir, daremos un ejemplo de cómo podría ser el proceso.

Antes de echar un vistazo más de cerca al proceso de desarrollo, debemos instalar Truffle en una computadora. La primera parte de este proceso es instalar npm en su computadora. Después de esto, puede ingresar el siguiente “npm install truffle -g” en la Terminal para instalar Truffle en su computadora globalmente.

Una vez que Truffle está instalado, puede iniciar proyectos de dos formas diferentes. La primera opción es crear un nuevo proyecto desde cero usando el comando “truffle init”. Esto creará una estructura básica con la que trabajará en el futuro. Sin embargo, a menos que la dApp que desea desarrollar sea completamente única, es favorable utilizar la segunda opción, que es el comando “unbox” de Truffle. Esto permitirá al usuario descargar proyectos estándar preconstruidos en los que podemos arrancar nuestras dApps.

Una vez que se crea un proyecto a partir del comando “unbox” o “truffle init”, aparecerá una estructura de carpeta del proyecto, que proporciona al usuario algunas opciones. Truffle creará algunas carpetas llamadas: contratos /, migraciones / y pruebas /, junto con un archivo llamado truffle-config.js.

La estructura de proyectos de Truffle

  • contratos /

La primera carpeta es la carpeta contratos /, y contiene todos los archivos de contrato de Solidity que contiene el proyecto. Esto significa que todos los archivos dentro de esta carpeta tendrán (.sol) al final de los nombres, lo que indica en qué idioma está escrito el contrato.

  • migraciones /

Esta carpeta albergará todos los archivos de migración del proyecto. Las migraciones son archivos escritos en Javascript que implementan contratos inteligentes en una cadena de bloques Ethereum o EVM. Esto significa que una migración es un conjunto de instrucciones que habilita el proceso de implementación. Si desea leer más sobre migraciones, haga clic aquí.

  • prueba/

Por último, al crear un nuevo proyecto, también aparecerá una prueba / carpeta. Esta carpeta se crea porque Truffle viene con un marco automatizado para probar contratos inteligentes. Esta carpeta alberga todas las pruebas unitarias para todos los contratos inteligentes. Las pruebas se pueden escribir en varios lenguajes diferentes, como Javascript, TypeScript y Solidity.

En realidad, hay dos formas diferentes en que alguien puede escribir pruebas utilizando su marco automatizado. El primero es para ejercitar sus contratos del mundo exterior, y están escritos usando Javascript en TypeScript. La segunda forma es ejercitar los contratos por adelantado en un escenario llamado bare-to-the-metal, y esto se hace con el código Solidity.

Para ejecutar las pruebas, puede utilizar el siguiente comando “$ truffle test”, pero también es posible especificar con precisión qué prueba desea ejecutar con el siguiente comando “$ truffle test ./path/to/test/file.js “.

Configuración de la red Ethereum

Otra función interesante que ofrece Truffle es la capacidad de configurar redes a las que el usuario puede conectarse. Este proceso se realiza con un archivo llamado “truffle-config.js”, que se puede encontrar en la raíz de los directorios de su proyecto. Este archivo es un archivo JavaScript que puede ejecutar cualquier código necesario para crear una configuración.

La configuración predeterminada se ejemplifica a continuación:

El archivo de configuración predeterminado ya ha configurado una red para localhost. Como configuración previa, Truffle Develop se ejecuta en localhost: 9545. Generalmente, Ganache se ejecuta en localhost: 8545. Truffle es excelente ya que puede comunicarse con Ganache de forma predeterminada. Además, estas cadenas de bloques tienen una identificación de red aleatoria que no tiene relación con la red pública real de Ethereum. Un ejemplo de esto es que la red principal tiene el ID de red 1.

También es posible expandir el archivo de configuración para incluir más redes como la red principal. No existen limitaciones para lo que podemos llamar las redes, pero Truffle usa “live” como red principal, y seguiremos el mismo ejemplo.

También es posible adaptar la red aún más especificando parámetros bajo la línea “network_id:” * “”. Aquí es posible especificar un límite de gas, precio de gas, direcciones, proveedor, WebSockets y algunas otras especificaciones.

Si no se especifican estos parámetros, Truffle ha optado por establecer algunos de ellos como predeterminados. Por ejemplo, si no se especifica un límite de gas para la configuración, el valor predeterminado se establecerá en 6721975. Además, el precio predeterminado del gas se establece en 100000000000 (100 Shannon).

Esta funcionalidad es excelente ya que permite a los desarrolladores configurar redes y migrar sin problemas sus contratos a la red en la que les gustaría probar la implementación de su código. Todo lo que es necesario es usar la bandera “- red” y especificar la red solicitada.

Características de Ganache

Ganache es una gran característica que Truffle Suite ofrece a sus usuarios. Como se mencionó anteriormente, es posible configurar redes con la ayuda de Ganache para crear una cadena de bloques Ethereum personal. La aplicación proporciona al usuario una GUI que le permite inspeccionar cómo reacciona la cadena de bloques a las acciones tomadas y ver cómo los contratos escritos funcionan en el entorno real.

Algunas de las características de Ganache son las siguientes:

  • Consulte la información sobre la cadena de bloques interna de Ganache. Esto incluye información sobre información de depuración vital y respuestas en la cadena.
  • Configure la minería con un solo clic y adapte los tiempos de bloqueo para que se adapten mejor a sus necesidades de desarrollo personal.
  • Explore todos los bloques de la cadena y examine lo que está sucediendo en un nivel más profundo.
  • Byzantium es un estándar que proporciona al usuario todas las funciones necesarias para crear dApps de última generación.
    Ganache hace que la vida de los desarrolladores sea mucho más cómoda y está disponible en Mac, Linux y Windows.

¿Qué es la llovizna?

Según Truffle Suite, Drizzle es: “Una colección de bibliotecas front-end que hacen que escribir interfaces de usuario dApp sea más fácil y predecible”.

Drizzle es completamente modular, lo que significa que puede agregar y quitar tantas funciones como desee. Truffle Suite ha desarrollado dos paquetes para usar React, pero su funcionalidad principal está en el módulo base de Drizzle.

Estas son algunas de las funciones de Drizzle que puede utilizar:

La esencia misma de Drizzle se basa en una tienda Redux y se encarga de sincronizar los datos de sus transacciones y los datos del contrato, entre otras cosas.

Hay dos opciones para Drizzle: generar su propia tienda o utilizar la existente. Todo lo que hay que hacer es importar reductores y sagas para configurarlo.

Drizzle mantiene una biblioteca de componentes de React que son comunes en dApps. Un ejemplo es la generación de formularios de entrada para contratos.

Drizzle también amplía los contratos de web3 1.0, lo que proporciona al usuario acceso a propiedades y métodos en su documentación.

Equipos de trufa

El equipo que trabaja en Truffle Suite decidió recientemente lanzar una actualización para Truffle Teams, que ayudará aún más a los desarrolladores a crear dApps. Es fácil perderse al escribir código durante un minuto, luego pasar a escribir pruebas y depurar los contratos. Este es un problema que Truffle Suite identificó y es el motivo de la última actualización de Truffle Teams.

Truffle Teams ahora proporciona a los usuarios un flujo de trabajo completo, lo que facilita a los desarrolladores realizar un seguimiento de su trabajo. El flujo de trabajo incluye la construcción, prueba, administración, monitoreo y depuración. Como resultado de esto, Truffle Teams cree que esto puede proporcionar a los desarrolladores un impulso significativo en la productividad.

Conclusión sobre Truffle Suite

Una cosa que es segura es que Truffle Suit es una excelente herramienta para el desarrollo de dApp. Los equipos Truffle, Ganache, Drizzle y Truffle brindan una gran funcionalidad a un campo que todavía es un dominio relativamente nuevo para la mayoría de las personas. La capacidad de desarrollar, probar y determinar si un programa se está ejecutando como debería antes de implementarlo en una cadena de bloques real es algo que ayudará a los desarrolladores a mejorar su juego dentro del mundo de las dApps.

Los cuatro elementos son fáciles de adquirir y definitivamente es algo que vale la pena revisar si eres un desarrollador interesado en dApps. Sin embargo, este artículo solo presenta las funciones esenciales que un desarrollador puede usar y hay mucho más que aprender sobre Truffle Suite.

Además, si está interesado en las criptomonedas en general, no dude en sintonizar la plataforma de educación blockchain número uno Ivan en Tech Academy. En este momento, hay una amplia selección de cursos de blockchain en los que puede inscribirse. No importa si es un desarrollador con años de experiencia o alguien nuevo en el mundo de la programación; hay cursos de todos los niveles para todos.

CriptoMundo

CriptoMundo.com es un medio digital independiente que difunde noticias y contenido sobre criptomonedas y tendencias emergentes de tecnologías financieras. Ofrece noticias, guías, artículos de opinión y gráficos en tiempo real.

Monedas

Bitcoin

Ethereum