Web3 और DApp विकास की मूल बातें · पाठ

Foundry बनाम Hardhat

Rust-आधारित टूलिंग

पाठ 1, कुल 4 में से13 चरण

Foundry बनाम Hardhat, CoddyKit पर Web3 और DApp विकास की मूल बातें का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Web3 और DApp विकास की मूल बातें सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Web3 और DApp विकास की मूल बातें पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

Foundry क्या है

Foundry Ethereum development के लिए Rust पर आधारित एक तेज़ toolkit है। इसकी सहायता से आप JavaScript layer की आवश्यकता के बिना पूरी तरह Solidity में tests, scripts और deployments लिख सकते हैं।

इसकी speed और Solidity-native testing ने इसे कई professional smart contract teams की प्रमुख पसंद बना दिया है।

चार Tools

Foundry चार command-line tools के रूप में उपलब्ध है:

  • forge — contracts को build, test और deploy करना
  • cast — CLI से chains और contracts के साथ interact करना
  • anvil — local development blockchain
  • chisel — Solidity REPL

मिलकर ये पूरे development lifecycle को cover करते हैं।

Hardhat क्या है

Hardhat JavaScript और TypeScript पर आधारित development environment है। Tests और scripts JS/TS में ethers.js या viem जैसी libraries का उपयोग करके लिखे जाते हैं, और इसमें plugins का समृद्ध ecosystem है।

यह Node.js environment में सहज teams और भारी off-chain tooling वाली projects के लिए उपयुक्त है।

Tests की Language

सबसे बड़ा अंतर testing language का है:

  • Foundry — tests Solidity contracts होते हैं; अपने contract code से context switch नहीं करना पड़ता
  • Hardhat — tests chai-style assertion library का उपयोग करने वाले JavaScript/TypeScript code होते हैं

Solidity tests Foundry को internal state और low-level cheatcodes तक सीधी पहुँच देते हैं।

// Foundry test (Solidity)
function testIncrement() public {
    counter.increment();
    assertEq(counter.number(), 1);
}

Speed

Foundry का Rust implementation और native EVM, Hardhat के Node-based runner से इसे काफी तेज़ बनाते हैं; बड़े test suites में यह अक्सर एक order of magnitude तक तेज़ होता है।

Fast feedback loops महत्वपूर्ण हैं: जब tests milliseconds में run होते हैं, तो developers उन्हें लगातार चलाते हैं और bugs को पहले पकड़ लेते हैं।

Project Layout

Foundry project की एक conventional structure होती है:

  • src/ — आपके contracts
  • test/ — Solidity test files (suffix .t.sol)
  • script/ — deployment scripts (suffix .s.sol)
  • lib/ — git submodules के रूप में installed dependencies
  • foundry.toml — configuration
myproject/
  src/Counter.sol
  test/Counter.t.sol
  script/Deploy.s.sol
  lib/forge-std/
  foundry.toml

Dependency Management

Foundry, forge install के माध्यम से dependencies को git submodules के रूप में install करता है और npm registry के बजाय import remappings का उपयोग करता है। Hardhat npm packages का उपयोग करता है।

Submodules आपके repo में exact source को pinned रखते हैं, जबकि npm परिचित versioning और packages का विशाल ecosystem उपलब्ध कराता है।

$ forge install OpenZeppelin/openzeppelin-contracts
# adds to lib/ and updates remappings

Cheatcodes

Foundry की सबसे उपयोगी सुविधा cheatcodes हैं: vm object के माध्यम से की जाने वाली special calls, जो tests में EVM state को बदलती हैं। आप समय को warp कर सकते हैं, balances सेट कर सकते हैं, addresses का impersonation कर सकते हैं और reverts की अपेक्षा कर सकते हैं।

Hardhat helper plugins के माध्यम से ऐसी ही सुविधाएँ देता है, लेकिन Foundry में ये built in हैं और सीधे Solidity से accessible हैं।

vm.warp(block.timestamp + 1 days);
vm.prank(alice);
vm.expectRevert("not owner");

Scripting और Deployment

Foundry deployments, forge script से चलने वाली Solidity scripts होती हैं, जिनमें वास्तविक transactions भेजने के लिए vm.startBroadcast() का उपयोग किया जाता है। Hardhat deployments, hardhat run से चलने वाली JS scripts होती हैं।

Solidity scripting deployment logic को contracts की ही language में रखती है, जिससे context switching कम होता है।

function run() external {
    vm.startBroadcast();
    new Counter();
    vm.stopBroadcast();
}

दोनों में से चुनाव

सभी स्थितियों के लिए कोई एक सार्वभौमिक विजेता नहीं है:

  • Speed, fuzzing और Solidity-native testing के लिए Foundry चुनें
  • समृद्ध JS/TS tooling और बड़े plugin ecosystem के लिए Hardhat चुनें

कई teams दोनों का उपयोग करती हैं: unit और fuzz tests के लिए Foundry, तथा complex deployment और integration tasks के लिए Hardhat। वे एक ही repo में साथ-साथ रह सकते हैं।

Foundry Install करना

Foundry को foundryup के माध्यम से install किया जाता है, जो latest binaries प्राप्त करने वाला version manager है। Install होने के बाद forge init build और test के लिए तैयार नया project scaffold करता है।

$ curl -L https://foundry.paradigm.xyz | bash
$ foundryup
$ forge init my_project

त्वरित जाँच

Foundry tests किस language में लिखे जाते हैं?

पुनरावलोकन

आपने दोनों मुख्य toolkits की तुलना की:

  • Foundry Rust-based है और इसमें Solidity tests होते हैं; Hardhat Node-based है और इसमें JS/TS tests होते हैं
  • Foundry tools: forge, cast, anvil, chisel
  • Foundry तेज़ है और इसमें built-in cheatcodes और fuzzing हैं
  • git submodules बनाम npm के माध्यम से dependencies

अब हम forge के साथ tests लिखना सीखेंगे।

शुरुआत निःशुल्क

एआई शिक्षक के साथ Web3 और DApp विकास की मूल बातें सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
29
पाठ
105

अक्सर पूछे जाने वाले प्रश्न

क्या “Foundry बनाम Hardhat” पाठ निःशुल्क है?

हाँ — Web3 और DApp विकास की मूल बातें अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “Foundry बनाम Hardhat” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Web3 और DApp विकास की मूल बातें पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“Foundry बनाम Hardhat” में मैं क्या सीखूँगा?

Rust-आधारित टूलिंग आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Web3 और DApp विकास की मूल बातें का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Web3 और DApp विकास की मूल बातें शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Web3 और DApp विकास की मूल बातें शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।

“Foundry बनाम Hardhat” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Web3 और DApp विकास की मूल बातें पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Web3 और DApp विकास की मूल बातें पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. Foundry बनाम Hardhat
  2. forge परीक्षण
  3. फ़ज़िंग और इनवेरिएंट
  4. cast और anvil
← Web3 और DApp विकास की मूल बातें पर वापस जाएँ