おはようございます!LoomNetworkのTelegramに参加してるんですが、なんと!!レッスン6-日本語版リリース発表したよ!とアドミンの方が発表してました!昨日から少しずつ英語版で進めてたけど、やっぱり翻訳しながらやるとめちゃくちゃ時間がかかるのよねw英語リーディングの本は読んでて、まだ途中だけど早急にさらっとでも読めるようにならんといかん、という思いに駆られましたね。
英語版で進めてて、なんかHTMLだとかCSSの画面を見ているような感覚を覚えましたね。
<head/></head>だとか、そんな羅列がありJavaScript経験ある人ならスラスラっていけるんじゃないでしょうかね?
しかもクリアしたら開発者ライセンスがもらえる、だと〜!!!!
ライセンスって言えば、アップルだと年間1万円くらい支払いして、買う形のものだったと思うから、先行者有利という事なのか?w
それにしても楽しみだな〜!!
早くブログ更新して進めなきゃw
CryptoZombies | イーサリアムでのゲーム開発を学ぶ
本日もスタートします!
チャプター2:Ownerbleコントラクト
毎度のことながらセキュリティホールに気づけない私なのですが、、、w
現在の設定だとめちゃくちゃにされちゃうよ?大丈夫??というセキュリティ的な警告が出ているってことなのかな?
ここで出てくるのはOwnable!Ownerとは所有者のことなので、Ownerのみ変更できるようにするコントラクトを作成するという訳ですね。
長いですが、差し込みましたぜ(^^;)
OpenZeppelinという言葉が出てきましたね!私、Red Zeppelinは知ってますが今回は関係ありませんねw
OpenZeppelinというのは、色んな機能が実装されていてOwnableコントラクトもその一つという事ですかね。
詳しくは、いつも参考にさせていただいている技術者ブログ高妻さんのブログに書いてましたね↓↓
【Solidity基礎知識】OpenZeppelinのOwnableについて
まぢで参考になります!ミートアップにも参加してきたとの事で、、うらやましい!都心部に住んでくださいとのコメントまでいただけて、幸せなやっちゃ、僕はw
ここに関してはあとで教えてやる!と言っているのでさらっと読むくらいでOKですね。
コンストラクタに関しては上記の通りの説明なのだが、めちゃくちゃ詳しく書いている人がいた!!
私のブログでもお馴染み、佐々木真さんだ!!イラストがなんとも言えないキャラなのでめちゃくちゃ読みやすく、詳しく書いているので、私の教科書のような存在ですね。本当いつもお世話になっています。
「分かりそう」でも「分からない」でも「分かった気になれる」IT用語辞典
コンストラクタとは(Constructor)
高妻さんといい、佐々木さんといい、、私にとっては神のような存在です!!
Solidity言語だけでなく、プログラミング始めた方には必須の神エンジニアなので、ブックマークした方が懸命ですな!!
本題に戻りますと、modifier onlyOwner()という関数修飾子に関しての説明がしてありますね。
その名前の通り、関数につける修飾子で、その関数を実行する前に任意の処理をする、という事だが、本文ではrequireでオーナーかどうかの判定をするために使用されていますね!
_;の記号に関しては次のチャプターで説明があるとの事ですな。
indexedキーワードは無視していい、、との事だから、、、、無視しますよw
1〜3は重要との事だ!!Ownableに関してはここを覚えておけばよいという事ですね。
①コントラクトが作られた時、コンストラクタがownerをmsg.sender(実行した人物)に設定する。
②onlyOwner修飾子を追加して、ownerだけが特定の関数にアクセスできるように設定する。
(modifier onlyOwnerの部分)
③新しいownerにコントラクトを譲渡することも可能だ。
(tranceferOwnershipの部分)
という事で、テストだ!!
毎度のことながら、すでにコピーしてくれてたりする、、、本来ならば自分でその作業をする必要があるので、Solidityだったら勝手にやってくれると思ったら大間違いなので、何をコピーしているのか、というのも見た上で、進めることをおすすめします!実践した時に大目玉くらいことになるからね。
1では、、ownable.solの内容を我々のコードにimportするように変更せよ。となっていますね。やり方はzombiefeeding.solを参照してみましょう。
import “./インポートしたいコントラクト名”;
としなきゃないので、、、
import “./ownable.sol”;
となります。
2では、Ownableから継承させよ。とのことなので継承のやり方はまたしてもzombiefeedingを参照しましょう!
継承の仕方はこうですね、、
contract 今編集しているコントラクト名 is 継承したいコントラクト名 {
なので、、
cotract ZombieFactory is Ownable {
となります!
このチャプターは以上になりますね!
ブログが長く感じますが、スクショの情報が多いからですなw
最初の頃は、あまりスクショしなかったんですが、見返した時にこういう風に説明してくれてたんだ、っていう記録もかねて、最近はスクショを多発させております!
ここのテストは前例があるし、前のレッスンの時にもやっているので、問題ないですな!
全て応用でしたし!
さてさて、レッスン6もやりたいので、今日はこの辺でおさらばしますw
CryptoZombies | イーサリアムでのゲーム開発を学ぶ
ちなみに今日は、娘の予防接種&買い物のアッシーとして函館市内に出向くため、今日の更新はこれで終了となります事を、この場をお借りして謝罪申し上げますw
ではではまた明日!!