コンテンツへスキップ
0%

Arbitrumでの開発を始める方法

Alchemy team headshot

執筆者 Alchemy

2022年10月19日 公開読了時間 1 分

Arbitrumは、オプティミスティックロールアップを使用するEthereumのレイヤー2ブロックチェーンです。Ethereumのベースレイヤーブロックチェーン上でアプリを実行するよりも高いスケーラビリティと低いガスコストを開発者に提供しつつ、Ethereumのレイヤー1セキュリティの恩恵を受けられます。

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

Arbitrumとは?

Arbitrumは、メインのEthereumチェーンをスケールさせつつ、トラストレスな安全性を維持するレイヤー2のオプティミスティックロールアップブロックチェーンです。EthereumのVirtual Machine(EVM)をベースにしていますが、ArbitrumはEthereumネットワークよりもはるかにスケーラブルで使いやすい独自の設計を採用しています。

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

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

Arbitrumでの開発を始める方法

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

  1. Hardhat
  2. Alchemyアカウント
  3. web3ウォレット(例:MetaMask、Apexなど)

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

Arbitrumでの開発を始める前に、プラットフォームがどのように動作するかをよく理解しておくことが重要です。技術的な詳細については、Arbitrumのホワイトペーパーを読むとよいでしょう。

Arbitrumを開発・保守するチームであるOffchain Labsによると、Arbitrumのアーキテクチャは次の通りです。左側にはオフチェーンとしてユーザーとサービスプロバイダーが位置し、右側にはレイヤー1とレイヤー2からなるArbitrumシステムがあります。

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

Ethereumレイヤー1チェーンの上に構築されたレイヤー2ロールアップとしてのArbitrumアーキテクチャ図
出典: Offchain Labs

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

2. Hardhat(統合開発環境)をダウンロードする

Arbitrumで開発する方法には、オンラインIDEを使う方法とローカル開発環境を構築する方法の2通りがあります。いずれの場合も、開発を始める前にSolidity開発用のIDEを選定し、設定する必要があります。

この記事では、ローカル開発環境であるHardhatを使って構築します。Hardhatのインストールが終わったら、Hardhatプロジェクトを作成してください。

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

スマートコントラクトをデプロイするには、Arbitrum RPCノードが必要です。幸い、自分でArbitrumノードを稼働させる必要はなく、代わりにAlchemyに無料登録して、Arbitrum Sepoliaテストネット上でアプリを作成できます。

登録が完了したら、次の手順を行います。

  1. Dashboardをクリックする
  2. 「Create App」をクリックする
  3. アプリの名前を選ぶ
  4. Arbitrum Sepoliaテストネットを選択する
  5. 「Create App」をクリックする

作成したアプリはAlchemy Dashboardに表示されます。

4. SepoliaフォーセットからテストETHを取得する

Arbitrum Sepoliaテストネット上でArbitrumのコントラクトとやり取りするには、テストETHとArbitrum Sepolia RPCエンドポイントが必要です。

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

  1. ArbitrumをMetaMaskに追加する
  2. Arbitrum Sepoliaフォーセットにアクセスする
  3. Ethereumアドレスを入力する
  4. 数分以内にMetaMaskウォレットにテストETHが届きます

フォーセットからETHを受け取ったか確認するには、MetaMaskの設定の「Advanced」から「Show test networks」を選択してください。

5. スマートコントラクトを書き、コンパイルし、デプロイする

ここまで来たら、いよいよスマートコントラクトを書き始めることができます。シンプルな「Hello World」スマートコントラクトを構築するには、Alchemyのドキュメントの手順に従ってください。また、「Hello World」スマートコントラクトの書き方、コンパイル方法、デプロイ方法については、このHello Worldビデオチュートリアルも参考にできます。このGitHubリポジトリには、動画で扱われているスクリプトがすべて含まれています。

コントラクトを書き終えたら、Hardhatを使ってコンパイルし、Ethereumクライアント(GanacheまたはGeth)に接続し、hardhat deploy コマンドを使ってコントラクトをデプロイします。

さらにアイデアが欲しい場合は、Pet ShopダップやElectionダップなどのデモ例が含まれたOffchain LabsのGitHubモノレポをぜひ確認してください。

6. スマートコントラクトとやり取りし、Etherscanに送信する

スマートコントラクトを作成したら、それを役立てるためにスマートコントラクトとのやり取り方法を学ぶ必要があります。スマートコントラクトの読み取りとやり取りの方法についてのこのビデオチュートリアルをご覧ください。

この動画では、以下の手順が説明されています:

  • interact.jsファイルを作成する
  • env.ファイルを更新する
  • コントラクトのABIを取得する
  • コントラクトインスタンスを作成する
  • init メッセージを読み取り、更新する

完了したら、コントラクトをEtherscanに公開する準備が整います。Etherscanでコントラクトを検証する方法についてのこの動画をご覧ください。

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

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

Arbitrum上のすべてのトランザクションは、Arbitrumブロックエクスプローラーで確認できます。

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

スマートコントラクトを作成し、それがEtherscanに公開されたのを確認しただけでは終わりではありません。次に、スマートコントラクトをフロントエンドインターフェースと統合する必要があります。

このチュートリアルでは、以下の手順を扱います:

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

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

Arbitrumのメインネットローンチ以来、ますます多くの開発者がこのブロックチェーン上でArbitrumのスマートコントラクトを構築しており、Arbitrumでの開発方法を学ぶことは、実力あるSolidity開発者になるための重要なステップです。

スマートコントラクトをArbitrumのメインネットにローンチする前に、必ずテストネット上でdappを十分にテストし、コントラクトの脆弱性を確認するためにスマートコントラクト監査企業を雇うことも検討してください。

Background gradient

ブロックチェーンで魔法を生み出す

Alchemyは、最も強力なweb3開発者向けプロダクトとツールを、豊富なリソース、コミュニティ、そして卓越したサポートと組み合わせて提供します。