第7話:キーと値でデータを管理!超重要データ構造「マッピング (mapping)」を使いこなす

概要

数百万ユーザーのデータをどう管理する?その答えが、Solidity最重要のデータ構造「マッピング」です。キー(例: address)と値(例: uint)でデータを紐付ける仕組みと、msg.senderを使ったユーザーごとのデータ書き込み・読み出し方法を解説します。

requireによる入力検証を交え、簡単な銀行DAppを実装。複数人が参加するアプリケーションの核心技術をマスターしましょう。

目次
Solidity学習講座:最終版 目次(全20話)
Solidity学習講座:最終版 目次(全20話)

基礎編 第1話:未来のインターネットへようこそ!Solidityとスマートコントラクトの全体像 第2話:準備は1分!ブラウザだけで開発できる「Remix IDE」の基本操作 第3話:記念すべき初コント ...

続きを見る

はじめに

第6話までで、あなたは関数の可視性をマスターし、コントラクトのセキュリティを固める方法を学びました。あなたのコードは、より堅牢で、プロフェッショナルなものになったはずです。

しかし、ここである大きな壁に突き当たります。これまでのコントラクトは、countownerといった、単一のデータしか扱えませんでした。これでは、本当のアプリケーションは作れません。

例えば、ERC20トークンのような「通貨」を作りたいと考えたとしましょう。その場合、コントラクトは**数万人、数百万人のユーザーそれぞれが「いくら持っているか」**を記録しなければなりません。あなたならどうしますか? ユーザー全員のアドレスを配列に入れて、残高も別の配列に入れて…? そんなことは非現実的で、ガス代が天文学的な数値になってしまいます。

この課題を、極めてエレガントかつ効率的に解決するのが、今回学ぶ**mapping(マッピング)**です。

マッピングは、Solidityにおける最重要データ構造の一つです。これをマスターすることは、単なる入門者から、トークンやDeFi、NFTといった実用的なDAppを構築できる開発者へと飛躍することを意味します。

-Solidity