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")