【Solidity】第1章第1回:はじめてのスマートコントラクト:Hello, World!

本記事では、Solidityを使った最初のスマートコントラクト「Hello, World!」を作成する方法を解説します。初心者でも簡単に実践できる内容ですので、ぜひチャレンジしてみてください。
0. 記事の概要
この記事を読むメリット
- スマートコントラクトの基礎を理解:Solidityを使ったプログラミングの基本を学べます。
- 開発環境の操作方法を習得:Remix IDEを使用した実践的なコーディングが体験できます。
- 成功体験を得られる:「Hello, World!」を完成させることで達成感を得られます。
この記事で学べること
- スマートコントラクトの基本構造
- Solidityコードの記述とデプロイ方法
- 簡単なコントラクトの改良方法
1. スマートコントラクトとは?

1.1 スマートコントラクトの概要
スマートコントラクトとは、Ethereumブロックチェーン上で動作するプログラムのことです。条件が満たされたときに自動で実行される機能を持ち、中央の管理者を必要とせずに信頼性の高い取引を実現します。
1.2 Solidityの基本的な役割
Solidityは、スマートコントラクトを記述するためのプログラミング言語です。直感的な構文とEthereum Virtual Machine(EVM)との互換性が特徴です。
2. Hello, World! のコード解説

2.1 コード例
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract HelloWorld {
string public message;
// コンストラクタ: コントラクトの初期メッセージを設定
constructor() {
message = "Hello, World!";
}
// メッセージを更新する関数
function updateMessage(string memory newMessage) public {
message = newMessage;
}
}
2.2 動作解説
- コンストラクタ:デプロイ時に初期メッセージを設定します。
- public変数:message変数は自動的にGetter関数が生成され、外部からアクセス可能です。
- 関数:updateMessageで新しいメッセージを設定できます。
3. コントラクトをデプロイする手順

3.1 Remix IDEを使用
Remixは、スマートコントラクトの開発に最適なオンラインIDEです。以下の手順でHello, World! コントラクトをデプロイします:
- Remix(https://remix.ethereum.org)にアクセス
- 新しいファイル「HelloWorld.sol」を作成
- 上記のコードを貼り付ける
- 「Solidity Compiler」タブでコードをコンパイル
- 「Deploy & Run Transactions」タブでデプロイ
3.2 動作確認
デプロイ後、以下を確認してください:
- message: 初期メッセージ「Hello, World!」が表示される
- updateMessage: 新しいメッセージを設定し、正しく更新されるか確認
4. 練習問題
以下の課題に挑戦してみましょう:
- 新しい関数を追加して、メッセージ履歴を記録できるようにしてください。
- 「Hello, Blockchain!」という新しい初期メッセージを設定して再デプロイしてください。
5. まとめ
本記事では、Solidityを使用した最初のスマートコントラクト「Hello, World!」を作成しました。この基本をマスターすれば、さらに高度なコントラクトの作成にも挑戦できます。次回は、Solidityのプログラム構造と記述ルールについて詳しく学びます。