【solidity】msg.senderについて | コンストラクター内で定義
目次
よくコンストラクタで定義される大切な概念、msg.sender
について学んだ記録
1.0_コンストラクタとは
コンストラクタとは、スマートコントラクトをデプロイしたときに一度だけ自動的に呼び出される関数です。
意味としては、構造体なので、箱のようなイメージで大丈夫かと思います。
このコンストラクタの中に、msg.sender
など、いろいろな情報をあらかじめ格納する型を作ります。
この、コンストラクタの中では、msg.sender
はスマートコントラクトをデプロイしたアドレスを示します。
つまり、デプロイしたアドレス=オーナーとなります。
2.0_具体的なコーディング
例えば、何かしらの名簿を作成するときに、
①名簿を作成した人=オーナー
②名簿登録者数
を管理する必要がありますので、以下のように、コンストラクターを記述します。
constructor() public {
owner = msg.sender; // コントラクトを公開したアドレスをオーナーに指定
numUser = 0; // 登録件数の初期化する
}
さて、ここでは、まず名簿作成に必要な情報を定義しています。
次回以降は、具体的に名簿を作成するメソッドをより深掘りします。
一般的なDBとは概念がかなり異なるので、難しくなりますが、一緒にがんばりましょう。