Ejercicio: configuración de un nuevo proyecto e integración de OpenZeppelin
Vamos a crear un proyecto con la ayuda de Truffle y, después, incorporaremos la biblioteca de contratos de OpenZeppelin. Antes de continuar, asegúrese de que tiene instalados Truffle y la CLI de Ganache.
Crear un proyecto nuevo
- Abra el terminal o la aplicación de línea de comandos en el equipo. En el terminal, cree una carpeta denominada Token20. Para ello, ejecute el comando
mkdir Token20
. Es habitual ejecutar este comando en una carpeta denominada Proyectos, donde se almacenan todos los demás proyectos de desarrollo. - Vaya a la carpeta Token20 (ejecute
cd Token20
). - Para inicializar un nuevo proyecto, ejecute
truffle init
. - Espere a que se inicialice el proyecto y, luego, ábralo en Visual Studio Code.
Debería ver la siguiente salida después de usar Truffle para inicializar el proyecto:
$ mkdir Token20
$ cd Token20/
$ truffle init
✔ Preparing to download box
✔ Downloading
✔ cleaning up temporary files
✔ Setting up box
$ ls
contracts migrations test truffle-config.js
Configuración del proyecto
Cuando el proyecto se haya creado y esté abierto en el editor, eche un vistazo al contenido de la carpeta del proyecto.
Después, tendrá que confirmar que tiene instalado Node.js. Abra el terminal y ejecute el comando node
. Si Node.js está instalado, ese comando devuelve la versión que está instalada en el equipo. Si Node.js no está instalado, vaya a Node para obtener información sobre cómo descargarlo para la plataforma.
Node.js viene con el administrador de paquetes de nodos (npm) instalado. npm ayuda a administrar otros paquetes y aplicaciones incluidos en JavaScript.
- En el terminal, ejecute
npm init
. Este comando muestra una utilidad que le guía a través del proceso de creación de un archivo package.json, que describe el proyecto y almacena las dependencias que se usan en el proyecto. - Complete los pasos de la utilidad para crear fácilmente un archivo package.json.
Nota:
Puede presionar ENTRAR en cada mensaje para usar el valor predeterminado.
Configuración de OpenZeppelin
Ahora, queremos integrarlo con la biblioteca de contratos de OpenZeppelin.
Para ello, ejecute npm install @openzeppelin/contracts
en el terminal.
Espere a que el paquete se instale correctamente en el proyecto. Debería ver una salida como la siguiente en el terminal:
+ @openzeppelin/contracts@4.5.0
added 2 packages from 1 contributor and audited 1 package in 1s
found 0 vulnerabilities
Observe que se han producido dos cosas:
- El paquete se ha agregado como una dependencia en el archivo package.json.
- Una carpeta llamada node_modules ha importado en la subcarpeta openzeppelin/contracts todos los contratos disponibles de OpenZeppelin.
Al inspeccionar el contenido de dicha carpeta, se devuelve la salida siguiente:
$ ls node_modules/@openzeppelin/contracts
README.md build/ governance/ metatx/ proxy/ token/
access/ finance/ interfaces/ package.json security/ utils/
Tómese su tiempo para examinar los archivos de origen de contrato existentes que ahora están disponibles para el proyecto. Preste especial atención a los contratos de token. Conozca mejor la implementación de cada contrato y qué funciones suelen estar disponibles.