أدوات التطوير الأخرى

قبل أن نتعمق في أطر التطوير الأخرى ، أردنا توفير “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 ، والمزيد!

 فيما يلي بعض ا المصادر اللي قام بإنشائها أوستن:

إذا  انضممت إلى the Scaffold-ETH Telegram ، فستتلقى تحديثات ومساعدة هناك أيضًا.

Brownie

كما ذكرنا في وقت سابق ، Brownie هو إطار تطوير واختبار قائم على بايثون للعقود الذكية التي تعمل على EVM. يستخدم Web3.py  بالإضافة إلى Solidity. يشتهر بكونه إطار عمل التطوير الذي يستخدمه فريقYearn.Finance  لبناء منصة DeFi القوية و CRV.

فيما يلي بعض البرامج التعليمية لتقديمك إلى براوني:

Tenderly

يوفر Tenderly طريقة لتنبيه كل من أحداث العقد وكذلك استكشاف أخطاء العقد وإصلاحها ، بما في ذلك ميزة “Forking Mainnet” المشابهة لميزة Truffle و Hardhat.

أدوات الواجهة الأمامية

هناك خدمتان يمكنك استخدامهما مجانًا لإنشاء مثيل واجهة أمامية بسهولة: 

  •  Heroku هي منصة كخدمة ، توفر طريقة سريعة لنشر التطبيقات في عدد من اللغات الشائعة ، مثل Node.js (JavaScript) و Python و Ruby و Go. يمكنك توصيل GitHub repo بمشروعك لنشره بسهولة. خطة Heroku الأساسية مجانية وتوفر الموارد الأساسية للبدء. اقرأ المزيد هنا.
  •  يحتوي Netlify أيضًا على سير عمل مستند إلى Git يسمح لك بنشر مشروعك بسهولة من GitHub. كما أنه مجاني ويحتوي على دليل البدء هنا.

هناك العديد من الأدوات الرائعة التي لا يمكننا الوصول إليها الآن ، ولكن إذا قمت بإلقاء نظرة على الروابط الموجودة في هذا القسم ، فستتمكن من الغوص بشكل أعمق ومعرفة المزيد بنفسك!

مصادر اضافية

إضافة تعليق