Lean Engineer

リーンエンジニア〜効率的に実験しながら、技術を学ぶブログ

スマートコントラクトゲームCryptoKitties(暗号猫)の遊び方

f:id:kasajei:20180104234959j:plain

 イーサリアムのスマートコントラクトってどのように動くのか?そもそも本当に動くのか?どのようなアプリがあるのか?気になるところだ。そんな中でリリースされて話題なのがCryptoKitties。TechCrunchの記事が詳しい。

 このような感じで、いろいろな種類の猫を飼うことができる。かわいい。

 猫を増やす方法は、猫を買うこととSiringして子猫を産むことだ。詳しく見ていこう。

CryptoKittiesの遊び方

 CryptoKittiesでできることは、3つ。

  • マーケットで猫を飼う(Buy)/ 売る(Sell)/ プレゼントする(Gift)
  • 猫を種親としてとしてマーケット出す(Breed)
  • マーケットに出ている種親とSiringして子供を作る

 まず、遊ぶためには、MetamaskというChrome Extensionと、ETH(イーサリアム)が数千円分ほど必要だ(coincheckなどで購入しよう)。ETHが手に入ったら、Metamaskのウォレットに送金しよう。

マーケットで猫を飼う / 売る

 まず、猫を買うところからゲームは始まる。マーケットにはかわいい猫が売られている(右上のメニューからMarketplaceを選ぶと見れる。For Saleが選ばれてることを確認しよう)。売り手は、初値と終値と、終値までの期間を決めることができる。期間がすぎれば、終値で固定されるようになっている。こんな感じだ。初値が0.036ETHで1日で0.02ETHになるようだ。

 ここで、Buy NowをクリックするとMetamaskが起動する。必要なGAS(プログラムを動かすのに必要なETH)という手数料の設定をし、SUBMITを押すと猫を飼うことができる(高い猫も売られてるので、まずはSort byでCheapest fistを選ぶと安い順に並んでいる)。

 Gas LimitとGas Priceはちょっと高めに設定してあげないと、上手く購入できないことがある。Gas Limitは200000、Gas Priceは50ぐらいに設定すると良いようだ。僕が買った猫はこんな感じ。かわいい。

持ち猫で遊ぶ

 さて、購入が成功すると、3つのオプションが表示される

  • Gift Kitty : 猫をプレゼントする
  • Sell Kitty : 猫を売る
  • Breed Kitty : 種親としてマーケットに出す

猫をプレゼントする

 Gift Kittyをクリックすると、どのアドレスに猫を送りますか?と尋ねられる。

 ここで、アドレスを入力し、Gift Kittyをクリックすれば、Metamaskが起動し、SUBMITをクリックすれば、猫をプレゼントすることができる

猫を売ってみる

 Sell Kittyをクリックすると、猫を売る設定をすることができる画面に遷移する。ここで、初値と終値と期間を決める。買った猫を、高く売りつけよう!Doneをクリックすれば、Metamaskが起動する(省略)

猫をBreedしてみる

 BreedでSire to the publicタブを選択すると、種親としてマーケットに出店することができる。種親としての役割をはたすことで、ETHをもらうことができる(子供はもらえない)。ちなみに、性別は関係ないようだ・・・。

 出店されている猫はこのように表示される(違う猫)。他のユーザーからSiringされれば、指定されたETHをもらうことができる。

 Siringが成功したら、メールが届く。What a playboy!と言われる。

自分の猫とSiringすることも可能

 BreedのところでSire with my Kittiesタブをクリックすれば、自分の持ち猫との子供を作ることができる。「OK, let's get started」をクリックすれば、自分の猫を選ぶ画面になる。あとは、猫を選び、GAS=手数料のETHを支払えば、子猫が手に入る!

 子供を産んだ猫はCool Time (Resting)になり、休憩時間が表示されている。Breedができなくなっているのがわかる。賢者モードみたいなものだ。

マーケットの種親とSiringして子供を作る

   MarketplaceのSiringタブに行けば、マーケットに出ている種親を見ることができる。表示されているETHを支払えば、子猫を作り、子猫をもらうことができる。レアな子猫が生まれることもある。

 Siringしたい猫をを選ぶと、このような画面になる。Breed nowを選べば、自分の猫から親になる猫を選ぶ画面になる。

 君に決めた!!Metamaskで種親のユーザーにEHTと必要なGASを支払う。

 あとは1日ぐらい待てば、メールが届き、子猫が生まれている。すぐに子猫は届かないので、ちょっと不安になるが、待っていれば大丈夫だ。

ゲームサイクル

 ゲームサイクルとしては、まずは猫をマーケットから買う(もしくは他のユーザーから貰う)。猫が一匹いないことには始まらない。

 次に、猫を安く増やしたいなら、Siringする。そうすることで、子猫が手に入るからだ。Siringして手持ちの猫を増やそう。

 ETHを稼ぎたければ、猫を売ったり、種親としてBreedしよう。そうすれば、自分が設定したETHを受け取ることができる。

まとめ

 スマートコントラクトを使った、ゲームで遊ぶというのは楽しい。実際にスマートコントラクトを動かしてみると、理解も深まる。ぜひ遊んでみて欲しい!そして、猫はかわいい。