Solidity言語

【プログラミング未経験者でもできる!】CryptoZombiesレッスン③

CryptoZombiesレッスン1の後半戦を進めていきたいと思います!

どうも、しだゆう(@araShidayuuKi)です!

だんだんと理解するのにも時間がかかるようになってきましたな(^^;)

さてさて、CryptoZombiesの続きをしたいと思います!

前回の記事はこちらをご確認ください↓↓

あわせて読みたい
【プログラミング未経験者でもできる!】CryptoZombiesレッスン②今回はCryptoZombiesレッスン1のチャプター6からの説明になります! 前回の記事を見ていない方はこちらからご確認ください...

 

※CryptoZombiesで使用されている英単語のリストを下記記事にてまとめておりますので、参考までに下記ご利用ください↓↓

あわせて読みたい
【英単語・和訳リスト】完全無料!!CryptoZombiesで最新のプログラミング言語(Solidity)を学ぶ!プログラミングを勉強する上で、英語のスキルは必須です。 だからといって、英語ができないからチャレンジしないのは違います! ど...

CryptoZombies レッスン1

チャプター9:Private / Public関数

public(パブリック)とは公共の・公的な、という意味で、誰でも使って良いという意味ですね!

privateはそのままプライベートで大丈夫です

 

Solidity言語で、関数はデフォルトでpublicになっている!という事を言ってますのでデフォルトのまま(標準の状態)だと誰でもその関数を実行することができるという状態です

なので、誰が使ってもいいようなものはpublic(デフォルトのまま)で

それ以外のものに関してはPrivateにして使えないようにしようね、という事ですね!

じゃないと悪用されたりと、危険が伴う可能性があるという事も理解しておきましょう

privateの宣言の仕方は以下の通りです
35
※打ち込もうとしたけど、スクショの方が早いですなw

関数を宣言する際、波括弧「 { 」の前に入力するってだけですね。

こちらもアンダースコア「_」を入れるのが通例となっているので、入れるのを忘れないように!と注意してくれてますね(^^)

ここのテストはイージーですな!

アンダースコアとprivateを入れるだけ!

それでは次のチャプターに行きましょう

チャプター10:さらに関数を続けるぞ

07

まずこのコードの説明として、

最初の行は、文字列型の変数名「greeting」に、

文字列の「what’s up dog」を代入しています

 

2行目は、sayHello関数を宣言して、public(誰でも使える)状態で戻り値(returns)は文字列(string)を指定しています。

戻り値という言葉がきましたが、これはreturnで値を返すという意味があります!

って事で、戻り値でgreetingを実行させる、という処理になる、、

という事ですね。

 

戻ってきた値(return greeting;)というのは、greetingには「what’s up dog」という文字列代入されているので、「what’s up dog」が返ってきます。

 

関数の修飾子に関しては

この関数修飾子は今のところ深く理解できていないですがorz…

調べてみたところ、修飾子とは、、

修飾子をつけることで関数に明示的に制限をかけることができるのでコンパイル時に間違った処理をしていないかチェックすることができます。」、、という利点があるという事ですな。
こちらの記事を参照!【Solidity基礎知識】view、pure関数修飾子

高妻智一さんという、ブロックチェーンエンジニアとして生きるというブログを書いている方ですね!

早速ツイッターフォローさせていただきました!!

私としてはとてもタイムリーな話題!!めちゃめちゃ参考にさせていただきたいと思います。

コンパイルとは、「プログラムをコンピューターで実行可能な形式に変換する事」という意味。

余計な処理をさせないためにも修飾子を使う、という事ですかね。

pure修飾子はブロックチェーン上への書き込みだけでなく、読み込みもできません。これはトランザクションの発生を防ぐという意味で使われる」と、、なので「pure関数のみアクセスは、ガスコストがかからないことになります。」という事らしい。

なるほどなるほど、、

トランザクションとは「取引・処理」の意味

ガス(Gas)コストとは、その名前とイメージの通り、燃料を意味していて、イーサリアム上でプログラムを実行する際に使われる燃料というイメージで良いと思います。

厳密にはまた違う意味が出てきますが、深く読みすぎるとドツボにはまるので、とりあえずのイメージとしてはそのくらいにしておきましょうw

view修飾子は、読むことはできるが、書き込むことはできない

pure修飾子は、関数内では引数として受け取った値しか使えず、読み込みも書き込みもできない。

という特徴となりますかな。

むむむっ、、なかなか頭の悪い私にはむつかちぃであります、、

私の頭の中ではprivateとpureがセットになっているのかと勘違いしたりしていたのでテスト間違いまくっていたので、pureはpure単体、viewもview単体で考えるものですのでお間違いなくw

以上の流れを掴むと、テストは簡単に行きますね!!

私はviewを入れ忘れてしまい、ダメ出しを食らいましたw
しっかり読むのを忘れずにねw

そんな感じでテストを完成させたら次へっ!!

さいごに

チャプター11からはまた次のブログにて報告いたします。

このまま続きを見たい方はこちらからお進みください↓↓

あわせて読みたい
【プログラミング未経験者でもできる!】CryptoZombiesレッスン④CryptoZombiesレッスン1チャプター11からの内容となります! どうも、しだゆう(@araShidayuuKi)です! ...

難易度が上がってきておりますので、なんどでも復習していきましょうね!

ABOUT ME
shidayuu
元バンドマンで読書・書評をしている函館在住32歳、しだゆうと申します! このブログでは主に読書した内容を元に、「ヒラメキを発信する」をテーマとして毎日更新しています。 書評をメインに、たまに元バンドマンの知識を発信していきます! あなたの役に立てる記事を書いていきます!