Chainlink Local はインストール可能な依存関係です。これは、開発者が Foundry プロジェクト、Hardhat プロジェクト、または Remix プロジェクトにインポートするツール (Chainlink Local Simulator) を提供します。このツールは、Chainlink CCIP をローカルで実行します。つまり、開発者はローカル環境でオフチェーンの CCIP dApp を迅速に探索、プロトタイプ作成、反復し、ライブ環境でテストする準備ができた場合にのみテストネットに移行できます。
このパッケージは、ローカルの Remix、Hardhat、または Anvil (Foundry) 開発ノード上で CCIP トークン転送と任意のメッセージを構築、デプロイ、実行する一連のスマート コントラクトとスクリプトを公開します。 Chainlink Local はフォークされたノードもサポートします。
Chainlink Local でテストされたユーザー コントラクトは、変更を加えずにテスト ネットワークにデプロイできます (ルーター コントラクトや LINK トークン アドレスなどのネットワーク固有のコントラクト アドレスがコンストラクター経由で渡されると仮定します)。
より詳細なドキュメントとその他の例を参照するには、Chainlink ローカル ドキュメントにアクセスしてください。
以下を実行してパッケージをインストールします。
forge install smartcontractkit/chainlink-local
次に、 remappings.txt
またはfoundry.toml
ファイルのいずれかでリマッピングを@chainlink/local/=lib/chainlink-local/
に設定します。
npm install @chainlink/local
インポート "https://github.com/smartcontractkit/chainlink-local/blob/main/src/ccip/CCIPLocalSimulator.sol";
CCIP Local をインストールすると、プロジェクトでそれを使用できるようになります。
CCIPLocalSimulator.sol
テストまたはスクリプト内にインポートします。次に例を示します。
// test/demo.t.solpragma Solidity ^0.8.19;import {Test, console2} from "forge-std/Test.sol";import {IRouterClient, WETH9, LinkToken, BurnMintERC677Helper} from "@chainlink/local/src /ccip/CCIPLocalSimulator.sol";{CCIPLocalSimulator} をインポートします"@chainlink/local/src/ccip/CCIPLocalSimulator.sol";契約デモはテストです { CCIPLocalSimulator public ccipLocalSimulator;function setUp() public { ccipLocalSimulator = 新しい CCIPLocalSimulator(); (uint64 チェーンセレクター、 IRouterClient ソースルーター、 IRouterクライアント宛先ルーター、 WETH9 ラップネイティブ、 リンクトークンリンクトークン、 BurnMintERC677ヘルパー ccipBnM、 BurnMintERC677Helper ccipLnM) = ccipLocalSimulator.configuration(); ccipLocalSimulator.requestLinkFromFaucet(受信者, 金額); } }
詳細なドキュメントとその他の例を参照するには、Chainlink ローカル ドキュメントにアクセスしてください。
注記
このチュートリアルは、Chainlink システム、製品、サービスを使用するための教育的な例を表し、Chainlink のシステム、製品、サービスを操作して独自のシステム、製品、サービスに統合する方法を示すために提供されています。このテンプレートは「現状のまま」および「利用可能なまま」で提供され、いかなる種類の保証もありません。監査は受けられていません。また、システム、製品、またはサービスの使用法をより明確にするための重要なチェックやエラー処理が欠けている場合があります。独自の監査とベスト プラクティスの適用を完了することなく、実稼働環境でこの例のコードを使用しないでください。 Chainlink Labs、Chainlink Foundation、Chainlink ノードオペレーターのいずれも、コード内のエラーにより生成された意図しない出力に対して責任を負いません。