Open5
Solidity test

スクラップ機能を使うことが目的です。内容は無ですのでご了承よろしくです。

Solidityとは
Solidityは、Ethereumのスマートコントラクトを書くためのプログラミング言語です。Ethereumは、分散型アプリケーションを構築するためのブロックチェーンプラットフォームで、スマートコントラクトは、Ethereum上で実行されるプログラムのことです。

アクセス修飾子
-
public
-
public
で定義された関数や変数は、それらが定義されているコントラクト、そのコントラクトが継承された別のコントラクト、それらコントラクトの外部と、基本的にどこからでも呼び出すことができます。Solidityでは、アクセス修飾子がついてない関数を、自動的にpublic
として扱います。
-
-
private
-
private
で定義された関数や変数は、それらが定義されたコントラクトでのみ呼び出すことができます。
-
-
internal
-
internal
で定義された関数や変数は、それらが定義されたコントラクトと、そのコントラクトが継承された別のコントラクトの両方から呼び出すことができます。Solidityでは、アクセス修飾子がついてない変数を、自動的にinternal
として扱います。
-
-
external
-
external
で定義された関数や変数は、外部からのみ呼び出すことができます。
-

関数修飾子とは
-
view
:view
関数は、読み取り専用の関数であり、呼び出した後に関数の中で定義された状態変数が変更されないようにします。 -
pure
:pure
関数は、関数の中で定義された状態変数を読み込んだり変更したりせず、関数に渡されたパラメータや関数に存在するローカル変数のみを使用して値を返します。

msg.senderとは
msg.sender
に入る値は、ずばり、関数を呼び出した人(=あなたに「👋(wave)」を送った人)のウォレットアドレスです。
これは、ユーザー認証のようなものです。
- スマートコントラクトに含まれる関数を呼び出すには、ユーザーは有効なウォレットを接続する必要があります。
-
msg.sender
では、誰が関数を呼び出したかを正確に把握し、ユーザー認証を行っています。
function wave() public {
totalWaves += 1;
console.log("%s has waved!", msg.sender);
}