Se trata de un paso vital para garantizar que se está ejecutando el contrato adecuado. Es posible verificar cualquier contrato inteligente desplegado en la cadena de bloques. Tomemos un ejemplo práctico en el que se tiene un contrato activo en la blockchain y se desea determinar su nombre en clave y su versión.
Inspeccionar código
Examinaremos el siguiente contrato de acceso público archway1cug98emkqmj8n3n2tnm9d04e7q52r9lrjgaud9hecnqw6pth8fvse96uwj en las redes de Archway. Este contrato se basa en el modelo de contrato Increment que puede encontrarse aquí.
Podemos consultar la información del contrato utilizando el siguiente comando:
Los hashes de los contratos inteligentes de cw-plus se publican junto con el código del contrato, que puede encontrarse en cw-plus dentro de un archivo checksums.txt. He aquí un ejemplo:
En lugar de confiar en hashes preexistentes, podemos generar el hash para nuestro contrato nosotros mismos. Podemos utilizar rust-optimizer no sólo para crear código compacto y de alto rendimiento, sino también para asegurar que el código de salida es determinista y puede ser comparado con precisión. De hecho, los hashes proporcionados en el ejemplo anterior fueron todos producidos usando rust-optimizer.
Los hashes serán generados en ./artifacts/checksums.txt.
En lugar de usar el rust-optimizer directamente, puedes utilizar el Archway CLI para optimizar tu código que también generará el checksum requerido con el hash para tu código. El rust-optimizer está siendo usado en segundo plano.
archway build --optimize
Los hashes se generarán en ./artifacts/checksums.txt.
Puede encontrar el valor y compararlo con el que hemos obtenido.