Chainlink Local adalah ketergantungan yang dapat diinstal. Ini menyediakan alat (Simulator Lokal Chainlink) yang diimpor pengembang ke proyek Foundry atau Hardhat atau Remix mereka. Alat ini menjalankan Chainlink CCIP secara lokal yang berarti pengembang dapat dengan cepat mengeksplorasi, membuat prototipe, dan mengulangi dApps CCIP secara off-chain di lingkungan lokal, dan berpindah ke testnet hanya ketika mereka siap untuk menguji di lingkungan langsung.
Paket ini memperlihatkan serangkaian kontrak dan skrip pintar yang dengannya Anda membangun, menerapkan, dan mengeksekusi transfer token CCIP dan pesan arbitrer pada node pengembangan Remix, Hardhat, atau Anvil (Foundry) lokal. Chainlink Local juga mendukung node bercabang.
Kontrak Pengguna yang diuji dengan Chainlink Local dapat diterapkan untuk menguji jaringan tanpa modifikasi apa pun (dengan asumsi alamat kontrak spesifik jaringan seperti kontrak Router dan alamat token LINK diteruskan melalui konstruktor).
Untuk melihat dokumentasi yang lebih detail dan contoh lainnya, kunjungi Dokumentasi Lokal Chainlink.
Instal paket dengan menjalankan:
forge install smartcontractkit/chainlink-local
lalu atur pemetaan ulang ke: @chainlink/local/=lib/chainlink-local/
di file remappings.txt
atau foundry.toml
npm install @chainlink/local
impor "https://github.com/smartcontractkit/chainlink-local/blob/main/src/ccip/CCIPLocalSimulator.sol";
Setelah Anda menginstal CCIP Lokal, Anda sekarang siap untuk mulai menggunakannya dengan proyek Anda.
Impor CCIPLocalSimulator.sol
ke dalam pengujian atau skrip Anda, misalnya:
// test/demo.t.solpragma soliditas ^0.8.19;import {Test, console2} dari "forge-std/Test.sol";import {IRouterClient, WETH9, LinkToken, BurnMintERC677Helper} dari "@chainlink/local/src /ccip/CCIPLocalSimulator.sol";impor {CCIPLocalSimulator} dari "@chainlink/local/src/ccip/CCIPLocalSimulator.sol"; Demo Kontrak sedang Uji { CCIPLocalSimulator publik ccipLocalSimulator;fungsi setUp() publik { ccipLocalSimulator = CCIPLocalSimulator baru(); (pemilih rantai uint64, Sumber IRouterClientRouter, IRouterClient tujuanRouter, WETH9 dibungkusAsli, TautanToken tautanToken, BurnMintERC677Helper ccipBnM, BurnMintERC677Helper ccipLnM) = ccipLocalSimulator.configuration(); ccipLocalSimulator.requestLinkFromFaucet(penerima, jumlah); } }
Untuk melihat dokumentasi mendetail dan contoh lainnya, kunjungi Dokumentasi Lokal Chainlink.
Catatan
Tutorial ini mewakili contoh pendidikan untuk menggunakan sistem, produk, atau layanan Chainlink dan disediakan untuk menunjukkan cara berinteraksi dengan sistem, produk, dan layanan Chainlink untuk mengintegrasikannya ke dalam sistem, produk, dan layanan Anda. Templat ini disediakan “SEBAGAIMANA ADANYA” dan “SEBAGAIMANA TERSEDIA” tanpa jaminan apa pun, belum diaudit, dan mungkin tidak ada pemeriksaan kunci atau penanganan kesalahan untuk membuat penggunaan sistem, produk, atau layanan menjadi lebih jelas. Jangan gunakan kode dalam contoh ini di lingkungan produksi tanpa menyelesaikan audit Anda sendiri dan penerapan praktik terbaik. Baik Chainlink Labs, Chainlink Foundation, maupun operator node Chainlink tidak bertanggung jawab atas keluaran yang tidak diinginkan yang dihasilkan karena kesalahan dalam kode.