---
title: "Arbitrumノード:知っておくべきこと"
description: "Arbitrumノードとは何か、Arbitrumノードプロバイダーで開発を始める方法"
---

# Arbitrumノード:知っておくべきこと

[Arbitrum](https://www.alchemy.com/arbitrum)は、Ethereumのスケーラビリティ課題であるトランザクションスループットの低さと手数料の高さを解決するために、[optimistic rollups](https://www.alchemy.com/overviews/optimistic-rollups)を用いてEthereumのレイヤー1セキュリティを維持するレイヤー2スケーリングソリューションである。

Arbitrumアプリケーションの開発を始めるには、開発者はArbitrumノードプロバイダーに接続するか、自身でArbitrumノードを構築する必要がある。本ガイドでは、Alchemyの無限にスケール可能なArbitrum RPCノードサービスの使い方と、自身でArbitrumフルノードを稼働させる方法について説明する。

## **Arbitrumノードとは**

Arbitrumノードは、Arbitrumブロックチェーン内の接続ポイントとして機能するコンピューターであり、その多くは互いに依存している。

Arbitrumノードをより深く理解するには、ノードとは何か、[トランザクションの伝播](https://www.alchemy.com/overviews/transaction-propagation)における役割、そしてブロックがどのように検証されるかを理解する必要がある。

トランザクションは保留中のトランザクションのグローバルプールに送信され、ブロックにまとめられる前にネットワーク上の他のノードにブロードキャストされる。公平性を確保するため、ネットワーク内のノードは、あるブロックのトランザクション群がネットワークに追加される前に、そのブロックに含まれるトランザクションについて合意（コンセンサス）に達する必要がある。ノードはブロック提案の承認または却下を助け、またネットワークの過去のトランザクションデータを保存する。

## **Arbitrumノードプロバイダーとは**

[**Arbitrumノードプロバイダー**](https://www.alchemy.com/overviews/blockchain-node-providers)とは、Arbitrumノードを運用する企業であり、一般ユーザーおよび開発者が自身でノードを構築・管理することなくブロックチェーンへリクエストを送受信できるようにする。

Arbitrumノードプロバイダーは、1つまたは複数のArbitrumノードを構築・維持した上で、APIやRPCを作成することで誰でも利用できるように公開している。言い換えれば、Arbitrumノードプロバイダーは、Arbitrumノードをサービスとして提供するビジネスを行っている。

ユーザーはAlchemyノードプロバイダーのArbitrum APIへのアクセス権を得ると、Arbitrumブロックチェーンとリアルタイムでやり取りできるようになる。

[Arbitrumノードプロバイダーは数多く存在する](https://www.alchemy.com/overviews/blockchain-node-providers)が、Alchemyが主要なプロバイダーである。本ガイドの後半では、Alchemy Arbitrumノードの利用方法を説明する。

## **自身でArbitrumノードを運用する場合とArbitrumノードプロバイダーを利用する場合の違いは何か**

**自身のノードを運用するには、コンピューターやデバイスをArbitrumメインネットに接続し運用を管理するために必要なプログラムをインストールする必要があるが、ノードプロバイダーを利用すればその運用はプロバイダー側が担う。**

つまり、自身でArbitrumノードを運用する場合とArbitrumノードプロバイダーを利用する場合の主な違いは、ノードの構築と維持に関する管理の所在にある。

Arbitrumノードプロバイダーを利用する場合、その責任を第三者に委ねることになる。[信頼できるノードプロバイダーの選定](https://www.alchemy.com/overviews/how-to-choose-a-blockchain-node-provider)には最初にある程度の労力がかかるが、それ以降はハードウェアの維持について心配する必要がなくなる。

## **自身でArbitrumノードを運用する場合の課題は何か**

**自身でArbitrumノードを運用する場合の課題として、十分なストレージ容量、長いリードタイム、そしてフルノードを常時管理するために必要な帯域幅が挙げられる。**

とはいえ、自身のノードを構築しようと考えている場合、最初は良いアイデアに思えるかもしれない。もちろん、自身のノードには利点もある。

自前のノードを持つということは、特定のチェーンのセキュリティと健全性を維持する直接の当事者になるということである。これにより、悪意のある行為者がそのチェーンに対してハッキングを実行することが難しくなる。第二に、チェーンの状態、すなわちネットワークの全データにアクセスできるようになる。

しかし、[自身でノードを運用する際の課題](https://www.alchemy.com/overviews/running-your-own-node)についてはあまり議論されていないため、ここで取り上げる。

### 1. ストレージ容量

フルノードを運用する前に、コンピューター上に大きな空き容量が必要となる。Arbitrumノードの運用に必要な容量は特に定められていないが、ブロックチェーンネットワーク全般では200GBから300GBの範囲が目安となる。

### 2. セットアップ時間

フルノードを運用しようとすると、コンピューターは最初に採掘されたブロックから1秒前に採掘されたブロックまで、ブロックチェーンの台帳全体をダウンロードする必要がある。これには常に時間がかかり、チェーンやその他の要因によっては数日、数週間、最悪の場合は1か月かかることもある。

### 3. ノードの管理

フルノードのセットアップが完了した後は、それを管理する必要があり、実際の課題はここにある。フルノードの運用には多くの時間がかかる。長時間オンラインでいる必要があるだけでなく、大半の時間をアップグレードとデバッグに費やすことになるためである。

それでは、Web3における主要なノードプロバイダーであるAlchemyでArbitrumノードに接続する方法を見ていこう。

## AlchemyでArbitrumノードに接続する方法

[Arbitrum上での開発を始める](http://www.alchemy.com/overviews/how-to-start-developing-on-arbitrum)ために、Alchemyをノードプロバイダーとして利用しArbitrumノードに接続する手順を段階的に説明する。

### **ステップ1. Alchemyに登録する**

まず[Alchemyのウェブサイトにアクセス](https://dashboard.alchemy.com/signup/)し、登録して必要事項を入力する。すでに登録済みの場合は、単純にログインすればよい。

<ImageBlock
  src="https://media.alchemy.com/1704093781-alchemy-sign-up-page.jpeg"
  alt="無料の開発者アカウントを作成するためのAlchemyサインアップページ"
  width={1600}
  height={798}
  caption="Alchemyサインアップページ"
/>

### **ステップ2. 新しいArbitrumアプリを作成する**

ログインしたら、Alchemy上でアプリを作成する。ここではArbitrumメインネットを選択する。

<ImageBlock
  src="https://media.alchemy.com/1704093808-create-new-arbitrum-app.jpeg"
  alt="Alchemyダッシュボード：Arbitrum Mainnetで新しいアプリを作成する"
  width={1600}
  height={383}
  caption="Arbitrumメインネット上でのArbitrumノードのセットアップ"
/>

### **ステップ3. npmパッケージとAlchemy SDKをインストールする**

まだインストールしていない場合、この先[npmパッケージ](https://nodejs.org/en/download/)が必要になる。次に、以下のコマンドを実行してAlchemy SDKをインストールする。

<CodeSnippet code={`npm install alchemy-SDK`} language="text" theme="dark" />

### **ステップ4. Arbitrumメインネットに接続してノードリクエストを行う**

Ether.jsまたはWeb.jsを使って、Alchemy SDKをインポートしノードリクエストを行う必要がある。以下のコマンドを貼り付けてSDKをインポートする。

<CodeSnippet
  code={`import { Network, Alchemy } from 'alchemy-sdk';`}
  language="text"
  theme="dark"
/>

次に、[Alchemy Arbitrum APIキー](https://www.alchemy.com/docs/reference/arbitrum-api-quickstart)を入力してオブジェクトを設定する。APIキーを確認するには、Alchemyのダッシュボードに移動し、アプリの「view key」をクリックする。

<ImageBlock
  src="https://media.alchemy.com/1704094572-alchemy-arbitrum-api-key.jpeg"
  alt="Alchemyダッシュボード：ArbitrumアプリのAPIキーを表示する"
  width={1600}
  height={303}
  caption="ArbitrumプロジェクトのAlchemy APIキー"
/>

環境内で以下のコマンドを実行する。

<CodeSnippet code={`

const settings = {
apiKey: <api-key>,
network: Network.ARB_MAINNET,
};
const alchemy = new Alchemy(settings);

alchemy.core.getBlockNumber().then(console.log);`} language="text" theme="dark" />

### **ステップ5. ノードリクエストの分析とレポート**

リクエストが成功したかどうか、また実行速度をモニタリングできる。すべてはダッシュボード上に表示される。

<ImageBlock
  src="https://media.alchemy.com/1704094614-arbitrum-node-in-alchemy.jpeg"
  alt="Alchemyダッシュボード上で稼働中のArbitrumノード"
  width={1600}
  height={577}
  caption="Alchemyダッシュボード上で稼働中のArbitrumノード"
/>

## **自身でArbitrumフルノードを構築する方法**

自身でArbitrumフルノードを構築して運用したい場合は、以下の手順に従うとよい。

### ステップ1. Arbitrumノードのdockerイメージを取得する

Arbitrumノードを運用する前に、dockerイメージに含まれるいくつかの依存関係とライブラリを取得する必要がある。

### ステップ2. EthereumノードのRPCエンドポイントを取得する

これを取得する方法は2つある。[Arbitrum RPCエンドポイントプロバイダー](https://www.alchemy.com/chain-connect/chain/arbitrum-one)を利用するか、自身でEthereumノードを構築するかのいずれかであり、後者はまったく別のプロセスとなる。

[Arbitrum RPCノードプロバイダー](https://www.alchemy.com/layer2/arbitrum?a=9e8867d1b6)を活用したい場合は、Alchemyを利用できる。

<CodeSnippet code={`

--l1.url=<insert your RPC URL here>`} language="text" theme="dark" />

### ステップ3. Arbitrumメインネットに接続する

依存関係の設定が完了したら、以下のコードを実行してArbitrumメインネットワークへノードリクエストを行うことができる。

<CodeSnippet code={`

docker run --rm -it -v /some/local/dir/arbitrum-mainnet/:/home/user/.arbitrum/mainnet -p 0.0.0.0:8547:8547`} language="text" theme="dark" />

この時点で、これらのプログラムを実行してもコンピューター上で動作しなくても驚く必要はない。現時点では、Arbitrumフルノードを運用するための標準的な方法は存在しない。

Arbitrumの開発チームであるOffchain Labsは、ノードの運用方法に関する詳細な公式ドキュメントをまだ公開していない。

そのため、ノードを正常に運用できるかどうかは、使用するデバイスの互換性やCLIをどれだけ使いこなせるかに左右される。

### 今すぐArbitrumノードを稼働させよう

Arbitrumフルノードの運用は、時間とコストを要する作業であり、開発者として取り組んでいる業務そのものには直接的な影響を与えない。適切なハードウェア要件を満たすデバイスを用意し、ブロックチェーン台帳全体のダウンロードを待ち、その後日々管理していく必要がある。

多くの開発者は、この煩雑なプロセスを省略し、ノードプロバイダーのサービスを利用することを選択している。Alchemyは、数回のクリックでArbitrumノードのセットアップを支援できる、頼れるノードサービスプロバイダーである。今すぐAlchemyを使い始めよう。
