Lesson 3 Chapter1 コントラクトの不変性 外部依存関係
コントラクトの不変性
コントラクトをイーサリアム上にデプロイすると、イミュータブルになる。つまり編集も更新もできなくなる。
※イミュータブル (英: immutable) なオブジェクトとは、作成後にその状態を変えることのできないオブジェクトのこと
コントラクトに何か欠陥があっても、それをあとで修正する方法はない。
その場合は、問題点を直した別のスマートコントラクトを使用してほしいと、ユーザーに伝えるしかないのだ。
外部依存関係
例えば、コントラクトアドレスをハードコーディングする代わりに、setKittyContractAddressという関数を設定しておけば、あとでコントラクトに変更があった場合には、別アドレスを出力しアドレスが変更できるようにできる。
kittyContractにコントラクトアドレスを設定する場合。
コントラクトアドレスハードコーディング:
KittyInterface kittyContract = KittyInterface(ckAddress);
関数によるアドレス変更
function setKittyContractAddress(address _address) external {
kittyContract = KittyInterface(_address);
}
prev
-
クリプトゾンビ Lesson 2 Chapter13If ステートメント
Lesson 2 Chapter13If ステートメント SolidityのIfステートメントはJavaScript と同じ。 文字列の比較 function eatBLT(string sandwi ...
next
-
クリプトゾンビ Lesson 3 Chapter2 OpenZeppelinの Ownable コントラクト
OpenZeppelinの Ownable コントラクト OpenZeppelinは、分散型アプリケーションを構築、自動化、および運用するためのセキュリティ製品。 (出典 :https://openz ...