見出し画像

EVM RPC Canisterの使い方|ICPスマートコントラクトとEthereumを統合したDapps開発

この記事は「ICP <> Ethereum: How ICP’s EVM RPC Canister Connects the Networks」を日本語訳したものです。

DFINITY R&D チームは、EVM RPC Canisterがリリースされ、ICP 開発者コミュニティで使用できるようになったことをお知らせします。EVM RPC は、オンチェーン API を使用してEthereumやその他のEVM ブロックチェーンと通信するように設計されたインターネットコンピュータCanisterスマートコントラクトです。

https://github.com/letmejustputthishere/chain-fusion-starter/tree/main

EVM RPC Canisterの重要性

開発者は、Ethereum ネットワークや他の EVM チェーンと通信する ICPスマートコントラクトを作成することを目指しています。ICP はすでに HTTPS アウトコールを通じてこれを容易にしており、Ethereum プロトコルは、 HTTP ベースの RPCインターフェイスを介して任意の Ethereum ノードと対話するためのソフトウェア アプリケーションの仕様を定義しています。

EVM 互換のレイヤー 2 チェーンの登場により、開発者はこのインターフェイスを利用して、生のトランザクションに署名して送信するなどの機能を使用できるようになりました。RPCインターフェイスを使用すると、Ethereum ネットワークや Optimism や Arbitrum などの他のネットワークと直接やり取りできます。

プロトコルレベルのツールは利用可能であるにもかかわらず、それらをまとめることは開発者にとって負担となる可能性があります。このため、DFINITY R&Dチームは数か月前に、すべてのベストプラクティスを統合した EVM RPC Canisterをコミュニティ向けに作成すると発表しました。

DFINITYのエンジニアリングチームは、Canisterスマートコントラクトの機能を利用してHTTPSアウトコールを実行し、ビザンチンコンセンサスに到達して、Ethereum ネットワークまたは EVM 互換の派生ネットワークと直接統合する手段を提供するソリューションを設計しました。これは、ICPメインネットに展開されている他のCanisterスマートコントラクトとの統合によって実現されます。EVM RPC Canisterによりインターネット コンピューターの無限の計算能力と Ethereum ネットワークに保持されている数十億の資産を組み合わせて、分散型アプリケーションエコシステムで新しく斬新で楽しく便利なアプリケーションを構築できます。

EVM RPC Canisterの使い方

開始するには、EVM RPC ドキュメントサンプル コード、またはGitHub のCanister コードを確認するか、 ICP ダッシュボードでCanisterを検索してください。

最新のブロックを照会するなど、Ethereum からデータを送受信するには、アプリケーションはいくつかの複雑な手順を実行する必要があります。

最初のステップは、リクエストを送信する Ethereum ノードのアドレスを取得することです。アグリゲータはいくつか存在しますが、個々の RPC サーバーの可用性は保証されていないため、任意の RPC エンドポイントからのデータに依存する信頼性の高いアプリケーションを構築することは困難です。さらに、いくつかの RPC サーバーには一貫したプライバシー ポリシーが欠けており、その多くはリクエストチェーンに高いレイテンシをもたらします。

これらの理由から、通常は、稼働率が高く、レイテンシが低く、サポートされるチェーンの範囲が広い API を提供するAnkrPublicNodeなどのよく知られた RPCプロバイダーを利用します。

単一の RPC プロバイダーを使用してEthereum ノードを照会するアプリケーション。

厳格なセキュリティ要件を持つアプリケーションの場合、プロバイダーからの結果がネットワーク上の他のノードと一致していることを確認することも重要です。これは、複数のリクエストを異なるプロバイダーに並行して送信し、各プロバイダーから返されたレスポンスを比較して一致するかどうかを判断することで実現されます。応答のいずれかに不一致がある場合は、事実と虚構を区別するための明確に定義されたメカニズムが必要です。

複数のRPCプロバイダーを利用して高度なデータ整合性を確保するアプリケーション

最後に、Ethereum ノードによって返されたレスポンスは、アプリケーションの Ethereum データの実装のコンテキストで利用できるように、アプリケーションで使用される基礎となる型システムにデコードおよび逆シリアル化される必要があります。

異なるブロックチェーンをリンクするハブとしてのインターネット コンピュータの役割は、強力なセキュリティ プロパティと、Canisterスマート コントラクトを通じてチェーン上でアウトバウンド HTTPS リクエストを実行する独自の機能によって可能になります。

つまり、何らかの方法で Ethereum ネットワークと統合しようとするアプリケーションは、複数のAPI キーを入手し、それらを安全に保管し、それらのローテーションを管理する必要があり、同時に API の品質、稼働時間、およびデータの整合性を確保するためにプロバイダーを審査する必要があります。さらに、アプリケーションはインターフェイスを定義し、受信データを処理するための変換ロジックを実装する必要があります。これらすべてをスタンドアロン アプリケーションで効率的に処理するには少し多すぎるように思われるかもしれませんが、実際そうなのです。

EVM RPC Canisterの設計

EVM RPC Canisterは、EVM 互換ネットワークでのクエリとトランザクションの複雑さを軽減することを目的としています。これは、エージェントを活用する ICP の外部に展開された他の ICP Canisterやアプリケーションで使用されるように設計されています。

このサービスは、いくつかの主要な Ethereum JSON RPC API を、便利な型付けのCandidインターフェースにカプセル化するインターフェースを公開し、特定のcallに対して複数のプロバイダーからの結果を正規化して比較することで、レスポンスの一貫性を保証します。これにより、Ethereum メインネットを含む、サポートされている EVM 互換ネットワークから返されるデータと、そのネットワークに送信されるデータの整合性に対する高い信頼性が保証されます。

EVM RPC Canisterは、さまざまな RPCプロバイダーのAPIキーの調達、管理、ローテーションの負担も抽象化し、使用状況に応じて不透明に拡張される単一のインターフェースを公開します。つまり、Canisterはサイクルをアタッチするだけでよく、EVM RPC Canisterが問題なく機能すると想定できるため、Canister開発者はビジネスロジックのみに集中できます。

裏では、EVM RPC Canisterが計測され、異常、使用量の急増、停止、攻撃などが 24 時間監視されており、問題が発生した瞬間に解決できる高度なスキルを持つチームがサポートしています。

ガバナンス

Network Nervous System は、インターネット コンピュータを管理する DAO (分散型自律組織) であり、コミュニティによって管理される民主化された分散型アプリケーションの構築を可能にします。EVM RPC Canister はそのようなアプリケーションの一例です。これは NNS によって制御されるため、Canister のコードに加えられる変更は、システム内のニューロン (ICP トークン所有者) によって投票され承認される提案を通じて行う必要があります。

RPC プロバイダーへの変更 (追加、削除、または修正を含む) は、NNS 提案を通じて 1 回限りのアクションを実行する権限を持つ当事者によって実行する必要があります。これにより、最終的には、EVM RPC Canisterの機能を形成する権限が、それを利用するコミュニティの手に直接渡されることになります。

EVM RPC Canisterにインストールされる Web アセンブリ (Wasm) モジュールの構築に使用されるコードはGitHubで公開されており、誰でも Wasm を構築してそのハッシュが ICP メインネットにデプロイされたものと一致することを確認できます。そうすることで、Canister自体の整合性が確保されます。つまり、自分で読んで確認できるコードは、インターネット コンピューターで実行されているコードとまったく同じです。

安全で便利

EVM RPC Canisterは、Ethereum および Ethereum 互換ネットワークとの通信を容易にするために使用される API キーの調達、管理、ローテーションの複雑さを解消します。EVM ベースのRPCエンドポイントから発信されるデータの操作をシンプルかつ簡単にするいくつかの利便性を提供します。DFINITY が EVM RPC Canisterを分散型サービスとして開発することで、コミュニティは時間の経過とともにその進化を管理できます。

これらのイノベーションを組み合わせることで、開発者は世界最大の暗号通貨の 1 つをネイティブで使用する dApp や DeFi プロジェクトを構築できるようになり、莫大な価値を活用し、Ethereum スマート コントラクトに高度な機能をもたらすことができます。

結論

EVM RPC Canisterは、ICP スマートコントラクトと Ethereum およびその他の EVM 互換ネットワークとの統合を簡素化します。EVM RPC Canisterは、API キーの管理の複雑さを抽象化し、データの整合性を確保することで、開発者が革新的で分散化されたアプリケーションの構築に集中できるようにします。

今すぐ始めましょう

  1. EVM RPC ドキュメントを参照して、 EVM RPC Canisterをプロジェクトに統合する方法を理解してください。

  2. EVM RPC Canister の実際の実装を確認するには、サンプル コードを確認してください。

  3. forum.dfinity.orgの開発者コミュニティに参加して、経験を共有したり、質問したり、他の開発者と協力したりしてください。

EVM RPC Canisterを使用すると、ICPとEthereumの両方の長所を活用した dAppとDeFi プロジェクトを構築し、分散型アプリケーションの未来を推進できます。

____

internetcomputer.orgで構築を開始し、 forum.dfinity.orgで開発者コミュニティに参加してください。

この記事が気に入ったらサポートをしてみませんか?