5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

お題は不問!Qiita Engineer Festa 2023で記事投稿!

Ethereumの世界への一歩:JavaScriptエンジニアのためのSolidity入門

Last updated at Posted at 2023-06-16

Solidityとスマートコントラクト入門:JavaScriptエンジニアから見たBlockchainプログラミング

こんにちは!今日はJavaScriptの知識があるが、Solidityやスマートコントラクトについて詳しくないエンジニアのための入門です。今回は、EthereumのオンラインIDEであるRemixを使用します。

1. はじめに: Solidityとは何か?

Solidityは、Ethereumプラットフォーム上でスマートコントラクトを作成するためのプログラミング言語です。JavaScriptエンジニアにとっては、構文がCやJavaScriptに似ているため比較的親しみやすい言語と言えるでしょう。

2. スマートコントラクトとは何か?

スマートコントラクトは、ブロックチェーン上に公開された契約の一種です。これは自動的に実行され、すべての参加者が契約の条件を確認できます。JavaScriptエンジニアがWebアプリケーションのサーバーサイドロジックを書くのと似たような感じで、スマートコントラクトを書くことでブロックチェーンのロジックを制御できます。

3. Solidityの基本

まずは、シンプルなSolidityコードを見てみましょう。

pragma solidity ^0.8.0;

contract SimpleContract {
    uint256 public count;

    function incrementCount() public {
        count += 1;
    }
}

このコードは、数値を格納し、それを増やす機能を持つ非常にシンプルなスマートコントラクトを作成します。JavaScriptエンジニアから見ると、関数や変数の概念はすぐに理解できるでしょう。

4. Remix IDEでのコンパイルとデプロイ

Remixを使用すると、ブラウザ上でコードの編集からデプロイまで一貫して行うことができます。

  1. Remix IDEのページ (http://remix.ethereum.org/) を開きます。
  2. FILE EXPLORERS タブの + Create New File をクリックし、新しいファイルを作成します。例えば SimpleContract.sol と名付けます。
  3. 先ほどの SimpleContract コードをそのファイルに貼り付けます。
  4. 左側のメニューから Solidity Compiler を選択し、 Compile SimpleContract.sol ボタンをクリックします。コンパイルが成功すると、下部にコンパイルの詳細が表示されます。
  5. 次に、DEPLOY & RUN TRANSACTIONS タブを選択します。Environment を適切なものに設定した上で、Deploy ボタンをクリックします。これで、スマートコントラクトがEthereumネットワークにデプロイされます。

5. スマートコントラクトとのやり取り

Remix IDEを使用して、デプロイしたスマートコントラクトとのやり取りを行うことができます。

  1. DEPLOY & RUN TRANSACTIONS タブの下部にある Deployed Contracts を見てみましょう。ここにはデプロイしたスマートコントラクトがリストされています。
  2. SimpleContract の項目をクリックすると、スマートコントラクトのパブリック変数と関数が表示されます。
  3. count 変数の横にある count ボタンをクリックすると、その値を取得できます。
  4. incrementCount 関数の横にある incrementCount ボタンをクリックすると、カウントを増やすことができます。

6. まとめ

Remix IDEを使うと、Solidityのコードの書き方からデプロイ、そしてスマートコントラクトとのやり取りまでをブラウザ上で直感的に行うことができます。ここでは簡単な例を通じて、その基本的なフローを紹介しました。これが皆さんのブロックチェーンへの第一歩になれば幸いです。

それでは、Happy coding!

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?