Solidity

【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 動作解説

  1. コンストラクタ:デプロイ時に初期メッセージを設定します。
  2. public変数:message変数は自動的にGetter関数が生成され、外部からアクセス可能です。
  3. 関数:updateMessageで新しいメッセージを設定できます。

3. コントラクトをデプロイする手順

3.1 Remix IDEを使用

Remixは、スマートコントラクトの開発に最適なオンラインIDEです。以下の手順でHello, World! コントラクトをデプロイします:

  1. Remix(https://remix.ethereum.org)にアクセス
  2. 新しいファイル「HelloWorld.sol」を作成
  3. 上記のコードを貼り付ける
  4. 「Solidity Compiler」タブでコードをコンパイル
  5. 「Deploy & Run Transactions」タブでデプロイ

3.2 動作確認

デプロイ後、以下を確認してください:

  • message: 初期メッセージ「Hello, World!」が表示される
  • updateMessage: 新しいメッセージを設定し、正しく更新されるか確認

4. 練習問題

以下の課題に挑戦してみましょう:

  1. 新しい関数を追加して、メッセージ履歴を記録できるようにしてください。
  2. 「Hello, Blockchain!」という新しい初期メッセージを設定して再デプロイしてください。

5. まとめ

本記事では、Solidityを使用した最初のスマートコントラクト「Hello, World!」を作成しました。この基本をマスターすれば、さらに高度なコントラクトの作成にも挑戦できます。次回は、Solidityのプログラム構造と記述ルールについて詳しく学びます。