Chainlink Local — это устанавливаемая зависимость. Он предоставляет инструмент (локальный симулятор Chainlink), который разработчики импортируют в свои проекты Foundry, Hardhat или Remix. Этот инструмент запускает Chainlink CCIP локально, что означает, что разработчики могут быстро исследовать, создавать прототипы и повторять CCIP dApps вне сети в локальной среде и переходить в тестовую сеть только тогда, когда они готовы к тестированию в реальной среде.
Пакет предоставляет набор смарт-контрактов и сценариев, с помощью которых вы создаете, развертываете и выполняете передачу токенов CCIP и произвольные сообщения на локальном узле разработки Remix, Hardhat или Anvil (Foundry). Chainlink Local также поддерживает раздвоенные узлы.
Пользовательские контракты, протестированные с помощью Chainlink Local, могут быть развернуты для тестирования сетей без каких-либо изменений (при условии, что адреса контрактов конкретной сети, такие как контракты маршрутизатора и адреса токенов LINK, передаются через конструктор).
Чтобы просмотреть более подробную документацию и дополнительные примеры, посетите локальную документацию Chainlink.
Установите пакет, запустив:
forge install smartcontractkit/chainlink-local
а затем установите переназначения на: @chainlink/local/=lib/chainlink-local/
в файле remappings.txt
или foundry.toml
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;импортируем {Test, console2} из "forge-std/Test.sol";импортируем {IRouterClient, WETH9, LinkToken, BurnMintERC677Helper} из "@chainlink/local/src" /ccip/CCIPLocalSimulator.sol";импортировать {CCIPLocalSimulator} из "@chainlink/local/src/ccip/CCIPLocalSimulator.sol";демонстрация контракта — тестовая { CCIPLocalSimulator public ccipLocalSimulator;function setUp() public { ccipLocalSimulator = новый CCIPLocalSimulator (); (uint64 ChainSelector, Источник IRouterClientRouter, IRouterКлиент назначенияМаршрутизатор, WETH9 завернутыйРодной, LinkToken ссылкаТокен, BurnMintERC677Helper ccipBnM, BurnMintERC677Helper ccipLnM) = ccipLocalSimulator.configuration(); ccipLocalSimulator.requestLinkFromFaucet (получатель, сумма); } }
Чтобы просмотреть подробную документацию и дополнительные примеры, посетите локальную документацию Chainlink.
Примечание
Это руководство представляет собой образовательный пример использования системы, продукта или услуги Chainlink и предназначено для демонстрации того, как взаимодействовать с системами, продуктами и услугами Chainlink для их интеграции в ваши собственные. Этот шаблон предоставляется «КАК ЕСТЬ» и «КАК ДОСТУПНО» без каких-либо гарантий, он не проверялся, и в нем могут отсутствовать ключевые проверки или обработка ошибок, чтобы сделать использование системы, продукта или услуги более понятным. Не используйте код из этого примера в производственной среде без проведения собственных проверок и применения лучших практик. Ни Chainlink Labs, ни Chainlink Foundation, ни операторы узлов Chainlink не несут ответственности за непреднамеренные выходные данные, генерируемые из-за ошибок в коде.