Chainlink Local es una dependencia instalable. Proporciona una herramienta (Chainlink Local Simulator) que los desarrolladores importan a sus proyectos Foundry, Hardhat o Remix. Esta herramienta ejecuta Chainlink CCIP localmente, lo que significa que los desarrolladores pueden explorar, crear prototipos e iterar rápidamente CCIP dApps fuera de la cadena en un entorno local, y pasar a testnet solo cuando estén listos para realizar pruebas en un entorno en vivo.
El paquete expone un conjunto de scripts y contratos inteligentes con los que usted construye, implementa y ejecuta transferencias de tokens CCIP y mensajes arbitrarios en un nodo de desarrollo local Remix, Hardhat o Anvil (Foundry). Chainlink Local también admite nodos bifurcados.
Los contratos de usuario probados con Chainlink Local se pueden implementar para probar redes sin ninguna modificación (suponiendo que las direcciones de contrato específicas de la red, como los contratos de enrutador y las direcciones de token LINK, se pasen a través de un constructor).
Para ver documentación más detallada y más ejemplos, visite la documentación local de Chainlink.
Instale el paquete ejecutando:
forge install smartcontractkit/chainlink-local
y luego configure las reasignaciones en: @chainlink/local/=lib/chainlink-local/
en el archivo remappings.txt
o foundry.toml
npm install @chainlink/local
importar "https://github.com/smartcontractkit/chainlink-local/blob/main/src/ccip/CCIPLocalSimulator.sol";
Una vez que haya instalado CCIP Local, estará listo para comenzar a usarlo con su proyecto.
Importe CCIPLocalSimulator.sol
dentro de sus pruebas o scripts, por ejemplo:
// test/demo.t.solpragma solidity ^0.8.19;importar {Test, console2} desde "forge-std/Test.sol";importar {IRouterClient, WETH9, LinkToken, BurnMintERC677Helper} desde "@chainlink/local/src /ccip/CCIPLocalSimulator.sol";importar {CCIPLocalSimulator} desde "@chainlink/local/src/ccip/CCIPLocalSimulator.sol"; la demostración del contrato es prueba { CCIPLocalSimulator público ccipLocalSimulator; función setUp() público { ccipLocalSimulator = nuevo CCIPLocalSimulator(); (selector de cadena uint64, IRouterFuente del clienteRouter, IRouterClient destinoRouter, WETH9 envueltoNativo, token de enlace token de enlace, BurnMintERC677Ayudante ccipBnM, BurnMintERC677Helper ccipLnM) = ccipLocalSimulator.configuration(); ccipLocalSimulator.requestLinkFromFaucet(receptor, monto); } }
Para ver documentación detallada y más ejemplos, visite la documentación local de Chainlink.
Nota
Este tutorial representa un ejemplo educativo para utilizar un sistema, producto o servicio de Chainlink y se proporciona para demostrar cómo interactuar con los sistemas, productos y servicios de Chainlink para integrarlos en los suyos. Esta plantilla se proporciona "TAL CUAL" y "SEGÚN DISPONIBILIDAD" sin garantías de ningún tipo, no ha sido auditada y es posible que le falten verificaciones clave o manejo de errores para aclarar el uso del sistema, producto o servicio. No utilice el código de este ejemplo en un entorno de producción sin completar sus propias auditorías y aplicar las mejores prácticas. Ni Chainlink Labs, Chainlink Foundation ni los operadores de nodos de Chainlink son responsables de resultados no deseados que se generen debido a errores en el código.