メインコンテンツへスキップ

XレイヤーRPC

Quicknodeをご利用いただくと、当社のグローバルなX Layerネットワークにアクセスできるようになります。このネットワークは、APIリクエストを常に最寄りの利用可能なロケーションにルーティングし、低遅延と最速の通信速度を保証します。

X Layerとは何ですか?

X Layerは、zkEVM技術に基づいて構築された、イーサリアム向けのゼロ知識ロールアップ(zkRollup)Layer 2ソリューションです。このソリューションはハイブリッド証明アプローチを採用しており、実行のためにSTARK証明を生成した後、効率的なオンチェーン検証を行うためにそれらを再帰的にSNARKにラップします。これにより、イーサリアムのセキュリティを継承しつつ、トランザクションの数学的な有効性が保証されます。

オプティミスティック・ロールアップとは異なり、X Layerでは出金にチャレンジ期間を必要としません。これは、妥当性証明が一度提出されれば、暗号学的な確実性が得られるためです。ファイナリティは証明の提出間隔(通常は数日ではなく数分単位)に依存しますが、それでもオプティミスティック・ロールアップよりも高速です。トランザクションコストはイーサリアムメインネットに比べて大幅に削減されており、その削減効果はトランザクションのバッチ処理とコールデータの圧縮によるものです。

X Layerは、イーサリアム仮想マシン(EVM)とのバイトコードレベルの互換性を実現しています。このzkEVMアーキテクチャは、ガス料金などの特殊なケースにおいてわずかな違いがあるものの、ほぼすべてのEVMオペコードとプリコンパイルをサポートしています。これにより、既存のイーサリアムスマートコントラクトやアプリケーションのほとんどを、修正することなくデプロイできるようになり、イーサリアムの実行環境、ツール、開発者エコシステムとの幅広い互換性を維持しつつ、ゼロ知識証明によるセキュリティ保証を提供します。

Xレイヤーとの連携

X Layerは、標準的なイーサリアムのJSON-RPCインターフェースを完全にサポートすると同時に、レイヤー2特有の追加機能も提供しています。これにより、既存のイーサリアムツールとの完全な互換性が確保されるため、開発者はコードを変更することなく、MetaMask、Hardhat、Foundry、Web3ライブラリなどのツールをX Layerとシームレスに併用することができます。

X Layer API を使用すると、以下のことが可能です:

  • イーサリアムのすべての標準的なJSON-RPCメソッドを実行する(eth_call, eth_sendTransaction, eth_getBalance)
  • ロールアップ操作のための X レイヤー固有のメソッドにアクセスする(例:証明ステータスの照会やブリッジとのやり取りなど)
  • ブリッジのアクティビティ、バッチ送信、および証明の検証状況の照会
  • WebSocket接続を介して、L2イベントをリアルタイムで購読する
  • 利用可能なトレースおよび検査ユーティリティを活用して、ブロックチェーンのデバッグをより詳細に行う

APIへの接続方法は以下の通りです:

  • ローカルのX Layerノードの実行
  • Quicknode X Layerエンドポイントなどのホスティングプロバイダーを利用することで、高い信頼性、アーカイブデータ、および強化されたパフォーマンスを備えたX Layerメインネットへのアクセスが可能になります

対応ネットワーク

Quicknodeでは、以下のXレイヤーネットワークへのアクセスを提供しています:

メインネット
種類:制作
チェーンID:
196
HTTP:
WSS:
アーカイブ:はい
剪定:なし
テストネット
タイプ:テストネット
チェーンID:
1952
HTTP:
WSS:
アーカイブ:はい
剪定:なし
注:

XLayerは、ブロックごとにリジェネシスを行います 42,810,021. このブロック以前の履歴データは利用可能ですが、レガシーノードに保存されており、次のようなメソッドで特定のブロック番号を指定すると自動的にルーティングされます。 eth_getBlockByNumber, eth_getBalance、および debug_trace*.

42,810,021ブロック自体は追跡不可能であり、戻ってくる可能性があります {"code":4444,"message":"pruned history unavailable"}.

トランザクションノードの要件

X Layerでは、リジェネシスの境界(ブロック42,810,021)を境に、2種類のノードクライアントが使用されています:

  • ブロック 42,810,021 およびそれ以前 — 以下のものが必要です: cdk-Erigon ノード。Geth ノードは以下を返す null これらの過去の取引について。
  • ブロックの後 42,810,021 — 以下のものが必要です: ゲス ノード。Erigonノードは以下を返す null これらの現在の取引について。

再生成前のデータを照会するには、 x-qn-height リクエストに宛先ブロック番号を記載したヘッダーを付け、それを cdk-Erigon ノード。このヘッダーがない場合、リクエストはデフォルトで ゲス ノードであるため、リジェネシス後のブロックではヘッダーは不要です。

「リジェネシス」以前の例(cdk-Erigon、ブロック ≤ 42,810,021):

curl --location 'https://docs-demo.xlayer-mainnet.quiknode.pro/' \
--header 'Content-Type: application/json' \
--header 'x-qn-height: 42810020' \
--data '{"method":"eth_getBlockByNumber","params":["0x28D3AA4",false],"id":1,"jsonrpc":"2.0"}'

再生後の例(ゲス、ブロック番号 > 42,810,021):

curl --location 'https://docs-demo.xlayer-mainnet.quiknode.pro/' \
--header 'Content-Type: application/json' \
--data '{"method":"eth_getBlockByNumber","params":["0x28D3AA6",false],"id":1,"jsonrpc":"2.0"}'
このドキュメントを共有する