【CryptZombies】レッスン1チャプター9:Private / Public関数
Solidityでは関数はデフォルトでpublicになっています。
要するに、誰でも(別のコントラクトからでも)自身のコントラクトの関数を呼び出して、実行できるということです。
これでは、攻撃に対してコントラクトが脆弱になることになります。
なので、自分が使う関数はデフォルトでprivateにして、公開しても構わない関数だけをpublicに設定するのだと、心がけが必要です。
ptivate関数の宣言方法
uint[] numbers;
function _addToArray(uint _number) private {
numbers.push(_number);
}
このように書くと、この関数はコントラクト内の他の関数からだけ呼び出して、numbers配列に格納できます。
ご覧の通り、関数名の後にprivateとつけるだけです。簡単!
関数のパラメータと同様に、private関数はアンダースコア(_)で始めるのが通例です。
テストの実行
①private関数になるように、createZombieを編集せよ。名付けの通例を忘れるなよ!
private関数にするためには、関数名の後にprivateとつけるだけでOKです。
ただし、名づけの通例として、private関数はアンダースコア(_)で始めることになるので、以下のようになります。
お疲れさまでした!
<参考>
CryptoZombies - イーサリアム上でゲームを開発する方法を学習。Powered by Loom Network