プログラム上達したいな blog

プログラム書けるようになりたいアウトプット用

CryptoZombies レッスン3

cryptozombies.io

 

ここでは高度なコンセプトについて

学ぶらしい

 

 

チャプター1

コントラクトをイーサリアム上に

デプロイすると

もうコントラクトを

編集したり更新したりできなくなる

あら

このことをイミュータブルになる

という

 

外部依存関係にあり、

関連しているコントラクトに

バグがあれば

自分で作ったコントラクトにも

影響が出て、

使い物にならなくなる可能性がある

こういったことを考えて

ソースコードを考えていかなければ

いけない

 

 

チャプター2

externalは

誰でも参照することができる

 

Solidityのライブラリである

OpenZeppelinの

Ownableコントラクトという

ものがある

コントラクトを作った人だけが

参照することができる

特別なもの

tomokazu-kozuma.com

 

 

チャプター3

なんか関数修飾子というものが

出てきた

(さっきも出てきたが...)

tomokazu-kozuma.com

viewもpureも関数修飾子だったそうで

唖然

ãåç¶ãã®ç»åæ¤ç´¢çµæ

 

 

チャプター4

なぜgasが必要なのか

無限ループなどの危険要素を

排除するため

でもgas高いと使わないよねー

誰か代わりに払ってー

structの中身を変えることで

gasを少なくすることができるらしい

 

 

チャプター5

Solidityの時間について

zoom-blc.com

いっぱい書いてあったよー

 

 

チャプター6

structへのstorageポインタは、privateinternal関数の引数として渡すことができる。これは便利だから覚えておくようにな。例えば、Zombiestructを関数に渡すことも可能だ。

こんな風に書けばいい:

function _doStuff(Zombie storage _zombie) internal {
  //  _zombieを処理する
}

storageポインタ??

y-nakajo.hatenablog.com

前にもした気がするけど

忘れてるやつ

 

 

チャプター7

セキュリティーは

やっぱり大事よ

publicとかinternalとか

よく考えないといけない