---
title: "Arbitrumで開発を始める方法"
description: "Arbitrum Dappの作り方"
---

# Arbitrumで開発を始める方法

ArbitrumはEthereumのレイヤー2ブロックチェーンで、オプティミスティックロールアップを使用することで、Ethereumのベースレイヤーブロックチェーン上で[アプリ](https://www.alchemy.com/dapps/top/defi-dapps)を実行するよりも高いスケーラビリティと低いガスコストを開発者に提供しつつ、Ethereumのレイヤー1セキュリティの恩恵を受けています。

Arbitrumの開発方法を学びたい方には、この記事が最適です。このガイドでは、Arbitrumネットワーク上でコーディングを始めるために必要な手順を説明します。

## **Arbitrumとは何か**

[Arbitrum](https://www.alchemy.com/arbitrum?a=0c128a6d93)は、トラストレスなセキュリティを保ちながらEthereumメインチェーンのスケーリングを助けるレイヤー2オプティミスティックロールアップブロックチェーンです。Ethereumの仮想マシン（EVM）をベースにしていますが、ArbitrumはEthereumネットワークよりもはるかにスケーラブルで使いやすい独自の設計を提供しています。

さらに、Arbitrumのスマートコントラクトは EVM互換であり、既存のEthereumツール、ウォレット、アプリと連携します。Arbitrumは、低コストのスマートコントラクトを実現し、長いトランザクション時間の問題に対処するためのEthereumスケーリングソリューションの1つとして作られました。

ArbOS上で動作するArbitrum Virtual Machineは、Arbitrumチェーン上でのスマートコントラクトの実行に対して、記録係、交通整理役、そして執行役としての役割を果たします。

## **Arbitrumでの開発を始める方法**

Arbitrumでの開発を始める前に、ブロックチェーンの仕組みを理解し、いくつかの前提条件を設定しておくことが重要です：

1. Hardhat
1. Alchemyアカウント
1. [web3ウォレット](https://www.alchemy.com/overviews/web3-wallets)（例：[MetaMask](https://www.alchemy.com/dapps/metamask)、Apexなど）

### **1. Arbitrumの仕組みを理解する**

Arbitrumでの開発を始める前に、プラットフォームの仕組みをよく理解しておくことが重要です。技術的な詳細については、Arbitrum Whitepaperを読むことができます。

Arbitrumを開発・維持しているチームであるOffchain Labsによると、Arbitrumのアーキテクチャは以下の通りです：ユーザーとサービスプロバイダーは左側のオフチェーン部分に属し、右側にはレイヤー1とレイヤー2から成るArbitrumシステムがあります。

Arbitrumは、レイヤー1のEthereumチェーン（オレンジ）の上に位置するレイヤー2ロールアップソリューション（緑）です。

<ImageBlock
  src="https://media.alchemy.com/1704205409-how-arbitrum-works.jpg"
  alt="Ethereumレイヤー1チェーンの上に構築されたレイヤー2ロールアップとしてのArbitrumアーキテクチャ図"
  width={1600}
  height={742}
  caption="出典:Offchain Labs"
/>

さらに、Arbitrumチームは、プラットフォームの概要や最初のスマートコントラクト作成のステップバイステップガイドなど、開発者が始めるためのいくつかのリソースを作成しています。

### **2. Hardhat（統合開発環境）をダウンロードする**

Arbitrumでの開発方法は2通りあります：オンラインIDEを使用する方法と、ローカル開発環境を構築する方法です。いずれの場合も、始める前に[Solidity開発用のIDE](https://hardhat.org/hardhat-runner/docs/getting-started#overview)を選択し、設定する必要があります。

この記事では、ローカル開発環境である[Hardhat](https://hardhat.org/hardhat-runner/docs/getting-started#overview)を使って構築します。Hardhatのインストールが終わったら、[Hardhatプロジェクトを作成](https://www.alchemy.com/docs/how-to-deploy-a-smart-contract-to-the-sepolia-testnet)してください。

### **3. AlchemyでArbitrumアプリを作成する**

スマートコントラクトをデプロイするには、[Arbitrum RPCノード](https://www.alchemy.com/overviews/arbitrum-node)が必要です。幸い、自分でArbitrumノードを実行する必要はありません。代わりに[Alchemyに無料でサインアップ](https://dashboard.alchemy.com/?a=0c128a6d93)し、Arbitrum-Goerliテストネット上でアプリを作成できます。

サインアップが完了したら、以下の手順に従ってください：

1. Dashboardをクリック
1. 「Create App」をクリック
1. アプリの名前を選択
1. Arbitrum Nitro Goerliテストネットを選択
1. 「Create App」をクリック

アプリがAlchemy Dashboardに表示されるはずです。

### **4. Goerliフォーセットからテスト用ETHを取得する**

Arbitrum-GoerliテストネットでArbitrumコントラクトとやり取りするには、テスト用ETHと[Arb-Goerli RPCエンドポイント](https://www.alchemy.com/chain-connect/chain/arbitrum-goerli)が必要です。

Goerli ETHを取得する最も簡単な方法はフォーセットを利用することです。

1. [MetaMaskにArbitrumを追加](https://www.alchemy.com/docs/reference/arbitrum-api-quickstart#arbitrum-tutorials)
1. [Goerliフォーセット](https://goerlifaucet.com/)にアクセス
1. [‍](https://goerlifaucet.com/)Ethereumアドレスを入力
1. 数分以内にMetaMaskウォレットにGoerli ETHが届くはずです

フォーセットからETHを受け取ったかどうかを確認するには、MetaMaskの設定を開き、「詳細設定」の下にある「テストネットワークを表示」を選択してください。

Arbitrum Nitro Testnetと互換性のあるGoerliフォーセットを使用している場合は、[GoerliトークンをArbitrum Nitroにブリッジする方法](https://www.alchemy.com/overviews/arbitrum-nitro-testnet)を参照してください。

### **5. スマートコントラクトの記述、コンパイル、デプロイ**

ここまで来たら、いよいよスマートコントラクトを書き始めることができます。[Alchemyのドキュメント](https://www.alchemy.com/docs/how-to-deploy-a-smart-contract-to-the-sepolia-testnet)の手順に従って、シンプルな「Hello World」スマートコントラクトを構築してください。また、「Hello World」スマートコントラクトの記述、コンパイル、デプロイ方法についての[Hello Worldビデオチュートリアル](https://www.youtube.com/watch?v=g73EGNKatDw)も参照できます。この[githubリポジトリ](https://github.com/alchemyplatform/hello-world-tutorial)には、動画で扱われているすべてのスクリプトが含まれています。

コントラクトの記述が終わったら、Hardhatを使ってコンパイルし、Ethereumクライアント（Ganacheまたは[Geth](https://www.alchemy.com/overviews/what-is-a-geth-node-and-how-to-run-one)）に接続し、_hardhat deploy_コマンドを使ってコントラクトをデプロイしてください。

さらにインスピレーションが欲しい場合は、Pet Shop dappやElection dappなどのデモ例が掲載されている[Offchain Labs GitHub monorepo](https://github.com/OffchainLabs/arbitrum-tutorials)をぜひご覧ください。

### **6. スマートコントラクトとやり取りし、Etherscanに提出する**

スマートコントラクトを作成したら、それを実際に役立てるために[スマートコントラクトとのやり取り方法](https://www.youtube.com/watch?v=sQJ-XQBzEuc)を学ぶ必要があります！[スマートコントラクトの読み取りとやり取りの方法](https://www.youtube.com/watch?v=sQJ-XQBzEuc)についてのこのビデオチュートリアルをご覧ください。

**このビデオでは、以下のステップを説明します：**

- interact.jsファイルの作成
- env.ファイルの更新
- コントラクトABIの取得
- コントラクトインスタンスの作成
- _init_メッセージの読み取りと更新

これが完了したら、[コントラクトをEtherscanに公開する](https://www.alchemy.com/docs/best-practices-for-deploying-a-smart-contract-on-evm-mainnets-1)準備が整います。[Etherscanでコントラクトを検証する方法](https://www.youtube.com/watch?v=x1a5lrW-9fo)についてのこの動画をご覧ください。

**これは以下の手順で行います：**

- hardhat-etherscanプラグインのインストール
- Etherscan設定オプションの変更
- Etherscan上でのスマートコントラクトの検証

Arbitrum上のすべてのトランザクションは、[Arbitrumブロックエクスプローラー](https://arbiscan.io/)で確認できます。

### **7. スマートコントラクトをフロントエンドと統合する**

スマートコントラクトを作成し、Etherscanに公開されるのを確認しただけでは終わりではありません！次に[スマートコントラクトをフロントエンドインターフェースと統合する](https://www.alchemy.com/docs/best-practices-for-deploying-a-smart-contract-on-evm-mainnets-1)必要があります。

**このチュートリアルでは、以下のステップを扱います：**

- スターターファイルのクローン
- スターターファイルの確認
- スマートコントラクトからの読み取り
- Ethereumウォレットの設定
- MetaMaskとUIの接続
- updateMessage関数の実装
- 自分のdAppを作る

おめでとうございます！これでArbitrum上に自分のシンプルなdAppを開発できました！🎉

Arbitrumのメインネットローンチ以来、ますます多くの開発者がこのブロックチェーン上でArbitrumスマートコントラクトを構築しており、Arbitrumでの開発方法を学ぶことは、[バランスの取れたSolidity開発者になる](https://www.alchemy.com/overviews/how-to-become-a-solidity-developer)ための重要なステップです。

スマートコントラクトをArbitrumのメインネットにローンチする前に、テストネット上でdappを十分にテストし、コントラクトの脆弱性をチェックするために[スマートコントラクト監査会社](https://justjooz.com/best-smart-contract-auditors/)を雇うことを検討してください。
