En Solidity, cuando desee almacenar una colección de datos, puede usar una matriz o un mapeo. En este artículo, le mostraré cómo crear una asignación y cómo agregar claves y valores mediante la función constructora. ¿Qué es el mapeo? Siguiendo la " " documentación de Solidity Puede pensar en las asignaciones como tablas hash, que se inicializan virtualmente de modo que existen todas las claves posibles y se asignan a un valor cuya representación de bytes es todo ceros, el valor predeterminado de un tipo En otras palabras, el mapeo en Solidity es como un diccionario en Python o un mapa en JavaScript. Python le permite iterar a través de un diccionario y JavaScript le permite iterar a través del mapa. . Sin embargo, en Solidity, no puede iterar a través del mapeo El mapeo usa la siguiente sintaxis public mappingName mapping (_KeyType => _ValueType) También puede usar el mapeo anidado de la siguiente manera mapping( mapping( _ValueType)) public mappingName; => _KeyType => _KeyType Déjame explicarte cómo funciona el mapeo. La siguiente tabla presenta los números de habitación con los nombres de los huéspedes del hotel correspondientes. Puede pensar en esta tabla como una relación de par clave-valor donde puede encontrar un conjunto único de "claves" que corresponden a un valor único. Entonces, si solicita el valor de "102", recibirá "Sara". Veamos cómo crear un mapeo: pragma solidity ^ ; contract MyContract { mapping( => ) names; } 0.8 .4 uint string public Primero, debe declarar el mapeo con el palabra clave y, a continuación, especifique el tipo de datos para la clave y el valor. En este caso, cada clave en el mapeo será una , y cada valor correspondiente será un . mapping uint string Antes de implementar nuestro contrato inteligente para ver cómo funciona el mapeo, agregamos algunos datos. Para ello usaré el función. contructor } constructor () public { names[101] = "Jon"; names[102] = "Sara"; names[103] = "Paul"; } Ahora podemos implementar nuestro contrato inteligente simple en Remix para ver cómo funciona. Hagamos clic en “Implementar”. Una vez que se implementa el contrato, puede ver el mapeo en acción. Para hacerlo, debe proporcionar una clave y hacer clic en "llamar". En mi ejemplo, pedí el valor de la clave "101" y recibí "Jon". comida para llevar el mapeo no tiene una longitud, se permite el mapeo de variables de estado, el mapeo no puede devolver parámetros de funciones de contrato que son públicamente visibles, no puede iterar a través de la asignación. Espero que este breve tutorial lo ayude a comprender los conceptos básicos del mapeo en Solidity. Referencias: https://docs.soliditylang.org/en/v0.8.4/types.html#mapping-types