Wolfram言語

契約を使ってCryptoKittiesのゲノムを調べる

Wolfram言語を使うとブロックチェーン上の契約とのインタラクションが簡単にできる.この例では,この機能を利用して,CryptoKitty(クリプトキティー)とその親のゲノムを並べる.これらの列の可視化によって,遺伝子の継承がよく分かるようになる.

CryptoKittiesは,イーサリアムブロックチェーン上で実行される,Axiom Zenが開発したビデオゲームである.このゲームでは,それぞれが一意的なさまざまなタイプの仮想の猫の,売買,収集,交配ができる.それぞれのCryptoKittyにはIDとゲノムがある.親から次の世代に伝えられる仮想の表現型がcattributeと呼ばれる属性として明らかにされている.

CryptoKittiesの契約アドレスを抽出することから始める.

BlockchainContractValueを使ってCryptoKittyの契約getKitty関数をID 949502で呼び出す.

CryptoKittyについての別のデータフィールドから,遺伝子と親のIDを抽出する.

次に,親の遺伝子を取り出す.

遺伝子はゲームのKai表記を使って符号化されているが,これは.5ビットセグメントの整数値の単一文字のBase58表現である.次の関数は,現在使われているのが180ビットしかないという事実を使って,整数表現を遺伝子のリストに変換する.

CryptoKittyとその親の遺伝子を入手する.

CryptoKittyと親に存在する異なる遺伝子を分離する.

各遺伝子の色の規則を作る.

最後に,3列のArrayPlotを生成する.4つの遺伝子の各グループがrules of the game(ゲームの規則)に従って解読可能なcattributeを定義する.

関連する例

de en es fr ko pt-br zh