概要

スマートコントラクトのセキュリティを左右する、4つの関数可視性(public, external, internal, private)の完全ガイドです。それぞれの違いと、「誰が」「どこから」呼び出せるのかを継承関係も踏まえて徹底解説。
「最小権限の原則」に基づき、不正アクセスを防ぎつつ、external活用によるガス代節約といったプロの設計思想を学び、安全で効率的なDApp開発の土台を固めます。
-
-
Solidity学習講座:最終版 目次(全20話)
基礎編 第1話:未来のインターネットへようこそ!Solidityとスマートコントラクトの全体像 第2話:準備は1分!ブラウザだけで開発できる「Remix IDE」の基本操作 第3話:記念すべき初コント ...
続きを見る
はじめに
第5話で、あなたは「関数」という心臓部をコントラクトに与え、public
やprivate
といったキーワードで、その機能へのアクセスを制御する方法を学びました。誰でも呼び出せる公開機能と、内部だけで使う非公開機能を区別できるようになったわけです。
しかし、実際の開発では、もっと繊細なアクセス制御が必要になる場面が数多くあります。
「特定の関係者(子コントラクト)だけが使えるようにしたい…」 「ユーザーからの呼び出し専用にして、少しでもガス代を節約したい…」
こうした要求に応えるのが、今回学ぶ**4つの「可視性(Visibility)」**の全貌です。public
とprivate
に加え、internal
とexternal
をマスターすることで、あなたのアクセス制御は、まるで金庫のダイヤル錠のように、より精密で強固なものになります。
可視性の正しい理解と使い分けは、単なる作法ではありません。それは、あなたのコントラクトとユーザーの資産を潜在的な攻撃から守るための、最も重要なセキュリティ技術の一つなのです。