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

Gas लागत मॉडल

किस चीज़ पर Gas लगता है

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

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

गैस क्यों मौजूद है

Ethereum Virtual Machine (EVM) में हर संचालन की लागत गैस होती है। गैस वह इकाई है जो किसी ट्रांज़ैक्शन को निष्पादित करने के लिए आवश्यक कंप्यूटेशनल कार्य को मापती है।

गैस का उद्देश्य है:

  • वैलिडेटरों द्वारा खर्च किए गए संसाधनों का भुगतान करना
  • अनंत लूप और सेवा-अस्वीकार हमलों को रोकना
  • दुर्लभ ऑन-चेन संसाधनों का उचित मूल्य निर्धारित करना

आपके द्वारा चुकाया गया कुल शुल्क gasUsed * gasPrice के बराबर होता है और इसे wei में दर्शाया जाता है।

गैस, गैस मूल्य और गैस सीमा

हर ट्रांज़ैक्शन के लिए तीन संख्याएँ महत्वपूर्ण होती हैं:

  • gasUsed — वास्तव में कितना कंप्यूटेशन हुआ
  • gasPrice (या EIP-1559 के अंतर्गत maxFeePerGas) — प्रति इकाई कितना भुगतान करना है
  • gasLimit — ट्रांज़ैक्शन के वापस होने से पहले अनुमत अधिकतम गैस

यदि निष्पादन गैस सीमा से अधिक हो जाता है, तो ट्रांज़ैक्शन out of gas त्रुटि के साथ वापस हो जाता है, लेकिन उपयोग की गई गैस का भुगतान फिर भी करना पड़ता है।

// Fee calculation
// totalFee = gasUsed * effectiveGasPrice
// Example: 50000 gas * 20 gwei = 1,000,000 gwei = 0.001 ETH

ऑपकोड की लागत

हर EVM ऑपकोड की एक निश्चित गैस लागत होती है, जो Ethereum प्रोटोकॉल में परिभाषित है। साधारण अंकगणित की लागत बहुत कम होती है, जबकि स्टोरेज और बाहरी कॉल की लागत बहुत अधिक होती है।

  • ADD, SUB — 3 गैस
  • MUL — 5 गैस
  • SLOAD (स्टोरेज पढ़ना) — ठंडे में 2100 गैस, गर्म में 100
  • SSTORE (स्टोरेज लिखना) — अधिकतम 22100 गैस

अधिकांश अनुबंधों की लागत में स्टोरेज का हिस्सा सबसे बड़ा होता है।

स्टोरेज की लागत

स्थायी स्टोरेज EVM का सबसे महँगा एकल संसाधन है। किसी स्टोरेज स्लॉट को शून्य से अशून्य करने पर 20000 गैस लगती है; अशून्य स्लॉट को अपडेट करने पर 5000 गैस लगती है।

पढ़ना लिखने से सस्ता है, लेकिन फिर भी इसकी लागत महत्वपूर्ण है। इसी कारण गैस अनुकूलन का मूल नियम है: स्टोरेज को जितना कम संभव हो, उतनी कम बार छुएँ।

contract Counter {
    uint256 public count; // each increment writes a storage slot

    function increment() external {
        count += 1; // 1 SLOAD + 1 SSTORE
    }
}

मेमोरी बनाम स्टोरेज बनाम calldata

EVM में डेटा के तीन स्थान होते हैं और प्रत्येक की लागत अलग होती है:

  • storage — स्थायी, सबसे महँगा
  • memory — प्रति-कॉल अस्थायी, सस्ता लेकिन वर्गानुसार बढ़ता है
  • calldata — केवल पढ़ने योग्य इनपुट डेटा, फ़ंक्शन आर्ग्युमेंट के लिए सबसे सस्ता

बाहरी फ़ंक्शन पैरामीटरों के लिए memory के बजाय calldata का उपयोग अनावश्यक कॉपी से बचाता है।

function sum(uint256[] calldata nums) external pure returns (uint256 total) {
    for (uint256 i = 0; i < nums.length; i++) {
        total += nums[i];
    }
}

आंतरिक गैस

कोड चलने से पहले हर ट्रांज़ैक्शन एक मूल लागत चुकाता है, जिसे आंतरिक गैस कहा जाता है:

  • मूल ट्रांज़ैक्शन के लिए 21000 गैस
  • हर अशून्य calldata बाइट के लिए 16 गैस
  • हर शून्य calldata बाइट के लिए 4 गैस

इसका अर्थ है कि खाली ट्रांसफ़र में भी 21000 गैस लगती है और बड़े calldata पेलोड निष्पादन शुरू होने से पहले ही ट्रांज़ैक्शन को महँगा बना देते हैं।

ठंडी बनाम गर्म पहुँच

EIP-2929 के बाद, किसी ट्रांज़ैक्शन में किसी खाते या स्टोरेज स्लॉट तक पहली पहुँच ठंडी और महँगी होती है; बाद की पहुँच गर्म और सस्ती होती है।

  • ठंडा SLOAD: 2100 गैस
  • गर्म SLOAD: 100 गैस
  • ठंडे खाते तक पहुँच: 2600 गैस

स्टोरेज मान को स्थानीय वेरिएबल में कैश करने से बार-बार की ठंडी रीड एक रीड और सस्ती मेमोरी पहुँच में बदल जाती है।

uint256 cached = count; // one SLOAD
for (uint256 i = 0; i < cached; i++) {
    // use cached instead of re-reading count
}

रिफंड

जब आप स्टोरेज साफ़ करते हैं और किसी अशून्य स्लॉट को फिर से शून्य करते हैं, तो EVM आंशिक गैस रिफंड देता है (ऐतिहासिक रूप से SSTORE या SELFDESTRUCT के माध्यम से)।

रिफंड ट्रांज़ैक्शन में उपयोग की गई गैस के पाँचवें हिस्से तक सीमित होते हैं (EIP-3529)। ऐरे के तत्व हटाने या बैलेंस को शून्य करने जैसे पैटर्न कुछ गैस वापस दिला सकते हैं, लेकिन आपको प्राथमिक अनुकूलन के रूप में रिफंड पर कभी निर्भर नहीं रहना चाहिए।

function clear(uint256 key) external {
    delete data[key]; // zeroing a slot triggers a refund
}

EIP-1559 शुल्क बाज़ार

EIP-1559 ने गैस मूल्य को दो भागों में बाँट दिया:

  • मूल शुल्क — जला दिया जाता है और माँग के आधार पर हर ब्लॉक में अपने-आप बदलता है
  • प्राथमिकता शुल्क (टिप) — वैलिडेटर को दिया जाता है

उपयोगकर्ता maxFeePerGas और maxPriorityFeePerGas निर्धारित करते हैं। प्रभावी मूल्य कभी अधिकतम सीमा से अधिक नहीं होता और अप्रयुक्त राशि वापस कर दी जाती है। इससे शुल्क अधिक अनुमानित हो जाते हैं।

डिप्लॉयमेंट बनाम रनटाइम गैस

अनुबंधों की गैस-लागत की दो अलग रूपरेखाएँ होती हैं:

  • डिप्लॉयमेंट गैस — एक बार चुकाई जाती है और बाइटकोड के आकार के अनुपात में होती है (संग्रहीत प्रत्येक बाइट के लिए 200 गैस)
  • रनटाइम गैस — डिप्लॉय किए गए अनुबंध पर हर कॉल के समय चुकाई जाती है

कभी-कभी आप सस्ते रनटाइम के लिए बड़ा और महँगा डिप्लॉयमेंट चुनते हैं, या इसके उलट। अपने उपयोग के मामले में जो पहलू सबसे महत्वपूर्ण हो, उसी के लिए अनुकूलन करें।

अनुकूलन की सोच

प्रभावी गैस अनुकूलन का क्रम इस प्रकार है:

  • स्टोरेज लिखने से बचें (सबसे बड़ा लाभ)
  • कैश करके ठंडी पहुँच कम करें
  • memory के बजाय calldata का उपयोग करें
  • calldata का आकार घटाएँ
  • अंत में ऑपकोड का सूक्ष्म अनुकूलन करें

बदलाव से पहले और बाद में हमेशा माप करें। समय से पहले किया गया सूक्ष्म अनुकूलन अक्सर मामूली लाभ के लिए पठनीयता को नुकसान पहुँचाता है।

त्वरित जाँच

EVM अनुबंध में आम तौर पर सबसे महँगा संचालन कौन-सा होता है?

पुनरावृत्ति

अब आप EVM गैस-लागत मॉडल को समझते हैं:

  • शुल्क gasUsed * gasPrice के बराबर होते हैं और गैस सीमा से बंधे होते हैं
  • स्टोरेज लिखने की लागत सबसे अधिक होती है; अंकगणित सस्ता है
  • ठंडी पहुँच की लागत गर्म पहुँच से अधिक होती है
  • आंतरिक गैस (21000 + calldata बाइट) निष्पादन से पहले चुकाई जाती है
  • EIP-1559 शुल्क को जलाए जाने वाले मूल शुल्क और वैलिडेटर की टिप में बाँटता है

अब हम इस ज्ञान का उपयोग अनुबंध के स्टोरेज लेआउट को अनुकूलित करने में करेंगे।

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

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

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

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

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

क्या “Gas लागत मॉडल” पाठ निःशुल्क है?

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

“Gas लागत मॉडल” में मैं क्या सीखूँगा?

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

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

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

“Gas लागत मॉडल” पाठ पूरा करने में कितना समय लगता है?

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

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

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

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

  1. Gas लागत मॉडल
  2. संग्रहण अनुकूलन
  3. लूप और calldata तरकीबें
  4. Gas मापना
← Web3 और DApp विकास की मूल बातें पर वापस जाएँ