---
title: "MetaMaskのトランザクションを無料で高速かつ安定させる方法"
description: "MetaMaskの低速なトランザクション、障害、不正確なガス代見積もりを解消。AlchemyのRPCでPolygon/MaticなどL2チェーンに安定接続。"
---

# MetaMaskのトランザクションを無料で高速かつ安定させる方法

<ExternalVideo
  url="https://www.youtube.com/watch?v=VUkhkSgMtdk&embeds_referring_euri=https%3A%2F%2Falchemy.com%2F&source_ve_path=OTY3MTQ&feature=emb_imp_woyt"
  provider="youtube"
  providerUid="VUkhkSgMtdk"
/>

## MetaMaskとは?どのような仕組みか?

[**MetaMask**](https://www.alchemy.com/dapps/metamask)は、最も広く使われているEthereumツールの1つです。暗号資産ウォレットとして、ブラウザ拡張機能やモバイルアプリを通じて複数のアカウントにアクセスできます。開発者は[アプリ](https://www.alchemy.com/dapps/top/defi-dapps)のテストにMetaMaskを使い、トレーダーはDeFiプロトコルでの貸し借りに、コレクターはNFTの購入に使っています。今のWeb3の世界では欠かせない存在です。

とはいえ、MetaMaskがこれらのトランザクションをどのように処理しているかご存知でしょうか?ウォレットとして、アカウント残高、トランザクション履歴、ガス代の見積もりなど、重要な情報をユーザーに示す必要があります。また、ユーザーに代わってブロックチェーンにトランザクションを送信する役割も担っています。では、MetaMaskはこれらの重要な情報をどのように処理しているのでしょうか?

#### 結論:Alchemyの無料の専用RPCエンドポイントの利用をおすすめします

MetaMaskはノードに接続することで、ブロックチェーンへの情報の読み書きを行っています。これは、すべてのMetaMaskユーザー間でリソースを共有するデフォルトの[**ノードプロバイダー**](https://www.alchemy.com/overviews/blockchain-node-providers)を使って接続します。デフォルトの共有プロバイダーがあることで、ユーザーはセットアップが簡単になりますが、多くのデメリットもあります。

- トランザクションの処理時間が[遅く感じる](https://twitter.com/Maahesrah/status/1429887080084254720?s=20)[‍](https://twitter.com/Maahesrah/status/1429887080084254720?s=20)場合がある
- [ブロックデータの不整合](https://ethereum.stackexchange.com/questions/109768/how-does-ethereum-network-keep-consistent)[‍](https://ethereum.stackexchange.com/questions/109768/how-does-ethereum-network-keep-consistent)‍が見られる場合がある
- [古いガス代の見積もり](https://twitter.com/nicksdjohnson/status/1425223355502718979?s=20)‍のせいで、必要以上のガス代を支払ってしまう場合がある
- そして最悪の場合、[デフォルトのノードプロバイダーが完全に停止してしまう](https://www.theblockcrypto.com/post/84232/ethereum-infrastructure-provider-infura-is-down)ことがある

障害が発生したとき、最も重要なタイミングで重要なトランザクションが送信できずに立ち往生することは避けたいはずです。

<ImageBlock
  src="https://media.alchemy.com/1704800490-use-alchemy-rpc-so-you-don-t-overpay-gas-fees.png"
  alt="Alchemy RPCを使ってガス代を払いすぎないようにする"
  width={998}
  height={558}
  caption="Alchemy RPCを使ってガス代を払いすぎないようにする"
/>

## ノードプロバイダーとしてAlchemyを使うメリットは?

[**Alchemy**](https://alchemy.com/?a=991c4e82df)は、他のノードプロバイダーで一般的に起きているデータの不整合、スケーラビリティ、障害といった問題を解決する、まったく新しいWeb3インフラ技術[**Supernode**](https://www.alchemy.com/supernode)を開発しました。AlchemyをMetaMaskウォレットと接続することで、**Mempool Visualizer**や[**Alchemy** **Notify**](https://www.alchemy.com/notify)といった、モニタリングとデバッグのための画期的なツールも利用できるようになります。

2つの短いシナリオで説明します。

#### シナリオ1: NFTのミント

MetaMaskを使って、最新のNFTドロップをミントするためにdappへトランザクションを送信しているとします。時間が経っても、トランザクションが完了せず、その理由もわからない場合、どうすればよいでしょうか?

Alchemyのmempoolウォッチャーを使えば、トランザクションがネットワークの他の部分にブロードキャストされる前の、保留中のトランザクションを確認できます。mempool内の各トランザクションをクリックすると、ガス代が不足しているために失敗したか、nonce値が競合するトランザクションがあるかなど、詳細な情報を確認できます。トランザクションがどこで、なぜ滞っているのかを把握できるため、トレードを最大限にコントロールしたい場合、この可視性は非常に重要です。

<ImageBlock
  src="https://media.alchemy.com/1704800702-modify-mainnet-to-use-alchemy.png"
  alt="MetaMaskのネットワーク設定:MainnetをAlchemy RPCエンドポイントに変更"
  width={1090}
  height={652}
  caption="MainnetをAlchemyに変更"
/>

#### シナリオ2: トランザクションへのアラート設定

次に、重要なトランザクション(例:ウォレットから1 ETHを超える送金)が発生したときに自分宛にアラートを送りたい場合や、トランザクションがマイニングされた後にドロップされたことを知りたい場合を考えてみましょう。通常であれば、MetaMaskでトランザクションを送信した後、ブロックチェーンエクスプローラーを使って履歴を手作業で確認することになりますが、これは時間がかかり、ミスも起こりやすい方法です。

Alchemy Notifyを使えば、トランザクションが発生するたびに、オンチェーンのトランザクションデータを自分のアプリへ自動的にプッシュするWebhook機能を利用できます。**この機能により、ブロックチェーンデータを必要な場所へ届けることができます** -- Slack、Discord、税務会計アプリケーションなど、可能性は無限大です :\)

<ImageBlock
  src="https://media.alchemy.com/1704800834-bring-blockchain-data-over-to-where-you-need-it-most.png"
  alt="ブロックチェーンデータを必要な場所へ持ってくる"
  width={1108}
  height={808}
  caption="ブロックチェーンデータを必要な場所へ持ってくる"
/>

## では、MetaMaskのノードプロバイダーをどう変更するか?

さて、これらの優れたメリットをMetaMaskウォレットで得る方法が気になっているところでしょう。

ご安心ください :\) 手順はとても簡単です。一緒に進めていきましょう。

### Alchemyの無料アカウントを作成する

これは非常に重要なステップです。

[今すぐ実行してください。**こちら。**](https://alchemy.com/?a=991c4e82df)

### 次にMetaMaskでカスタムRPC設定を作成する

準備はよろしいでしょうか?

1. MetaMaskウォレットに移動し、上部のネットワークのドロップダウンをクリックして、一番下にある**Custom RPC**を選択します。

<ImageBlock
  src="https://media.alchemy.com/1704800906-the-custom-rpc-button-will-open-a-new-window.png"
  alt="「Custom RPC」ボタンをクリックすると新しいウィンドウが開きます。"
  width={712}
  height={1206}
  caption="「Custom RPC」ボタンをクリックすると新しいウィンドウが開きます。"
/>

<ImageBlock
  src="https://media.alchemy.com/1704800985-fill-in-network-details.png"
  alt="ネットワーク詳細欄が空のMetaMaskカスタムRPCフォーム"
  width={742}
  height={1216}
  caption="これらのフィールドを入力していきます。"
/>

このカスタムRPCの情報欄を入力していきましょう。

2. **Network Name**には、どのチェーンに接続しているかがわかる名前を自由につけることができます。例えば、Polygon Mainnetに接続する場合、この設定を「Alchemy - Polygon Mainnet」と名付けることができます。

3. **New RPC URL**欄には、[Alchemy Dashboard](https://dashboard.alchemy.com/)からHTTP APIキーのURLを取得して入力します。ダッシュボードのアカウントをお持ちでない場合は、上記の「Alchemyの無料アカウントを作成する」のステップに戻り、アカウントを作成してください。

<ImageBlock
  src="https://media.alchemy.com/1704801058-alchemy-app-chain-details.jpg"
  alt="Alchemyアプリのチェーンが、接続したいチェーンと一致していることを確認してください。"
  width={1600}
  height={562}
  caption="Alchemyアプリのチェーンが、接続したいチェーンと一致していることを確認してください。"
/>

4. 接続したいネットワークの**Chain ID**を調べます。

- [Ethereum Mainnet](https://www.alchemy.com/rpc/ethereum) - 1
- Ropsten Testnet - 3
- Rinkeby Testnet - 4
- Goerli Testnet - 5
- Kovan Testnet - 42
- Polygon \(Matic\) Mainnet - 137
- Mumbai Testnet - 80001
- Arbitrum One - 42161
- Optimism \(Optimistic Ethereum\) - 10
- Optimistic Kovan - 69

5. **Currency Symbol**とBlock Explorer URLは任意です。ほとんどのチェーンでは、ここへの入力は不要です。L2やサイドチェーンの場合は、これらを設定しておくと便利です。

Polygon: 

- Currency Symbol - MATIC
- Block Explorer URL - [https://polygonscan.com/](https://polygonscan.com/)

Arbitrum:

- Currency Symbol - AETH
- Block Explorer URL - [https://arbiscan.io](https://arbiscan.io)

Optimism:

- Currency Symbol - ETH
- Block Explorer URL - [https://optimistic.etherscan.io](https://optimistic.etherscan.io)

<ImageBlock
  src="https://media.alchemy.com/1704801200-correctly-filled-configurations.png"
  alt="完了すると、設定はこのようになります。"
  width={744}
  height={1228}
  caption="完了すると、設定はこのようになります。"
/>

次のような警告が出ても心配する必要はありません:

*This Chain ID is currently used by the Polygon network.*

これは、同じチェーンに対して別の設定がすでに存在することをMetaMaskが知らせているだけで、問題なく許可されています。入力欄をすべて埋めたら、**Save**を押してください。

<ImageBlock
  src="https://media.alchemy.com/1704801319-alchemy-polygon-mainnet-configured-correctly.png"
  alt="Alchemy経由でPolygon Mainnet用に設定を完了したMetaMaskカスタムRPC"
  width={736}
  height={1220}
  caption="以上で完了です!"
/>

### あとはゆったり構えて、トランザクションを送信するだけ

いつも通りにMetaMaskを使うだけです :\)

### そしてさらに...Alchemyの開発者プラットフォームを活用する

[Alchemy](https://alchemy.com/?a=991c4e82df)を接続すると、[**Alchemy Dashboard**](https://dashboard.alchemy.com/)であなたのアプリを確認し、MetaMaskが行っているAPI呼び出しを見ることができます: 

<ImageBlock
  src="https://media.alchemy.com/1704801412-alchemy-dashboard.png"
  alt="Alchemy Dashboardであなたのアプリを確認する"
  width={1600}
  height={705}
  caption="Alchemy Dashboardであなたのアプリを確認する"
/>

または、**Mempool Watcher**で保留中および承認済みのトランザクションを追跡できます: 

<ImageBlock
  src="https://media.alchemy.com/1704724124-alchemy-mempool-watcher.png"
  alt="私たちのツールを使うと、mempoolはこのように見えます!"
  width={1600}
  height={579}
  caption="私たちのツールを使うと、mempoolはこのように見えます!"
/>

さらに、**Alchemy Notify**でWebhookを設定すれば、ウォレットの活動について自動的にアラートを受け取ることもできます:

<ImageBlock
  src="https://media.alchemy.com/1704801586-set-up-webhooks-with-alchemy-notify.png"
  alt="Alchemy Notifyでウェブフックを設定する"
  width={1600}
  height={590}
  caption="Alchemy Notifyでウェブフックを設定する"
/>

ご覧の通り、MetaMaskのトランザクションに関して何をしたいとしても、Alchemyがサポートします。

このガイドが役に立ったら、Twitterで[@Alchemy](https://x.com/Alchemy)にぜひ声をかけてください :\)
