概要

トランザクションの核心情報にアクセスする方法を解説します。呼び出し元を特定するmsg.senderを使った所有権管理(constructor, modifier)パターンを紹介。
さらに、関数がETHを受け取るための最重要要素msg.valueとpayableキーワードを学習。簡単な決済機能の実装を通じ、商用DAppの根幹をなす「価値の受け渡し」を実装するスキルが身につきます。
-
-
Solidity学習講座:最終版 目次(全20話)
基礎編 第1話:未来のインターネットへようこそ!Solidityとスマートコントラクトの全体像 第2話:準備は1分!ブラウザだけで開発できる「Remix IDE」の基本操作 第3話:記念すべき初コント ...
続きを見る
はじめに
第10話で、あなたはif
文とfor
ループという制御構文を手にし、コントラクトに「判断力」と「繰り返し処理能力」を与えました。あなたのコードは、もはや単なる命令の羅列ではなく、知的なロジックを持つに至りました。
今回は、視点を変えて、スマートコントラクトが受け取る「メッセージ」そのものに注目します。ユーザーが関数を呼び出す行為は、ブロックチェーンに対する一つの**「トランザクション(取引)」です。そのトランザクションには、「誰が」「いくらのETHを添えて」といった、重要な文脈(コンテキスト)情報**が含まれています。
Solidityでは、こうしたトランザクションの文脈情報にアクセスするための、特別な**「グローバル変数」**が用意されています。
あなたはmsg.sender
(誰が)については既に知っていますね。今回はそれをさらに深掘りするとともに、関数呼び出しに添えられたETHの量を示す**msg.value
と、ETHを受け取るための必須キーワードpayable
**について学びます。
このレッスンを終えるとき、あなたのスマートコントラクトは、単なるロジックの塊から、現実の価値(ETH)を直接扱える、商用アプリケーションの基盤へと進化を遂げます。