Mit Verträgen das Genom von CryptoKitties untersuchen
Mit der Wolfram Language ist es ein Leichtes, über Blockchains mit Verträgen zu interagieren. Dieses Beispiel nutzt diese Funktionalität, um die Genome einer CryptoKitty und ihrer Eltern zu sequenzieren. Eine Visualisierung dieser Sequenzen veranschaulicht die Genvererbung.
CryptoKitties ist ein von Axiom Zen entwickeltes Videospiel, das auf der Ethereum-Blockchin läuft. Spieler können verschiedene Arten von einzigartigen virtuellen Katzen kaufen, verkaufen, sammeln und züchten. Jedes CryptoKitty hat eine ID und ein Genom. Der virtuelle Phänotyp manifestiert sich als Attribute, die als Cattribute bezeichnet werden und von den Eltern an die nächsten Generationen weitergegeben werden können.
Extrahieren Sie zuerst die Vertragsadresse von CryptoKitties.
Verwenden Sie BlockchainContractValue, um die getKitty-Funktion des Vertrags über die CryptoKitty mit der ID 949502 aufzurufen.
Extrahieren Sie aus den verschiedenen Datenfeldern des CryptoKitty die Gene und IDs der Eltern.
Ermitteln Sie nun die Gene der Eltern.
Gene werden mit der Kai-Notation des Spiels kodiert, die eine einbuchstabige Base58-Darstellung des ganzzahligen Wertes von 5-Bit-Segmenten ist. Die folgende Funktion konvertiert die ganzzahlige Darstellung in eine Liste von Genen, wobei sie die Tatsache nutzt, dass derzeit nur 180 Bit verwendet werden.
Ermitteln Sie die Gene des CryptoKitty und ihrer Eltern.
Isolieren Sie die verschiedenen Gene, die die CryptoKitty und ihre Eltern besitzen.
Erstellen Sie Farbregeln für jedes Gen.
Erzeugen Sie abschließend einen ArrayPlot us den drei Sequenzen. Jede Gruppe von vier Genen definiert ein Cattribut, das nach den Spielregeln interpretiert werden kann.