Open5

Solidity test

takigontakigon

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

takigontakigon

Solidityとは

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

takigontakigon

アクセス修飾子

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

関数修飾子とは

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

msg.senderとは

msg.senderに入る値は、ずばり、関数を呼び出した人(=あなたに「👋(wave)」を送った人)のウォレットアドレスです。

これは、ユーザー認証のようなものです。

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