Wolfram Language

Uso de contratos para explorar el genoma de CryptoKitties

Wolfram Language facilita interactuar con contratos en cadenas de bloques. Este ejemplo explora esta función para secuenciar los genomas de un CryptoKitty y sus padres. Una visualización de estas secuencias ilustra la herencia genética.

CryptoKitties es un juego de video desarrollado por Axiom Zen que opera sobre una cadena de bloques de Ethereum. Los jugadores pueden comprar, vender, coleccionar y criar distintos tipos de gatos virtuales únicos. Cada CryptoKitty tiene una identificación y un genoma. El fenotipo virtual se manifiesta como atributo llamado cattribute que puede ser heredado por los padres a las siguientes generaciones.

Comience por extraer las direcciones de contrato de CryptoKitties.

Use BlockchainContractValue para llamar la función getKitty del contract en el CryptoKitty con la identificación 949502.

A partir de los distintos campos de datos acerca del CryptoKitty, extraiga los genes y las identificaciones de los padres.

Ahora recupere los genes de los padres.

Los genes son codificados usando la notación Kai del juego, la cual es una representación de una sola letra Base58 del valor integral de segmentos de 5 bits. La siguiente función convierte la representación integral a una lista de genes, usando el hecho de que hay solamente 180 bits actualmente en uso.

Obtenga los genes del CryptoKitty y sus padres.

Aísle los distintos genes presentes en el CryptoKitty y sus padres.

Cree reglas de color para cada gen.

Finalmente, genere un ArrayPlot de las tres secuencias. Cada grupo de cuatro genes define un cattribute que puede ser interpretado de acuerdo con las reglas del juego.

Ejemplos relacionados

de en fr ja ko pt-br zh