قبل أن نتعمق في أطر التطوير الأخرى ، أردنا توفير “offramp” للأشخاص الذين قد لا يكونون مرتاحين لأطر عمل JavaScript. قد يكون الأشخاص الذين لا يشعرون بالارتياح تجاه التطوير بإستخدام Terminal مهتمين بـ JSUI ، وهي بيئة تطوير إطار عمل JavaScript تعتمد على واجهة المستخدم الرسومية. يمكنك أيضًا التحقق من بعض المشاريع المعيارية للواجهة الأمامية هنا.
Hardhat
هناك إطار تطوير شائع آخر هو Hardhat ، والذي بدأ بالفعل كتشعب من Truffle. وقد نمت منذ ذلك الحين لإنشاء مجموعتها الخاصة من الأدوات ومجتمعًا مخصصًا لها.
Hardhat يقسم نفسه إلى “مهام” و “ملحقات”. تشغيل npx hardhat compile مهمة ، على سبيل المثال. الإضافات هي وظائف موسعة يتم نقلها إلى هارهات. Gas Reporter و Contract Sizer هما مكونان إضافيان شائعان لـ Hardhat.
لماذا تختار Hardhatيشعر البعض كما لو أن تجربة سطر الأوامر في Hardhat أسرع من Truffle. يحب البعض الآخر ميزات البرنامج المساعد الشاملة. إحدى الميزات الشائعة لدى مطوري Hardhat هي استخدامهم لـ console.log () في العقود الذكية. عند التطوير محليًا باستخدام Hardhat ، يمكنك استيراد عقد console.sol ، مثل:
pragma solidity ^0.6.0; import "hardhat/console.sol"; contract Token { //... }
يمكنك بعد ذلك إضافته إلى عقدك عند تطويره محليًا:
function transfer(address to, uint256 amount) external { console.log("Sender balance is %s tokens", balances[msg.sender]); console.log("Trying to send %s tokens to %s", amount, to); require(balances[msg.sender] >= amount, "Not enough tokens"); balances[msg.sender] -= amount; balances[to] += amount; }
والذي يمنحك هذا الإخراج عند التشغيل محليًا على شبكة Hardhat:
$ npx hardhat test Token contract Deployment ✓ Should set the right owner ✓ Should assign the total supply of tokens to the owner Transactions Sender balance is 1000 tokens Trying to send 50 tokens to 0xead9c93b79ae7c1591b1fb5323bd777e86e150d4 Sender balance is 50 tokens Trying to send 50 tokens to 0xe5904695748fe4a84b40b3fc79de2277660bd1d3 ✓ Should transfer tokens between accounts (373ms) ✓ Should fail if sender doesn’t have enough tokens Sender balance is 1000 tokens Trying to send 100 tokens to 0xead9c93b79ae7c1591b1fb5323bd777e86e150d4 Sender balance is 900 tokens Trying to send 100 tokens to 0xe5904695748fe4a84b40b3fc79de2277660bd1d3 ✓ Should update balances after transfers (187ms) 5 passing (2s)
يمكنك معرفة المزيد حول هذه الميزة في وثائقهم هنا.
فيما يلي بعض الطرق السهلة للبدء في استخدام Hardhat لمعرفة ما تريده: –
Scaffold-ETH
Scaffold-ETH (مستندات) هو مشروع من Austin Griffith والذي يهدف إلى تقليل الوقت بين التفكير في فكرة تطبيق لامركزي ونشرها في العالم.
ومع ذلك ، يتطلب Scaffold-ETH فهم متقدم في استخدام أدوات مثل Yarn و Solidity و Hardhat و React وما إلى ذلك. إنه الأفضل للأشخاص الذين لديهم بالفعل سير عمل متين جدًا للويب 2 أو الويب 3. بالنسبة لأولئك الأشخاص ، فإن Scaffold-ETH هو وقود الطائرات! يرجى ملاحظة ، مع ذلك ، أن المشاريع والبرامج التعليمية في Scaffold-ETH لم يتم تدقيقها بأي شكل من الأشكال وقد تحتوي على أخطاء أو نقاط ضعف!
في الريبو ، قدم أوستن عددًا من التشعبات التي تتوافق مع مشاريع القوالب المختلفة أو البرامج التعليمية. اقرأ المزيد عن البرامج التعليمية والأمثلة هنا.
كما ذكرنا ، يقدم Scaffold-ETH افتراضيًا React App ، مع مكونات مسبقة الصنع وخطافات. كما تم دمج مكتبة واجهة مستخدم خارجية تسمى Ant Design للمساعدة في تصميم المكونات. كما أنه يشتمل على Surge، وهو منشئ مواقع ثابتة لنشر تطبيقك.
تمتلك Scaffold-ETH أيضًا دعمًا كبيرًا للبنية التحتية للأجزاء اللاحقة من دورة التطوير ، مثل The Graph و Tenderly و Etherscan و L2 / Sidechain Services (النشر في Optimism و Arbitrum).
أيضًا ، هناك أمثلة من بعض المشاريع الرائعة في الفضاء ، مثل Aave و The Graph و Chainlink و Optimism و Uniswap. يمكنك أيضًا التعرف على أنماط التصميم الشائعة مثل الالتزام بالكشف ، والاسترداد الإلكتروني ، و multisigs ، و DEXes ، والمزيد!
فيما يلي بعض ا المصادر اللي قام بإنشائها أوستن:
- Tutorial: Austin walks through Scaffold-Eth during Polygon Hackathon
- Start Building Today with Scaffold-ETH
- Ethereum Dev Onboarding (ETHGlobal)
- Web 2 dev to Web 3 dev
- Blockchain at Berkeley: Austin Griffith Developer Walkthrough
إذا انضممت إلى the Scaffold-ETH Telegram ، فستتلقى تحديثات ومساعدة هناك أيضًا.
Brownie
كما ذكرنا في وقت سابق ، Brownie هو إطار تطوير واختبار قائم على بايثون للعقود الذكية التي تعمل على EVM. يستخدم Web3.py بالإضافة إلى Solidity. يشتهر بكونه إطار عمل التطوير الذي يستخدمه فريقYearn.Finance لبناء منصة DeFi القوية و CRV.
فيما يلي بعض البرامج التعليمية لتقديمك إلى براوني:
- Develop a DeFi Project using Python (Chainlink){target=_blank}
- Vyper and Brownie Contract Development on EVM Chains.
Tenderly
يوفر Tenderly طريقة لتنبيه كل من أحداث العقد وكذلك استكشاف أخطاء العقد وإصلاحها ، بما في ذلك ميزة “Forking Mainnet” المشابهة لميزة Truffle و Hardhat.
أدوات الواجهة الأمامية
هناك خدمتان يمكنك استخدامهما مجانًا لإنشاء مثيل واجهة أمامية بسهولة:
- Heroku هي منصة كخدمة ، توفر طريقة سريعة لنشر التطبيقات في عدد من اللغات الشائعة ، مثل Node.js (JavaScript) و Python و Ruby و Go. يمكنك توصيل GitHub repo بمشروعك لنشره بسهولة. خطة Heroku الأساسية مجانية وتوفر الموارد الأساسية للبدء. اقرأ المزيد هنا.
- يحتوي Netlify أيضًا على سير عمل مستند إلى Git يسمح لك بنشر مشروعك بسهولة من GitHub. كما أنه مجاني ويحتوي على دليل البدء هنا.
هناك العديد من الأدوات الرائعة التي لا يمكننا الوصول إليها الآن ، ولكن إذا قمت بإلقاء نظرة على الروابط الموجودة في هذا القسم ، فستتمكن من الغوص بشكل أعمق ومعرفة المزيد بنفسك!
مصادر اضافية
- مقال: The Complete Guide to Full Stack Ethereum Development مقال شامل بشكل لا يصدق من Nader Dabit .
- مقال: Ethereum Dev Speed Run (Austin Griffith) بداية سريعة للمطورين الذين يبدأون في Ethereum.
- Ethereum Dev Onboarding (ETHGlobal) لفه سريعة على بيئات التطوير!
- ويكي: DeFi Developer Roadmap: Other Frameworks سلسلة من الأطر الأخرى ضمن ريبو أكبر وممتاز حول أدوات التطوير والنصائح
- مقال: Build a Web3 Dapp in React Login with MetaMask
- البرنامج التعليمي:React Project Setup Using Hardhat & Truffle Part 1 و Part 2
- Google Doc: Overview of Tools
- أدوات أخرى: Ankr, Quiknode, Alchemy
إضافة تعليق