Chainlink Local ist eine installierbare Abhängigkeit. Es bietet ein Tool (den Chainlink Local Simulator), das Entwickler in ihre Foundry-, Hardhat- oder Remix-Projekte importieren. Dieses Tool führt Chainlink CCIP lokal aus, was bedeutet, dass Entwickler CCIP-dApps schnell außerhalb der Kette in einer lokalen Umgebung erkunden, prototypisieren und iterieren können und erst dann zum Testnet wechseln, wenn sie zum Testen in einer Live-Umgebung bereit sind.
Das Paket stellt eine Reihe intelligenter Verträge und Skripte bereit, mit denen Sie CCIP-Token-Transfers und beliebige Nachrichten auf einem lokalen Remix-, Hardhat- oder Anvil-(Foundry-)Entwicklungsknoten erstellen, bereitstellen und ausführen können. Chainlink Local unterstützt auch gegabelte Knoten.
Mit Chainlink Local getestete Benutzerverträge können ohne Änderungen zum Testen von Netzwerken bereitgestellt werden (vorausgesetzt, netzwerkspezifische Vertragsadressen wie Router-Verträge und LINK-Token-Adressen werden über einen Konstruktor übergeben).
Eine ausführlichere Dokumentation und weitere Beispiele finden Sie in der lokalen Chainlink-Dokumentation.
Installieren Sie das Paket, indem Sie Folgendes ausführen:
forge install smartcontractkit/chainlink-local
und setzen Sie dann die Neuzuordnungen auf: @chainlink/local/=lib/chainlink-local/
in der Datei remappings.txt
oder foundry.toml
npm install @chainlink/local
import „https://github.com/smartcontractkit/chainlink-local/blob/main/src/ccip/CCIPLocalSimulator.sol“;
Sobald Sie CCIP Local installiert haben, können Sie es jetzt in Ihrem Projekt verwenden.
Importieren Sie CCIPLocalSimulator.sol
in Ihre Tests oder Skripte, zum Beispiel:
// 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";import {CCIPLocalSimulator} aus "@chainlink/local/src/ccip/CCIPLocalSimulator.sol";Vertragsdemo ist Test { CCIPLocalSimulator public ccipLocalSimulator;function setUp() public { ccipLocalSimulator = new CCIPLocalSimulator(); (uint64 chainSelector, IRouterClient sourceRouter, IRouterClient-ZielRouter, WETH9 eingewickeltNative, LinkToken linkToken, BurnMintERC677Helper ccipBnM, BurnMintERC677Helper ccipLnM) = ccipLocalSimulator.configuration(); ccipLocalSimulator.requestLinkFromFaucet(receiver, amount); } }
Eine ausführliche Dokumentation und weitere Beispiele finden Sie in der lokalen Chainlink-Dokumentation.
Notiz
Dieses Tutorial stellt ein pädagogisches Beispiel für die Verwendung eines Chainlink-Systems, -Produkts oder -Dienstes dar und soll zeigen, wie Sie mit den Systemen, Produkten und Diensten von Chainlink interagieren, um sie in Ihr eigenes zu integrieren. Diese Vorlage wird „WIE BESEHEN“ und „WIE VERFÜGBAR“ ohne Gewährleistungen jeglicher Art bereitgestellt, sie wurde nicht geprüft und es fehlen möglicherweise wichtige Prüfungen oder Fehlerbehandlungen, um die Nutzung des Systems, Produkts oder der Dienstleistung klarer zu machen. Verwenden Sie den Code in diesem Beispiel nicht in einer Produktionsumgebung, ohne Ihre eigenen Audits durchzuführen und Best Practices anzuwenden. Weder Chainlink Labs, die Chainlink Foundation noch Chainlink-Knotenbetreiber sind für unbeabsichtigte Ausgaben verantwortlich, die aufgrund von Fehlern im Code generiert werden.