Complex state y maps
Last updated
Last updated
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 .
A continuación se presenta un ejemplo de interacción con el valor del mapa SALDOS, como se ve . 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: