Chainlink Local é uma dependência instalável. Ele fornece uma ferramenta (o Chainlink Local Simulator) que os desenvolvedores importam para seus projetos Foundry, Hardhat ou Remix. Esta ferramenta executa Chainlink CCIP localmente, o que significa que os desenvolvedores podem explorar, prototipar e iterar dApps CCIP fora da cadeia rapidamente em um ambiente local e migrar para testnet somente quando estiverem prontos para testar em um ambiente ativo.
O pacote expõe um conjunto de contratos inteligentes e scripts com os quais você constrói, implanta e executa transferências de token CCIP e mensagens arbitrárias em um nó de desenvolvimento local Remix, Hardhat ou Anvil (Foundry). Chainlink Local também oferece suporte a nós bifurcados.
Os contratos de usuário testados com Chainlink Local podem ser implantados em redes de teste sem quaisquer modificações (assumindo que endereços de contrato específicos da rede, como contratos de roteador e endereços de token LINK, sejam passados por meio de um construtor).
Para ver documentação mais detalhada e mais exemplos, visite a documentação local do Chainlink.
Instale o pacote executando:
forge install smartcontractkit/chainlink-local
e, em seguida, defina os remappings para: @chainlink/local/=lib/chainlink-local/
no arquivo remappings.txt
ou foundry.toml
npm install @chainlink/local
importar "https://github.com/smartcontractkit/chainlink-local/blob/main/src/ccip/CCIPLocalSimulator.sol";
Depois de instalar o CCIP Local, você estará pronto para começar a usá-lo em seu projeto.
Importe CCIPLocalSimulator.sol
dentro de seus testes ou scripts, por exemplo:
// test/demo.t.solpragma solidez ^0.8.19;importar {Test, console2} de "forge-std/Test.sol";importar {IRouterClient, WETH9, LinkToken, BurnMintERC677Helper} de "@chainlink/local/src /ccip/CCIPLocalSimulator.sol";importar {CCIPLocalSimulator} de "@chainlink/local/src/ccip/CCIPLocalSimulator.sol";a demonstração do contrato é teste { CCIPLocalSimulator public ccipLocalSimulator;function setUp() public { ccipLocalSimulator = novo CCIPLocalSimulator(); (uint64 chainSelector, IRouterClient sourceRouter, IRouterClient destinoRouter, WETH9 embrulhadoNativo, LinkToken linkToken, BurnMintERC677Ajudante ccipBnM, BurnMintERC677Helper ccipLnM) = ccipLocalSimulator.configuration(); ccipLocalSimulator.requestLinkFromFaucet(receptor, quantidade); } }
Para ver a documentação detalhada e mais exemplos, visite a documentação local do Chainlink.
Observação
Este tutorial representa um exemplo educacional de uso de um sistema, produto ou serviço Chainlink e é fornecido para demonstrar como interagir com os sistemas, produtos e serviços da Chainlink para integrá-los aos seus. Este modelo é fornecido “COMO ESTÁ” e “CONFORME DISPONÍVEL”, sem garantias de qualquer tipo, não foi auditado e pode estar faltando verificações importantes ou tratamento de erros para tornar o uso do sistema, produto ou serviço mais claro. Não use o código deste exemplo em um ambiente de produção sem concluir suas próprias auditorias e aplicar as práticas recomendadas. Nem o Chainlink Labs, nem a Chainlink Foundation, nem os operadores de nós do Chainlink são responsáveis por resultados não intencionais gerados devido a erros no código.