मुख्य सामग्री पर जाएँ
Change page

ट्रांसक्शन्स

पेज का अंतिम अपडेट: 23 फ़रवरी 2026

लेनदेन खातों से क्रिप्टोग्राफ़िक रूप से हस्ताक्षरित निर्देश हैं। एक खाता एथेरियम नेटवर्क की स्थिति को अपडेट करने के लिए लेनदेन शुरू करेगा। सबसे सरल लेनदेन ETH को एक खाते से दूसरे खाते में स्थानांतरित कर रहा है।

पूर्वापेक्षाएं

इस पेज को बेहतर ढंग से समझने में आपकी मदद करने के लिए, हम अनुशंसा करते हैं कि आप पहले खाते और एथेरियम का हमारा परिचय पढ़ें।

लेनदेन क्या है?

एक एथेरियम लेनदेन एक बाहरी स्वामित्व वाले खाते द्वारा शुरू की गई कार्रवाई को संदर्भित करता है, दूसरे शब्दों में एक मानव द्वारा प्रबंधित खाता, अनुबंध नहीं। उदाहरण के लिए, अगर बॉब ऐलिस 1 ETH भेजता है, तो बॉब के खाते को डेबिट किया जाना चाहिए और ऐलिस को क्रेडिट किया जाना चाहिए। यह स्थिति बदलाव लाने वाली कार्रवाई एक लेनदेन के अंदर होती है।

लेन-देन की स्थिति में बदलाव को दर्शाता हुआ आरेख एथेरियम EVM इलस्ट्रेटेड (opens in a new tab) से अनुकूलित आरेख

लेनदेन, जो EVM की स्थिति को बदलते हैं, उन्हें पूरे नेटवर्क पर प्रसारित करने की आवश्यकता होती है। कोई भी नोड EVM पर लेनदेन निष्पादित करने के अनुरोध को प्रसारित कर सकता है; ऐसा होने के बाद, एक सत्यापनकर्ता लेनदेन को निष्पादित करेगा और परिणामी स्थिति में बदलाव को बाकी नेटवर्क में प्रचारित करेगा।

लेनदेन के लिए शुल्क की आवश्यकता होती है और इसे मान्य ब्लॉक में शामिल किया जाना चाहिए। इस अवलोकन को सरल बनाने के लिए हम कहीं और गैस शुल्क और सत्यापन को कवर करेंगे।

सबमिट किए गए लेनदेन में निम्नलिखित जानकारी शामिल होती है:

  • from – प्रेषक का पता, जो लेन-देन पर हस्ताक्षर करेगा। यह एक बाहरी स्वामित्व वाला खाता होगा क्योंकि अनुबंध खाते लेन-देन नहीं भेज सकते
  • to – प्राप्त करने वाला पता (यदि एक बाहरी स्वामित्व वाला खाता है, तो लेन-देन मूल्य स्थानांतरित करेगा। अगर कोई अनुबंध खाता है, तो लेनदेन अनुबंध कोड निष्पादित करेगा)
  • signature – प्रेषक का पहचानकर्ता। यह तब उत्पन्न होता है जब प्रेषक की निजी कुंजी लेनदेन पर हस्ताक्षर करती है और पुष्टि करती है कि प्रेषक ने इस लेनदेन को अधिकृत किया है
  • nonce - एक क्रमिक रूप से बढ़ने वाला काउंटर जो खाते से लेन-देन संख्या को इंगित करता है
  • value – प्रेषक से प्राप्तकर्ता को स्थानांतरित करने के लिए ETH की राशि (WEI में मूल्यवर्गित, जहां 1ETH, 1e+18wei के बराबर है)
  • input data – मनमाना डेटा शामिल करने के लिए वैकल्पिक फ़ील्ड
  • gasLimit – गैस इकाइयों की अधिकतम मात्रा जिसका उपभोग लेन-देन द्वारा किया जा सकता है। EVM प्रत्येक कम्प्यूटेशनल चरण के लिए आवश्यक गैस की इकाइयों को निर्दिष्ट करता है
  • maxPriorityFeePerGas - खपत की गई गैस की अधिकतम कीमत जिसे एक वैलिडेटर को टिप के रूप में शामिल किया जाना है
  • maxFeePerGas - लेन-देन के लिए भुगतान करने को तैयार गैस की प्रति यूनिट अधिकतम शुल्क (baseFeePerGas और maxPriorityFeePerGas सहित)

गैस एक सत्यापनकर्ता द्वारा लेनदेन को प्रोसेस करने के लिए आवश्यक गणना का एक संदर्भ है। इस गणना के लिए उपयोगकर्ताओं को शुल्क देना होगा। gasLimit, और maxPriorityFeePerGas वैलिडेटर को भुगतान किए गए अधिकतम लेन-देन शुल्क को निर्धारित करते हैं। गैस के बारे में और जानें

लेनदेन वाला ऑब्जेक्ट इस तरह दिखाई देगा:

1{
2 from: "0xEA674fdDe714fd979de3EdF0F56AA9716B898ec8",
3 to: "0xac03bb73b6a9e108530aff4df5077c2b3d481e5a",
4 gasLimit: "21000",
5 maxFeePerGas: "300",
6 maxPriorityFeePerGas: "10",
7 nonce: "0",
8 value: "10000000000"
9}
सभी दिखाएँ

हालांकि, प्रेषक की निजी कुंजी का उपयोग करके लेनदेन ऑब्जेक्ट पर हस्ताक्षर करने की आवश्यकता होती है। यह साबित करता है कि लेनदेन केवल प्रेषक से आ सकता था और धोखाधड़ी से नहीं भेजा गया था।

गेथ जैसा एथेरियम क्लाइंट इस हस्ताक्षर प्रोसेस को प्रबंधित करेगा।

उदाहरण JSON-RPC कॉल:

1{
2 "id": 2,
3 "jsonrpc": "2.0",
4 "method": "account_signTransaction",
5 "params": [
6 {
7 "from": "0x1923f626bb8dc025849e00f99c25fe2b2f7fb0db",
8 "gas": "0x55555",
9 "maxFeePerGas": "0x1234",
10 "maxPriorityFeePerGas": "0x1234",
11 "input": "0xabcd",
12 "nonce": "0x0",
13 "to": "0x07a565b7ed7d7a678680a4c162885bedbb695fe0",
14 "value": "0x1234"
15 }
16 ]
17}
सभी दिखाएँ

उदाहरण संबंधी प्रतिक्रिया:

1{
2 "jsonrpc": "2.0",
3 "id": 2,
4 "result": {
5 "raw": "0xf88380018203339407a565b7ed7d7a678680a4c162885bedbb695fe080a44401a6e4000000000000000000000000000000000000000000000000000000000000001226a0223a7c9bcf5531c99be5ea7082183816eb20cfe0bbc322e97cc5c7f71ab8b20ea02aadee6b34b45bb15bc42d9c09de4a6754e7000908da72d48cc7704971491663",
6 "tx": {
7 "nonce": "0x0",
8 "maxFeePerGas": "0x1234",
9 "maxPriorityFeePerGas": "0x1234",
10 "gas": "0x55555",
11 "to": "0x07a565b7ed7d7a678680a4c162885bedbb695fe0",
12 "value": "0x1234",
13 "input": "0xabcd",
14 "v": "0x26",
15 "r": "0x223a7c9bcf5531c99be5ea7082183816eb20cfe0bbc322e97cc5c7f71ab8b20e",
16 "s": "0x2aadee6b34b45bb15bc42d9c09de4a6754e7000908da72d48cc7704971491663",
17 "hash": "0xeba2df809e7a612a0a0d444ccfa5c839624bdc00dd29e3340d46df3870f8a30e"
18 }
19 }
20}
सभी दिखाएँ

हस्ताक्षर हैश के साथ, लेनदेन क्रिप्टोग्राफ़िक रूप से साबित किया जा सकता है कि यह प्रेषक से आया है और नेटवर्क पर सबमिट किया गया है।

डेटा फ़ील्ड

ज़्यादातर लेनदेन बाहरी स्वामित्व वाले खाते से अनुबंध तक पहुंचते हैं। अधिकांश अनुबंध सॉलिडिटी में लिखे जाते हैं और के अनुसार अपने डेटा फ़ील्ड की व्याख्या करते हैं।

पहले चार बाइट्स निर्दिष्ट करते हैं कि फ़ंक्शन के नाम और तर्कों के हैश का उपयोग करके किस फ़ंक्शन को कॉल करना है। आप कभी-कभी इस डेटाबेस (opens in a new tab) का उपयोग करके सिलेक्टर से फ़ंक्शन की पहचान कर सकते हैं।

बाकी कॉडेटा आर्ग्यूमेंट हैं, जो ABI स्पेक्स में निर्दिष्ट अनुसार एन्कोड किए गए हैं (opens in a new tab)

उदाहरण के लिए, आइए इस लेन-देन (opens in a new tab) को देखें। कॉलडेटा देखने के लिए और देखने के लिए क्लिक करें का उपयोग करें।

फ़ंक्शन सिलेक्टर 0xa9059cbb है। इस सिग्नेचर के साथ कई ज्ञात फ़ंक्शन (opens in a new tab) हैं। इस मामले में अनुबंध का स्रोत कोड (opens in a new tab) ईथरस्कैन पर अपलोड कर दिया गया है, इसलिए हम जानते हैं कि फ़ंक्शन transfer(address,uint256) है।

बाकी डेटा है:

10000000000000000000000004f6742badb049791cd9a37ea913f2bac38d01279
2000000000000000000000000000000000000000000000000000000003b0559f4

ABI विनिर्देशों के अनुसार, पूर्णांक मान (जैसे पते, जो 20-बाइट पूर्णांक हैं) ABI में 32-बाइट शब्दों के रूप में दिखाई देते हैं, जो सामने शून्य के साथ गद्देदार होते हैं। तो हम जानते हैं कि to पता 4f6742badb049791cd9a37ea913f2bac38d01279 (opens in a new tab) है। value 0x3b0559f4 = 990206452 है।

लेन-देन के प्रकार

एथेरियम पर कुछ अलग प्रकार के लेनदेन हैं:

  • नियमित लेनदेन: एक खाते से दूसरे खाते में लेनदेन।
  • अनुबंध परिनियोजन लेनदेन: 'टू' पते के बिना एक लेनदेन, जहां अनुबंध कोड के लिए डेटा फ़ील्ड का उपयोग किया जाता है।
  • एक अनुबंध का निष्पादन: एक लेनदेन जो एक डिप्लॉय किए गए स्मार्ट अनुबंध के साथ इंटरैक्ट करता है। इस मामले में, 'प्रति' पता स्मार्ट अनुबंध का पता है।

गैस पर

जैसा कि बताया गया है, लेन-देन को निष्पादित करने में गैस लगती है। सरल ट्रांसफ़र के ज़रिए लेनदेन के लिए 21000 यूनिट गैस की आवश्यकता होती है।

इसलिए बॉब को ऐलिस को 190 gwei के baseFeePerGas और 10 gwei के maxPriorityFeePerGas पर 1 ETH भेजने के लिए, बॉब को निम्नलिखित शुल्क का भुगतान करना होगा:

1(190 + 10) * 21000 = 4,200,000 ग्वेई
2--या--
30.0042 ETH

बॉब के खाते से -1.0042 ETH डेबिट किया जाएगा (ऐलिस के लिए 1 ETH + गैस शुल्क में 0.0042 ETH)

ऐलिस के खाते में +1.0 ETH क्रेडिट किया जाएगा

आधार शुल्क -0.00399 ETH बर्न हो जाएगा

वैलिडेटर टिप +0.000210 ETH रखता है

अप्रयुक्त गैस कैसे वापस की जाती है, यह दिखाने वाला आरेख एथेरियम EVM इलस्ट्रेटेड (opens in a new tab) से अनुकूलित आरेख

लेनदेन में उपयोग नहीं की जाने वाली किसी भी गैस को उपयोगकर्ता के खाते में वापस कर दिया जाता है।

स्मार्ट अनुबंध इंटरैक्शन

किसी भी लेनदेन के लिए गैस की आवश्यकता होती है जिसमें एक स्मार्ट अनुबंध शामिल होता है।

स्मार्ट अनुबंध में view (opens in a new tab) या pure (opens in a new tab) फ़ंक्शन के रूप में ज्ञात फ़ंक्शन भी हो सकते हैं, जो अनुबंध की स्थिति को नहीं बदलते हैं। जैसे, EOA से इन कामों को कॉल करने के लिए किसी गैस की आवश्यकता नहीं होगी। इस परिदृश्य के लिए अंतर्निहित RPC कॉल eth_call है।

eth_call का उपयोग करके एक्सेस किए जाने के विपरीत, इन view या pure फ़ंक्शन को आमतौर पर आंतरिक रूप से भी कॉल किया जाता है (यानी, अनुबंध से ही या किसी अन्य अनुबंध से) जिसमें गैस लगती है।

लेन-देन जीवनचक्र

एक बार लेनदेन जमा हो जाने के बाद निम्नलिखित होता है:

  1. एक लेन-देन हैश क्रिप्टोग्राफ़िक रूप से जनरेट होता है: 0x97d99bc7729211111a21b12c933c949d4f31684f1d6954ff477d0477538ff017
  2. लेनदेन को तब नेटवर्क पर प्रसारित किया जाता है और एक लेनदेन पूल में जोड़ा जाता है जिसमें अन्य सभी लंबित नेटवर्क लेनदेन शामिल होते हैं।
  3. एक सत्यापनकर्ता को आपके लेनदेन को चुनना होगा और लेनदेन को सत्यापित करने और इसे "सफल" मानने के लिए इसे एक ब्लॉक में शामिल करना होगा।
  4. जैसे-जैसे समय बीतता है, आपके लेनदेन वाले ब्लॉक को "उचित" और फिर "अंतिम" में अपग्रेड किया जाएगा। ये अपग्रेड इस बात को और अधिक निश्चित बनाते हैं कि आपका लेन-देन सफल रहा और इसे कभी भी बदला नहीं जाएगा। एक बार ब्लॉक "फाइनलाइज़" हो जाने पर, इसे केवल एक नेटवर्क-स्तरीय हमले द्वारा ही बदला जा सकता है, जिसकी लागत कई अरबों डॉलर होगी।

एक विज़ुअल डेमो

ऑस्टिन के साथ लेनदेन, गैस और माईनिंग पर एक नजर डालें।

टाइप्ड लेन-देन एनवेलप

एथेरियम में मूल रूप से लेनदेन के लिए एक फ़ॉर्मैट था। हर लेनदेन में एक गैर-गैस, गैस मूल्य, गैस सीमा, पता, मूल्य, डेटा, v, r, और s शामिल थे। ये फ़ील्ड RLP-एन्कोडेड हैं, जो कुछ इस तरह दिखते हैं:

RLP([nonce, gasPrice, gasLimit, to, value, data, v, r, s])

एथेरियम कई प्रकार के लेन-देनों का समर्थन करने के लिए विकसित हुआ है ताकि एक्सेस सूचियों और EIP-1559 (opens in a new tab) जैसी नई सुविधाओं को पुराने लेन-देन प्रारूपों को प्रभावित किए बिना लागू किया जा सके।

EIP-2718 (opens in a new tab) इसी व्यवहार की अनुमति देता है। लेनदेन की व्याख्या इस प्रकार की जाती है:

TransactionType || TransactionPayload

जहां फ़ील्ड को इस प्रकार परिभाषित किया गया है:

  • TransactionType - 0 और 0x7f के बीच की एक संख्या, कुल 128 संभावित लेन-देन प्रकारों के लिए।
  • TransactionPayload - लेन-देन के प्रकार द्वारा परिभाषित एक आर्बिट्रेरी बाइट ऐरे।

TransactionType मान के आधार पर, एक लेन-देन को इस प्रकार वर्गीकृत किया जा सकता है:

  1. टाइप 0 (लिगेसी) लेन-देन: एथेरियम के लॉन्च के बाद से उपयोग किया जाने वाला मूल लेन-देन प्रारूप। इनमें EIP-1559 (opens in a new tab) की विशेषताएं शामिल नहीं हैं, जैसे डायनामिक गैस शुल्क गणना या स्मार्ट अनुबंध के लिए एक्सेस सूची। लिगेसी लेन-देनों में उनके सीरियलाइज़्ड रूप में उनके प्रकार को इंगित करने वाला एक विशिष्ट प्रीफिक्स नहीं होता है, जो रिकर्सिव लेंथ प्रीफिक्स (RLP) एन्कोडिंग का उपयोग करते समय बाइट 0xf8 से शुरू होता है। इन लेन-देनों के लिए TransactionType मान 0x0 है।

  2. टाइप 1 लेन-देन: एथेरियम के बर्लिन अपग्रेड के हिस्से के रूप में EIP-2930 (opens in a new tab) में पेश किया गया, इन लेन-देनों में एक accessList पैरामीटर शामिल है। यह सूची उन पतों और स्टोरेज कीज़ को निर्दिष्ट करती है जिन्हें लेन-देन एक्सेस करने की उम्मीद करता है, जिससे स्मार्ट अनुबंधों से जुड़े जटिल लेन-देनों के लिए गैस लागत को संभावित रूप से कम करने में मदद मिलती है। EIP-1559 शुल्क बाज़ार परिवर्तन टाइप 1 लेनदेन में शामिल नहीं हैं। टाइप 1 लेन-देन में एक yParity पैरामीटर भी शामिल है, जो या तो 0x0 या 0x1 हो सकता है, जो secp256k1 सिग्नेचर के y-मान की पैरिटी को दर्शाता है। उनकी पहचान बाइट 0x01 से शुरू होने से होती है, और उनका TransactionType मान 0x1 होता है।

  3. टाइप 2 लेन-देन, जिन्हें आमतौर पर EIP-1559 लेन-देन कहा जाता है, वे लेन-देन हैं जो EIP-1559 (opens in a new tab) में, एथेरियम के लंदन अपग्रेड में पेश किए गए थे। वे एथेरियम नेटवर्क पर मानक लेनदेन प्रकार बन गए हैं। ये लेनदेन एक नया शुल्क बाज़ार सिस्टम पेश करते हैं जो लेनदेन शुल्क को आधार शुल्क और प्राथमिकता शुल्क में अलग करके पूर्वानुमेयता में सुधार करता है। वे बाइट 0x02 से शुरू होते हैं और इसमें maxPriorityFeePerGas और maxFeePerGas जैसे फ़ील्ड शामिल हैं। टाइप 2 लेनदेन अब उनके लचीलेपन और दक्षता के कारण डिफ़ॉल्ट हैं, विशेष रूप से उपयोगकर्ताओं को लेनदेन शुल्क को अधिक अनुमानित रूप से प्रबंधित करने में मदद करने की उनकी क्षमता के लिए नेटवर्क की ज़्यादा व्यस्तता वाली अवधि के दौरान इष्ट हैं। इन लेन-देनों के लिए TransactionType मान 0x2 है।

  4. टाइप 3 (ब्लॉब) लेन-देन EIP-4844 (opens in a new tab) में एथेरियम के डेनकुन अपग्रेड के हिस्से के रूप में पेश किए गए थे। इन लेन-देनों को "ब्लॉब" डेटा (बाइनरी लार्ज ऑब्जेक्ट्स) को अधिक कुशलता से संभालने के लिए डिज़ाइन किया गया है, जो विशेष रूप से लेयर 2 रोलअप को कम लागत पर एथेरियम नेटवर्क पर डेटा पोस्ट करने का एक तरीका प्रदान करके लाभान्वित करता है। ब्लॉब लेन-देन में blobVersionedHashes, maxFeePerBlobGas, और blobGasPrice जैसे अतिरिक्त फ़ील्ड शामिल होते हैं। वे बाइट 0x03 से शुरू होते हैं, और उनका TransactionType मान 0x3 होता है। ब्लॉब लेन-देन एथेरियम की डेटा उपलब्धता और स्केलिंग क्षमताओं में एक महत्वपूर्ण सुधार का प्रतिनिधित्व करते हैं।

  5. टाइप 4 लेन-देन EIP-7702 (opens in a new tab) में एथेरियम के पेक्ट्रा अपग्रेड के हिस्से के रूप में पेश किए गए थे। ये लेन-देन अकाउंट एब्स्ट्रैक्शन के साथ फॉरवर्ड-कम्पैटिबल होने के लिए डिज़ाइन किए गए हैं। वे EOA को उनकी मूल कार्यक्षमता से समझौता किए बिना अस्थायी रूप से स्मार्ट अनुबंध खातों की तरह व्यवहार करने की अनुमति देते हैं। इनमें एक authorization_list पैरामीटर शामिल है, जो उस स्मार्ट अनुबंध को निर्दिष्ट करता है जिसे EOA अपना अधिकार सौंपता है। लेन-देन के बाद, EOA के कोड फ़ील्ड में प्रत्यायोजित स्मार्ट अनुबंध का पता होगा।

आगे की रीडिंग

क्या आप किसी सामुदायिक संसाधन के बारे में जानते हैं जिसने आपकी मदद की हो? इस पृष्ठ को संपादित करें और इसे जोड़ें!

क्या यह लेख सहायक था?