Complex state y maps
En soluciones más complejas, puede que sea necesario almacenar información adicional. Una opción es serializar estructuras de datos JSON extensas, lo que permite la recuperación de datos a través de pares clave-valor. En el contexto de CW20, la asociación de direcciones con sus saldos CW20 se logra utilizando una estructura de datos de Mapa:
El código para esto se puede encontrar aquí.
A continuación se presenta un ejemplo de interacción con el valor del mapa SALDOS, como se ve aquí. El fragmento de código relevante es:
Están sucediendo muchas cosas aquí, así que analicémoslas:
deps.storage se proporciona como entrada. Esto es del contexto del contrato. deps es similar a ctx que puede haber encontrado en el SDK de Cosmos.
&rcpt_addr es una referencia prestada a la dirección del destinatario validada. Ha sido verificado y es válido; de lo contrario, la declaración let habría generado un error. Esto representa la clave en el par clave/valor.
La tercera declaración es una función anónima (lambda) que devuelve StdResult y realiza algunos cálculos basados en el valor actual del saldo. balance representa el valor en el par clave/valor y &rcpt_addr es la clave.
Para un uso más avanzado, incluida la indexación y funciones adicionales, consulte:
Last updated