Este código es un contrato inteligente escrito en Solidity, el lenguaje de programación utilizado para desarrollar contratos inteligentes en la red de Ethereum. El SmartContrat se llama PokemonFactory, El contrato define la estructura de un "Pokemon" que contiene:
- id (unit) : identificador unico del poekmon.
- name (name) : nombre del pokemon.
Además, tiene una matriz de Pokemons llamada "pokemons", que se inicializa como privada y no se puede acceder desde fuera del contrato
También hay dos mapeos que se utilizan para asignar una dirección a cada Pokemon y un recuento de Pokemons por cada dirección.
- pokemonToOwner: El dueño del pokemon. mapping
- ownerPokemonCount: La cantidad de pokemones que tiene el propietario. mapping
- La función "createPokemon" se utiliza para agregar un nuevo Pokemon a la matriz "pokemons" y asignar el Pokemon al creador del mismo (la dirección que llama a la función).
- La función "getAllPokemons" devuelve la matriz completa de todos los Pokemons creados.
-
npm: Node Package Manager. para instalar, actualizar e instalar paquetes y dependencias para proyectos en Node.js
npm -v
-
NodeJS: Javascript runtime contruido en el engine Javascript de Chrome V8. Node.js website: https://nodejs.org/.
node -v
-
Npx:
npx -v
-
Creación de la carpeta del proyecto.
mkdir pokemonFactory
-
Inicio de la configuración del proyecto con la configuración por defecto.
npm init
-
Instalación de Hardhat como dependencia de desarrollo en el proyecto.
npm install --save-dev hardhat
-
Instalar Hardhat en el proyecto
npx hardhat
-
Seleccionar el tipo de proyecto: Crear un proyecto vacío.
[IMAGE]
-
Instalación del plugin de hardhat: complilar, testear.
npm install --save-dev @nomicfoundation/hardhat-toolbox
-
En el Archivo hardhat.config.js se adiciona la siguiente linea para importar hardhat-toolbox
require("@nomicfoundation/hardhat-toolbox")