さてさて今日はCryptoZombiesの更新に力入れるためにも早めにやっていきます!!payable関数のチャプターの際にてetherの支払いをやったのを思い出しつつ、web3.jsでの実装方法についてやります。
通貨etherの単位として、weiに関しても出てきます!
復習としても良いと思いますので、見ていきましょう!!
CryptoZombies | イーサリアムでのゲーム開発を学ぶ
それでは開演しまっす!!
attack、changeName、changeDna関数に関しては、前回の記事でやったやり方でコーディングできるので、省略するとの事ですな。実際のところはやるべき事ではあるが、その時は未知なる領域を開拓せよ⑦を参照してやってみよう。
別のやり方が必要な関数はpayable関数という事なので、そのやり方を見ていきましょう。
weiに関しては覚えておりますね??
過去記事参照👉レッスン3:Solidityの高度なコンセプト④
尻切れにつき追記、
toWei(“0.001”, “ether”) })
以上のコードを使うと、etherをweiに変換して送信してくれるという事ですね。いちいち計算する必要がないっていうのはありがたいですな!
web3js.utils.toWei(“1”, “ether”)は覚えておくべきシンタックスですかね!
おっ、今回は早いですな、、という事でテストだ!!
feedOnKittyに非常に似ている、、という事なので、、コピペしててもいいかもしれませんね。
1では、この関数(levelUp)は一つのパラメータを受け取る、との事なので、、
function levelUp(zombieId) {}
となります。
2では、トランザクションの前にtxStatusのテキストを表示する、なので、
となりますね。
説明の例としてはtoWei(“0.001”, “ether”)となっているが、ZombieHelper.solにてlevelUpFeeにて0.001 etherと指定しているため、ここでは”ether”が必要ないのかもしれません。。
DelegateCallに質問してみていますが、おそらくそうでしょう。
4では、成功したら、次のテキストを表示、、なので、、
となります。
5では、ここではUIの表示を変更する必要がないので
の部分は削除しましょう。
})
の部分は成功しなかった場合に必要なので、忘れずに入れましょう。
まとめると、、、
function levelUp(zombieId) {
$(“#txStatus”).text(“Leveling up your zombie…”);
.on(“receipt”, function(receipt) {
})
となります。
ここらへんは大丈夫そうです、、、質問したところくらいですかね〜!そこまで悩まずに済んだので早めに午前の部終了できましたな!!
残りの時間はSpeakeeテストを本日はまだ更新していないので、そちらをやるのと、、
本を読む時間にしようかな!
CryptoZombies | イーサリアムでのゲーム開発を学ぶ
という事でまだ後ほど!