Chainlink Local هي تبعية قابلة للتثبيت. فهو يوفر أداة (Chainlink Local Simulator) يستوردها المطورون إلى مشاريع Foundry أو Hardhat أو Remix الخاصة بهم. تقوم هذه الأداة بتشغيل Chainlink CCIP محليًا مما يعني أنه يمكن للمطورين استكشاف CCIP dApps خارج السلسلة ووضع نماذج أولية لها وتكرارها بسرعة في بيئة محلية، والانتقال إلى testnet فقط عندما يكونون جاهزين للاختبار في بيئة حية.
تكشف الحزمة عن مجموعة من العقود الذكية والبرامج النصية التي يمكنك من خلالها إنشاء ونشر وتنفيذ عمليات نقل رمز 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 صلابة ^0.8.19;import {Test, console2} من "forge-std/Test.sol";import {IRouterClient, WETH9, LinkToken, BurnMintERC677Helper} من "@chainlink/local/src /ccip/CCIPLocalSimulator.sol";استيراد {CCIPLocalSimulator} من "@chainlink/local/src/ccip/CCIPLocalSimulator.sol"؛ العرض التوضيحي للعقد هو اختبار { CCIPLocalSimulator public ccipLocalSimulator;function setUp() public { ccipLocalSimulator = new CCIPLocalSimulator(); (uint64 سلسلة محدد، إيروتركلينت سورس راوتر، وجهة IRouterClientRouter، WETH9 ملفوفة محليًا, لينكتوكين لينكتوكين, BurnMintERC677مساعد ccipBnM، BurnMintERC677Helper ccipLnM) = ccipLocalSimulator.configuration(); ccipLocalSimulator.requestLinkFromFaucet(receiver, المبلغ); } }
لعرض الوثائق التفصيلية والمزيد من الأمثلة، قم بزيارة وثائق Chainlink المحلية.
ملحوظة
يمثل هذا البرنامج التعليمي مثالاً تعليميًا لاستخدام نظام أو منتج أو خدمة Chainlink ويتم تقديمه لتوضيح كيفية التفاعل مع أنظمة ومنتجات وخدمات Chainlink لدمجها في الأنظمة والمنتجات والخدمات الخاصة بك. يتم توفير هذا القالب "كما هو" و"كما هو متاح" دون ضمانات من أي نوع، ولم يتم تدقيقه، وقد يفتقد إلى عمليات فحص المفاتيح أو معالجة الأخطاء لجعل استخدام النظام أو المنتج أو الخدمة أكثر وضوحًا. لا تستخدم الكود الموجود في هذا المثال في بيئة إنتاج دون إكمال عمليات التدقيق الخاصة بك وتطبيق أفضل الممارسات. لا تتحمل Chainlink Labs أو Chainlink Foundation أو مشغلي عقدة Chainlink مسؤولية المخرجات غير المقصودة التي يتم إنشاؤها بسبب أخطاء في التعليمات البرمجية.