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

वैल्यू प्रकार

uint, address, bool, bytes

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

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

वैल्यू प्रकार क्या होते हैं

Solidity में वैल्यू प्रकार अपना डेटा सीधे रखते हैं और जब भी उन्हें किसी चर को सौंपा जाता है या किसी फ़ंक्शन में भेजा जाता है, तब उनकी प्रतिलिपि बनाई जाती है।

यह रेफ़रेंस प्रकारों (ऐरे, संरचनाएँ, मैपिंग) से अलग है, जो किसी साझा स्थान की ओर संकेत करते हैं। वैल्यू प्रकारों में bool, पूर्णांक, address और निश्चित आकार के bytes शामिल हैं।

  • सौंपे जाने पर हमेशा प्रतिलिपि बनती है
  • संक्षिप्त रूप से संग्रहीत होते हैं
  • गैस लागत अनुमानित होती है

बूलियन

bool प्रकार में या तो true या false होता है। यह तुलना और तार्किक ऑपरेटरों का परिणाम होता है।

Solidity में ! (नहीं), && (और), || (या) समर्थित हैं। तार्किक ऑपरेटर अधिकांश भाषाओं की तरह शॉर्ट-सर्किट होते हैं।

<code>bool isActive = true;
bool hasPaid = false;
bool ready = isActive && !hasPaid;</code>

अहस्ताक्षरित पूर्णांक

uint में गैर-ऋणात्मक पूर्ण संख्याएँ संग्रहीत होती हैं। uint, uint256 का उपनाम है।

आप 8 बिट की वृद्धि में छोटे आकार चुन सकते हैं: uint8, uint16, ... से लेकर uint256 तक। किसी संरचना में साथ-साथ पैक किए जाने पर छोटे प्रकार स्टोरेज बचा सकते हैं।

<code>uint256 balance = 1000;
uint8 smallCount = 255; // max value for uint8</code>

हस्ताक्षरित पूर्णांक

int में वे मान संग्रहीत होते हैं जो ऋणात्मक या धनात्मक हो सकते हैं। int, int256 का उपनाम है।

int8 की सीमा -128 से 127 तक होती है। हस्ताक्षरित पूर्णांकों का उपयोग केवल तब करें जब ऋणात्मक मान वास्तव में संभव हों, क्योंकि इनका गलत उपयोग आसानी से हो सकता है।

<code>int256 temperature = -15;
int8 delta = 100;</code>

ओवरफ़्लो से सुरक्षा

Solidity 0.8.0 से अंकगणितीय क्रियाएँ ओवरफ़्लो और अंडरफ़्लो होने पर स्वतः रिवर्ट हो जाती हैं। बुनियादी सुरक्षा के लिए अब आपको SafeMath की आवश्यकता नहीं है।

यदि आप गैस बचाने के लिए जानबूझकर रैपिंग व्यवहार चाहते हैं, तो गणना को unchecked ब्लॉक में रखें।

<code>uint8 x = 255;
// x + 1 would revert (overflow)
unchecked {
    x = x + 1; // wraps to 0
}</code>

address प्रकार

address में 20-बाइट वाला Ethereum खाता पहचानकर्ता होता है। यह किसी वॉलेट (EOA) या कॉन्ट्रैक्ट का संदर्भ दे सकता है।

address प्रकार में .balance (wei में) जैसे सदस्य और .transfer() तथा .send() जैसी विधियाँ उपलब्ध होती हैं।

<code>address owner = 0x5B38Da6a701c568545dCfcB03FcB875f56beddC4;
uint256 bal = owner.balance;</code>

address और address payable की तुलना

साधारण address सीधे Ether प्राप्त नहीं कर सकता। धनराशि भेजने के लिए आपको address payable की आवश्यकता होती है, जिसमें .transfer() और .send() जुड़ते हैं।

आप payable(addr) की सहायता से इनके बीच स्पष्ट रूप से रूपांतरण कर सकते हैं।

<code>address recipient = msg.sender;
address payable wallet = payable(recipient);
wallet.transfer(1 ether);</code>

निश्चित आकार के बाइट

Solidity bytes1 से bytes32 तक निश्चित आकार के बाइट ऐरे उपलब्ध कराता है। ये वैल्यू प्रकार हैं और लंबाई ज्ञात होने पर गतिशील bytes से सस्ते होते हैं।

ये हैश, पहचानकर्ताओं और छोटे निश्चित डेटा के लिए उपयोगी हैं।

<code>bytes32 hash = keccak256(abi.encodePacked('hello'));
bytes1 firstByte = hash[0];</code>

एनम

enum नामित स्थिरांकों के निश्चित समूह वाला कस्टम प्रकार परिभाषित करता है। आंतरिक रूप से प्रत्येक मान 0 से शुरू होने वाला छोटा uint होता है।

एनम स्टेट मशीनों को पढ़ने योग्य बनाते हैं, जैसे किसी ऑर्डर की स्थिति।

<code>enum Status { Pending, Shipped, Delivered }
Status public current = Status.Pending;

function ship() public {
    current = Status.Shipped;
}</code>

लिटरल और इकाइयाँ

Solidity सुविधाजनक इकाई प्रत्यय उपलब्ध कराता है। Ether की इकाइयाँ: wei, gwei, ether। समय की इकाइयाँ: seconds, minutes, hours, days, weeks।

1 ether, 10**18 wei के बराबर होता है।

<code>uint256 fee = 1 ether;       // 1000000000000000000 wei
uint256 timeout = 2 days;    // 172800 seconds</code>

डिफ़ॉल्ट मान

Solidity में null नहीं होता। हर वैल्यू प्रकार का डिफ़ॉल्ट मान शून्य होता है: uint का मान 0, bool का false, और address का शून्य पता 0x0...0 होता है।

शून्य पते से तुलना करना एक सामान्य सुरक्षा जाँच है।

<code>address public admin; // defaults to address(0)

function setAdmin(address a) public {
    require(a != address(0), 'zero address');
    admin = a;
}</code>

त्वरित जाँच

Solidity के वैल्यू प्रकारों की अपनी समझ जाँचें।

पुनरावलोकन

आपने Solidity के मुख्य वैल्यू प्रकारों के बारे में सीखा:

  • true/false तर्क के लिए bool
  • 0.8.0 से अंतर्निहित ओवरफ़्लो सुरक्षा वाले uint/int
  • खातों और धनराशि के स्थानांतरण के लिए address और address payable
  • निश्चित bytesN, enum और 1 ether जैसे इकाई लिटरल

याद रखें: वैल्यू प्रकारों की प्रतिलिपि बनाई जाती है और हर प्रकार का डिफ़ॉल्ट मान शून्य होता है।

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

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

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

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

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

क्या “वैल्यू प्रकार” पाठ निःशुल्क है?

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

“वैल्यू प्रकार” में मैं क्या सीखूँगा?

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

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

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

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

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

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

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

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

  1. वैल्यू प्रकार
  2. रेफ़रेंस प्रकार
  3. संग्रहण बनाम मेमोरी
  4. कॉन्स्टेंट और इम्यूटेबल
← Web3 और DApp विकास की मूल बातें पर वापस जाएँ