---
title: "より低コストで得られる、より深いアプリケーションインサイト"
description: "バックエンドインフラストラクチャの再設計により、Alchemyは4つの主要なdebug_traceメソッドで最大3倍の効率化によるコスト削減を実現し、それをそのままユーザーに還元します。"
---

# より低コストで得られる、より深いアプリケーションインサイト

<ImageBlock
  src="https://media.alchemy.com/1729786069-debug_trace.jpg"
  alt="debug_traceが3倍安く"
  width={3200}
  height={1800}
  caption="debug_traceが3倍安く"
  priority
/>

### 公正で透明な価格で、最大の価値にアクセスしながら、望むものを望む方法で構築する。

そのため、皆さんからのフィードバックを受けて、4つの重要な `debug\_trace` メソッドの Compute Unit（CU）コストを削減し、トランザクション実行の詳細を取得するためのより費用対効果の高い手段を提供します。

`debug\_trace` メソッドは、デバッグ、トラブルシューティング、そしてコントラクトが特定の挙動をした理由を理解する上で重要です。

バックエンドインフラを再設計することで、Alchemy は4つの主要な `debug\_trace` メソッドについて、最大3倍の効率化によるコスト削減を実現し、それを皆さんに還元できるようになりました：

- `debug_traceBlockByHash`
- `debug_traceBlockByNumber`
- `debug_traceTransaction`
- `debug_traceCall`

<EmbeddedTable
  table={{
    columns: [
      { key: "1", width: 200, title: "Call", dataType: "object" },
      { key: "2", width: 200, title: "Previous price (CUs)", dataType: "object" },
      { key: "3", width: 200, title: "New price (CUs)", dataType: "object" },
    ],
    data: [
      {
        "1": { title: "<p>debug_traceBlockByHash</p>", tooltip: "", icon: "" },
        "2": { title: "<p>497</p>", tooltip: "", icon: "" },
        "3": { title: "<p>170</p>", tooltip: "", icon: "" },
        id: 0,
      },
      {
        "1": { title: "<p>debug_traceBlockByNumber</p>", tooltip: "", icon: "" },
        "2": { title: "<p>497</p>", tooltip: "", icon: "" },
        "3": { title: "<p>170</p>", tooltip: "", icon: "" },
        id: 1,
      },
      {
        "1": { title: "<p>debug_traceTransaction</p>", tooltip: "", icon: "" },
        "2": { title: "<p>309</p>", tooltip: "", icon: "" },
        "3": { title: "<p>170</p>", tooltip: "", icon: "" },
        id: 2,
      },
      {
        "1": { title: "<p>debug_traceCall</p>", tooltip: "", icon: "" },
        "2": { title: "<p>497</p>", tooltip: "", icon: "" },
        "3": { title: "<p>170</p>", tooltip: "", icon: "" },
        id: 3,
      },
    ],
  }}
/>

実際には、CU の削減により、大幅に低いコストで大きな価値と重要なインサイトにアクセスできるようになります。

準備はいいですか？ 今すぐ `debug\_trace` メソッドを [試してみましょう](https://www.alchemy.com/docs/reference/debug-api-quickstart?utm_source=blog&utm_medium=get_started&utm_campaign=debug_trace&utm_id=debug_trace)。

### Compute Unit（CU）って何だっけ？

Compute Units（CUs）は、Alchemy 上でリクエストを行う際にアプリが使用する総計算リソースを測定する指標です。一部のクエリは軽量で高速に実行できる一方（例：`eth\_blockNumber`）、他のクエリはより負荷が高い（例：`eth\_getLogs`）という事実を考慮しています。

そのため、各メソッドには一定量の CU が割り当てられています。課金はリクエストごとの定額料金ではなく、アプリケーションが実際に使用したリソースに基づいて行われます。この点で、CU はメインネット上の gas と似た働きをしており、手数料はトランザクションの実行内容と相関します。

CU を、より広いマーケットプレイスの中でどう捉えるかについては、追って詳しく説明します。

### `debug_trace` を深掘りする

`debug\_trace` の CU の大幅な削減により、これらの呼び出しはすべて格段に利用しやすくなり、トランザクション実行を細部まで掘り下げて調べられるようになります。

なぜこの詳細度が重要なのでしょうか？

理由は単純です。コントラクト実行の難点は、トランザクションが実際に何を行ったのかを把握するのが非常に難しいことです。

`eth\_getTransactionReceipt` のようなトランザクションレシートを取得する既存のメソッドは、便利ではあるものの、トランザクション実行レベルでの粒度に欠けます。

バグを解決しようとするとき、これは一部の情報は得られても、それよりずっと多くのデータが欠けていることを意味します。

対照的に、`debug\_trace` 系のメソッドは、トランザクションの実行中に何が起きているかの内訳を捉えます。これは開発者にとって重要な突破口です。これらのメソッドは、以下のようなスマートコントラクトのやり取りの細かな詳細を捉えます：

- コントラクト間で行われた呼び出しの順序
- それらの呼び出し中に渡され、変更されたデータ
- 各ステップでの gas 使用量
- 個々のアクションの成功・失敗状況

この粒度があれば、トラブルシューティングを行い、効率化の余地を探し、自分のアプリをより深く理解できます。

### このコスト削減の恩恵を受けるのは誰か？
あなたです！ 😁

より手頃になった `debug_trace` メソッドは、あらゆる Web3 の分野で非常に重要です：

- **ウォレット開発者**：ウォレット内のトランザクション処理とユーザーの操作について、より深いインサイトを得られます。
- **分析プラットフォーム**：ユーザーについてより正確で価値のあるインサイトを得るための詳細なトランザクションデータ。
- **マーケットプレイス**：トランザクションフローをより正確に把握することで、セキュリティを強化し、アクティビティの追跡を助け、プラットフォーム運用の最適化につなげられます。
- **あらゆるアプリ開発者**：何を構築していても、`debug\_trace` メソッドは、優れたバグのないアプリを構築するための最良のインサイトを提供します。

さあ、何を待っているのですか？

すでに何千人もの開発者やチームが Alchemy を使って構築しています。実際、これまでに何らかの web3 アプリを使ったことがあるなら、**おそらく Alchemy を使ったことがあるはずです**。

もっと知りたいですか？ [今すぐドキュメントを読む](https://www.alchemy.com/docs/reference/debug-api-quickstart?utm_source=blog&utm_medium=get_started&utm_campaign=debug_trace&utm_id=debug_trace)。

## よくある質問

### debug_trace メソッドは何に使われますか？

debug_trace メソッドは、コントラクト間で行われた呼び出しの順序、データの変更、各ステップでの gas 使用量、個々のアクションの成功・失敗状況など、トランザクション実行の詳細な内訳を提供します。この粒度により、開発者は問題をデバッグし、効率を最適化し、基本的なトランザクションレシートを超えてスマートコントラクトの挙動を理解できます。

### どの debug_trace メソッドが3倍安くなりましたか？

debug_traceBlockByHash、debug_traceBlockByNumber、debug_traceTransaction、debug_traceCall の4つの主要メソッドについて、Compute Unit コストを最大3倍削減しました。

### Compute Unit（CU）とは何ですか？

Compute Units は、当社のプラットフォーム上でリクエストを行う際にアプリが使用する総計算リソースを測定する指標です。課金は、リクエストごとの定額料金ではなく、アプリケーションが使用したリソースに基づいて行われ、メインネットの gas の仕組みと似ています。

### なぜ eth_getTransactionReceipt ではなく debug_trace を使うのですか？

eth_getTransactionReceipt は便利ですが、トランザクション実行レベルでの粒度に欠けます。debug_trace メソッドは、トラブルシューティングやトランザクションが何を行ったかを理解する上で重要な、スマートコントラクトのやり取りの細かな詳細を捉えます。

### 誰が debug_trace メソッドの低価格化の恩恵を受けますか？

ウォレット開発者はユーザーの操作についてより深いインサイトを得られ、分析プラットフォームは詳細なトランザクションデータにアクセスでき、マーケットプレイスはセキュリティを強化しアクティビティを追跡でき、あらゆるアプリ開発者がより効果的にトラブルシューティングと最適化を行えます。

### debug_trace のコストをどのように削減したのですか？

バックエンドインフラを再設計し、最大3倍の効率化を実現しました。この効率化は、Compute Unit コストの削減という形で開発者に直接還元されています。

### debug_trace メソッドの使い方についてもっと知るにはどうすればいいですか？

ドキュメントを読むことで、実装ガイドや使用例を含め、debug_trace メソッドをすぐに使い始めることができます。
