Web3 वापरून व्यवहार पाठवणे
Web3 वापरून इथेरियम व्यवहार पाठवण्यासाठी हे नवशिक्यांसाठी अनुकूल मार्गदर्शक आहे. इथेरियम ब्लॉकचेनवर व्यवहार पाठवण्यासाठी तीन मुख्य टप्पे आहेत: तयार करणे, स्वाक्षरी करणे आणि प्रसारित करणे. आपण या तिन्ही टप्प्यांबद्दल जाणून घेऊ, आशा आहे की तुमच्या सर्व प्रश्नांची उत्तरे मिळतील! या ट्युटोरियलमध्ये, आपण इथेरियम चेनवर आपले व्यवहार पाठवण्यासाठी Alchemy (opens in a new tab) वापरणार आहोत. तुम्ही येथे मोफत Alchemy खाते तयार करू शकता (opens in a new tab).
टीप: हे मार्गदर्शक तुमच्या ॲपच्या बॅकएंडवर तुमच्या व्यवहारांवर स्वाक्षरी करण्यासाठी आहे. जर तुम्हाला फ्रंटएंडवर तुमच्या व्यवहारांवर स्वाक्षरी करणे समाकलित करायचे असेल, तर ब्राउझर प्रदाता सोबत Web3 (opens in a new tab) समाकलित करणे तपासा.
मूलभूत गोष्टी
बहुतेक ब्लॉकचेन डेव्हलपर्स जेव्हा पहिल्यांदा सुरुवात करतात, तेव्हा तुम्ही व्यवहार कसा पाठवायचा (जे खूप सोपे असायला हवे) यावर काही संशोधन केले असेल आणि तुम्हाला अनेक मार्गदर्शक सापडले असतील, जे प्रत्येक वेगळ्या गोष्टी सांगत असतील आणि तुम्हाला थोडे भारावून आणि गोंधळात टाकतील. जर तुम्ही त्या परिस्थितीत असाल, तर काळजी करू नका; आपण सर्वजण कधीतरी तिथे होतो! तर, आपण सुरुवात करण्यापूर्वी, काही गोष्टी स्पष्ट करूया:
1. Alchemy तुमच्या खाजगी की साठवत नाही
- याचा अर्थ असा की Alchemy तुमच्या वतीने व्यवहारांवर स्वाक्षरी करू शकत नाही आणि पाठवू शकत नाही. याचे कारण सुरक्षितता हे आहे. Alchemy तुम्हाला तुमची खाजगी की शेअर करण्यास कधीही सांगणार नाही, आणि तुम्ही तुमची खाजगी की होस्ट केलेल्या नोडसोबत (किंवा कोणाशीही) कधीही शेअर करू नये.
- तुम्ही Alchemy च्या मुख्य API चा वापर करून ब्लॉकचेनवरून वाचू शकता, परंतु त्यावर लिहिण्यासाठी तुम्हाला Alchemy द्वारे पाठवण्यापूर्वी तुमच्या व्यवहारांवर स्वाक्षरी करण्यासाठी दुसरे काहीतरी वापरावे लागेल (हे इतर कोणत्याही नोड सेवेसाठी समान आहे).
2. "स्वाक्षरीकर्ता" (signer) म्हणजे काय?
- स्वाक्षरीकर्ते तुमची खाजगी की वापरून तुमच्यासाठी व्यवहारांवर स्वाक्षरी करतील. या ट्युटोरियलमध्ये आपण आपल्या व्यवहारावर स्वाक्षरी करण्यासाठी Alchemy Web3 (opens in a new tab) वापरणार आहोत, परंतु तुम्ही इतर कोणतीही Web3 लायब्ररी देखील वापरू शकता.
- फ्रंटएंडवर, स्वाक्षरीकर्त्याचे एक चांगले उदाहरण मेटामास्क (opens in a new tab) असेल, जे तुमच्या वतीने व्यवहारांवर स्वाक्षरी करेल आणि पाठवेल.
3. मला माझ्या व्यवहारांवर स्वाक्षरी करण्याची आवश्यकता का आहे?
- इथेरियम नेटवर्कवर व्यवहार पाठवू इच्छिणाऱ्या प्रत्येक वापरकर्त्याने व्यवहारावर स्वाक्षरी करणे आवश्यक आहे (त्यांची खाजगी की वापरून), जेणेकरून व्यवहाराचा उगम तोच आहे ज्याचा तो दावा करतो हे प्रमाणित करता येईल.
- या खाजगी की चे संरक्षण करणे अत्यंत महत्त्वाचे आहे, कारण त्यात प्रवेश मिळाल्यास तुमच्या इथेरियम खात्यावर पूर्ण नियंत्रण मिळते, ज्यामुळे तुम्हाला (किंवा प्रवेश असलेल्या कोणालाही) तुमच्या वतीने व्यवहार करण्याची परवानगी मिळते.
4. मी माझ्या खाजगी की चे संरक्षण कसे करू?
- तुमची खाजगी की संरक्षित करण्याचे आणि व्यवहार पाठवण्यासाठी तिचा वापर करण्याचे अनेक मार्ग आहेत. या ट्युटोरियलमध्ये आपण
.envफाईल वापरणार आहोत. तथापि, तुम्ही खाजगी की साठवणारा वेगळा प्रदाता देखील वापरू शकता, कीस्टोअर फाईल वापरू शकता किंवा इतर पर्याय वापरू शकता.
5. eth_sendTransaction आणि eth_sendRawTransaction मध्ये काय फरक आहे?
eth_sendTransaction आणि eth_sendRawTransaction हे दोन्ही इथेरियम API फंक्शन्स आहेत जे इथेरियम नेटवर्कवर व्यवहार प्रसारित करतात जेणेकरून तो भविष्यातील ब्लॉकमध्ये जोडला जाईल. ते व्यवहारांच्या स्वाक्षरी हाताळण्याच्या पद्धतीत भिन्न आहेत.
eth_sendTransaction(opens in a new tab) चा वापर स्वाक्षरी नसलेले व्यवहार पाठवण्यासाठी केला जातो, याचा अर्थ असा की तुम्ही ज्या नोडला पाठवत आहात त्याने तुमची खाजगी की व्यवस्थापित केली पाहिजे जेणेकरून तो चेनवर प्रसारित करण्यापूर्वी व्यवहारावर स्वाक्षरी करू शकेल. Alchemy वापरकर्त्यांच्या खाजगी की ठेवत नसल्यामुळे, ते या पद्धतीला समर्थन देत नाहीत.eth_sendRawTransaction(opens in a new tab) चा वापर आधीच स्वाक्षरी केलेल्या व्यवहारांना प्रसारित करण्यासाठी केला जातो. याचा अर्थ तुम्हाला प्रथमsignTransaction(tx, private_key)(opens in a new tab) वापरावे लागेल, त्यानंतर त्याचा परिणामeth_sendRawTransactionमध्ये पास करावा लागेल.
Web3 वापरताना, web3.eth.sendSignedTransaction (opens in a new tab) फंक्शन कॉल करून eth_sendRawTransaction ॲक्सेस केले जाते.
या ट्युटोरियलमध्ये आपण हेच वापरणार आहोत.
6. Web3 लायब्ररी म्हणजे काय?
- Web3.js ही मानक जेसॉन-आरपीसी कॉल्सभोवती एक रॅपर लायब्ररी आहे जी इथेरियम डेव्हलपमेंटमध्ये वापरण्यासाठी अगदी सामान्य आहे.
- वेगवेगळ्या भाषांसाठी अनेक Web3 लायब्ररी आहेत. या ट्युटोरियलमध्ये आपण Alchemy Web3 (opens in a new tab) वापरणार आहोत जे JavaScript मध्ये लिहिलेले आहे. तुम्ही Ethers.js (opens in a new tab) सारखे इतर पर्याय येथे (opens in a new tab) तपासू शकता.
ठीक आहे, आता आपण यापैकी काही प्रश्नांची उत्तरे मिळवली आहेत, तर आपण ट्युटोरियलकडे वळूया. Alchemy च्या डिस्कॉर्ड् (opens in a new tab) मध्ये कधीही प्रश्न विचारण्यास संकोच करू नका!
7. सुरक्षित, गॅस-ऑप्टिमाइझ केलेले आणि खाजगी व्यवहार कसे पाठवायचे?
- Alchemy कडे ट्रान्झॅक्ट API चा संच आहे (opens in a new tab). तुम्ही यांचा वापर मजबूत व्यवहार पाठवण्यासाठी, व्यवहार होण्यापूर्वी त्यांचे अनुकरण करण्यासाठी, खाजगी व्यवहार पाठवण्यासाठी आणि गॅस-ऑप्टिमाइझ केलेले व्यवहार पाठवण्यासाठी करू शकता.
- जेव्हा तुमचा व्यवहार मेमपूलमधून काढला जातो आणि चेनमध्ये जोडला जातो तेव्हा सावध करण्यासाठी तुम्ही Notify API (opens in a new tab) देखील वापरू शकता.
टीप: या मार्गदर्शकासाठी Alchemy खाते, इथेरियम पत्ता किंवा मेटामास्क वॉलेट, NodeJs आणि npm स्थापित असणे आवश्यक आहे. नसल्यास, या पायऱ्या फॉलो करा:
- मोफत Alchemy खाते तयार करा (opens in a new tab)
- मेटामास्क खाते तयार करा (opens in a new tab) (किंवा इथेरियम पत्ता मिळवा)
- NodeJs आणि NPM स्थापित करण्यासाठी या पायऱ्या फॉलो करा (opens in a new tab)
तुमचा व्यवहार पाठवण्याच्या पायऱ्या
1. Sepolia टेस्टनेटवर Alchemy ॲप तयार करा
तुमच्या Alchemy डॅशबोर्डवर (opens in a new tab) जा आणि तुमच्या नेटवर्कसाठी Sepolia (किंवा इतर कोणतेही टेस्टनेट) निवडून नवीन ॲप तयार करा.
2. Sepolia फॉसेटमधून ETH ची विनंती करा
ETH प्राप्त करण्यासाठी Alchemy Sepolia फॉसेटवरील (opens in a new tab) सूचनांचे पालन करा. तुमचा Sepolia इथेरियम पत्ता (मेटामास्क मधून) समाविष्ट केल्याची खात्री करा आणि दुसऱ्या नेटवर्कचा नाही. सूचनांचे पालन केल्यानंतर, तुम्हाला तुमच्या वॉलेटमध्ये ETH प्राप्त झाले आहे का ते पुन्हा तपासा.
3. नवीन प्रोजेक्ट डिरेक्टरी तयार करा आणि त्यात cd करा
कमांड लाईनवरून (मॅकसाठी टर्मिनल) नवीन प्रोजेक्ट डिरेक्टरी तयार करा आणि त्यात जा:
mkdir sendtx-example
cd sendtx-example
4. Alchemy Web3 (किंवा कोणतीही Web3 लायब्ररी) स्थापित करा
Alchemy Web3 (opens in a new tab) स्थापित करण्यासाठी तुमच्या प्रोजेक्ट डिरेक्टरीमध्ये खालील कमांड चालवा:
लक्षात घ्या, जर तुम्हाला Ethers.js लायब्ररी वापरायची असेल, तर येथील सूचनांचे पालन करा (opens in a new tab).
npm install @alch/alchemy-web3
5. dotenv स्थापित करा
आपली API की आणि खाजगी की सुरक्षितपणे साठवण्यासाठी आपण .env फाईल वापरू.
npm install dotenv --save
6. .env फाईल तयार करा
तुमच्या प्रोजेक्ट डिरेक्टरीमध्ये .env फाईल तयार करा आणि खालील गोष्टी जोडा ("your-api-url" आणि "your-private-key" बदलून)
- तुमची Alchemy API URL शोधण्यासाठी, तुम्ही तुमच्या डॅशबोर्डवर नुकत्याच तयार केलेल्या ॲपच्या ॲप तपशील पृष्ठावर जा, वरच्या उजव्या कोपऱ्यात "View Key" वर क्लिक करा आणि HTTP URL घ्या.
- मेटामास्क वापरून तुमची खाजगी की शोधण्यासाठी, हे मार्गदर्शक (opens in a new tab) तपासा.
API_URL = "your-api-url"
PRIVATE_KEY = "your-private-key"
.env कमिट करू नका! कृपया तुमची .env फाईल कोणाशीही शेअर किंवा उघड न करण्याची खात्री करा, कारण असे केल्याने तुम्ही तुमची गुपिते धोक्यात आणत आहात. जर तुम्ही व्हर्जन कंट्रोल वापरत असाल, तर तुमची .env एका gitignore फाईलमध्ये जोडा.7. sendTx.js फाईल तयार करा
उत्तम, आता आपला संवेदनशील डेटा .env फाईलमध्ये सुरक्षित असल्याने, आपण कोडिंग सुरू करूया. आपल्या व्यवहार पाठवण्याच्या उदाहरणासाठी, आपण Sepolia फॉसेटला ETH परत पाठवणार आहोत.
एक sendTx.js फाईल तयार करा, जिथे आपण आपला उदाहरण व्यवहार कॉन्फिगर करू आणि पाठवू, आणि त्यात खालील कोडच्या ओळी जोडा:
async function main() {
require('dotenv').config();
const { API_URL, PRIVATE_KEY } = process.env;
const { createAlchemyWeb3 } = require("@alch/alchemy-web3");
const web3 = createAlchemyWeb3(API_URL);
const myAddress = '0x610Ae88399fc1687FA7530Aac28eC2539c7d6d63' //TODO: हा पत्ता तुमच्या स्वतःच्या सार्वजनिक पत्त्याने बदला
const nonce = await web3.eth.getTransactionCount(myAddress, 'latest'); // नॉन्स 0 पासून मोजणे सुरू करतो
const transaction = {
'to': '0x31B98D14007bDEe637298086988A0bBd31184523', // eth परत करण्यासाठी फॉसेट पत्ता
'value': 1000000000000000000, // 1 ETH
'gas': 30000,
'nonce': nonce,
// संदेश पाठवण्यासाठी किंवा स्मार्ट कॉन्ट्रॅक्ट कार्यान्वित करण्यासाठी पर्यायी डेटा फील्ड
};
const signedTx = await web3.eth.accounts.signTransaction(transaction, PRIVATE_KEY);
web3.eth.sendSignedTransaction(signedTx.rawTransaction, function(error, hash) {
if (!error) {
console.log("🎉 तुमच्या व्यवहाराचा हॅश आहे: ", hash, "\n तुमच्या व्यवहाराची स्थिती पाहण्यासाठी Alchemy चा मेमपूल तपासा!");
} else {
console.log("❗तुमचा व्यवहार सबमिट करताना काहीतरी चूक झाली:", error)
}
});
}
main();
ओळ 6 वरील पत्ता तुमच्या स्वतःच्या सार्वजनिक पत्त्याने बदलण्याची खात्री करा.
आता, हा कोड चालवण्यापूर्वी, आपण येथील काही घटकांबद्दल बोलूया.
nonce: नॉन्स स्पेसिफिकेशनचा वापर तुमच्या पत्त्यावरून पाठवलेल्या व्यवहारांच्या संख्येचा मागोवा ठेवण्यासाठी केला जातो. सुरक्षिततेच्या उद्देशाने आणि रिप्ले हल्ले (opens in a new tab) टाळण्यासाठी आपल्याला याची आवश्यकता आहे. तुमच्या पत्त्यावरून पाठवलेल्या व्यवहारांची संख्या मिळवण्यासाठी आपण getTransactionCount (opens in a new tab) वापरतो.transaction: व्यवहार ऑब्जेक्टमध्ये काही पैलू आहेत जे आपल्याला निर्दिष्ट करणे आवश्यक आहेto: हा तो पत्ता आहे ज्यावर आपल्याला ETH पाठवायचे आहे. या प्रकरणात, आपण ज्या Sepolia फॉसेटमधून (opens in a new tab) सुरुवातीला विनंती केली होती त्याला ETH परत पाठवत आहोत.value: ही ती रक्कम आहे जी आपल्याला पाठवायची आहे, जी Wei मध्ये निर्दिष्ट केली आहे जिथे 10^18 Wei = 1 ETHgas: तुमच्या व्यवहारासोबत समाविष्ट करण्यासाठी गॅसची योग्य रक्कम ठरवण्याचे अनेक मार्ग आहेत. जेव्हा गॅसची किंमत एका विशिष्ट मर्यादेत येते तेव्हा तुम्हाला सूचित करण्यासाठी Alchemy कडे गॅस प्राईस वेबहूक (opens in a new tab) देखील आहे. मुख्यनेट व्यवहारांसाठी, समाविष्ट करण्यासाठी गॅसची योग्य रक्कम ठरवण्यासाठी ETH Gas Station (opens in a new tab) सारखे गॅस एस्टिमेटर तपासणे ही एक चांगली सवय आहे. 21000 ही गॅसची किमान रक्कम आहे जी इथेरियमवरील ऑपरेशन वापरेल, त्यामुळे आपला व्यवहार कार्यान्वित होईल याची खात्री करण्यासाठी आपण येथे 30000 टाकतो.nonce: वरील नॉन्स व्याख्या पहा. नॉन्स शून्यापासून मोजणे सुरू करतो.- [पर्यायी] डेटा: तुमच्या हस्तांतरणासोबत अतिरिक्त माहिती पाठवण्यासाठी किंवा स्मार्ट कॉन्ट्रॅक्ट कॉल करण्यासाठी वापरला जातो, शिल्लक हस्तांतरणासाठी आवश्यक नाही, खालील टीप तपासा.
signedTx: आपल्या व्यवहार ऑब्जेक्टवर स्वाक्षरी करण्यासाठी आपण आपल्याPRIVATE_KEYसोबतsignTransactionपद्धत वापरूsendSignedTransaction: एकदा आपल्याकडे स्वाक्षरी केलेला व्यवहार आला की, आपण तोsendSignedTransactionवापरून पुढील ब्लॉकमध्ये समाविष्ट करण्यासाठी पाठवू शकतो
डेटावरील एक टीप इथेरियममध्ये पाठवले जाऊ शकणारे दोन मुख्य प्रकारचे व्यवहार आहेत.
- शिल्लक हस्तांतरण: एका पत्त्यावरून दुसऱ्या पत्त्यावर ETH पाठवा. कोणत्याही डेटा फील्डची आवश्यकता नाही, तथापि, जर तुम्हाला तुमच्या व्यवहारासोबत अतिरिक्त माहिती पाठवायची असेल, तर तुम्ही ती माहिती या फील्डमध्ये HEX फॉरमॅटमध्ये समाविष्ट करू शकता.
- उदाहरणार्थ, समजा आपल्याला एखाद्या IPFS दस्तऐवजाचा हॅश इथेरियम चेनवर लिहायचा आहे जेणेकरून त्याला अपरिवर्तनीय टाइमस्टॅम्प देता येईल. आपले डेटा फील्ड नंतर असे दिसावे:
web3.utils.toHex(‘IPFS hash‘). आणि आता कोणीही चेनला क्वेरी करू शकतो आणि तो दस्तऐवज कधी जोडला गेला ते पाहू शकतो.
- उदाहरणार्थ, समजा आपल्याला एखाद्या IPFS दस्तऐवजाचा हॅश इथेरियम चेनवर लिहायचा आहे जेणेकरून त्याला अपरिवर्तनीय टाइमस्टॅम्प देता येईल. आपले डेटा फील्ड नंतर असे दिसावे:
- स्मार्ट कॉन्ट्रॅक्ट व्यवहार: चेनवर काही स्मार्ट कॉन्ट्रॅक्ट कोड कार्यान्वित करा. या प्रकरणात, डेटा फील्डमध्ये तुम्हाला कार्यान्वित करायचे असलेले स्मार्ट फंक्शन, कोणत्याही पॅरामीटर्ससह असावे.
- व्यावहारिक उदाहरणासाठी, या हॅलो वर्ल्ड ट्युटोरियलमधील (opens in a new tab) पायरी 8 तपासा.
8. node sendTx.js वापरून कोड चालवा
तुमच्या टर्मिनल किंवा कमांड लाईनवर परत जा आणि चालवा:
node sendTx.js
9. मेमपूलमध्ये तुमचा व्यवहार पहा
तुमच्या Alchemy डॅशबोर्डमधील मेमपूल पृष्ठ (opens in a new tab) उघडा आणि तुमचा व्यवहार शोधण्यासाठी तुम्ही तयार केलेल्या ॲपनुसार फिल्टर करा. येथे आपण आपला व्यवहार प्रलंबित स्थितीवरून माईंड स्थितीत (यशस्वी झाल्यास) किंवा अयशस्वी झाल्यास वगळलेल्या स्थितीत जाताना पाहू शकतो. ते "All" वर ठेवण्याची खात्री करा जेणेकरून तुम्ही "mined", "pending", आणि "dropped" व्यवहार कॅप्चर करू शकाल. तुम्ही 0x31b98d14007bdee637298086988a0bbd31184523 पत्त्यावर पाठवलेले व्यवहार शोधून देखील तुमचा व्यवहार शोधू शकता.
एकदा तुम्हाला तुमचा व्यवहार सापडल्यानंतर त्याचे तपशील पाहण्यासाठी, tx हॅश निवडा, जे तुम्हाला अशा दिसणाऱ्या दृश्यावर घेऊन जाईल:
तेथून तुम्ही लाल वर्तुळात असलेल्या आयकॉनवर क्लिक करून Etherscan वर तुमचा व्यवहार पाहू शकता!
यिप्पी! तुम्ही नुकताच Alchemy वापरून तुमचा पहिला इथेरियम व्यवहार पाठवला आहे 🎉
या मार्गदर्शकाबद्दल अभिप्राय आणि सूचनांसाठी, कृपया Alchemy च्या डिस्कॉर्ड् (opens in a new tab) वर एलनला संदेश पाठवा!
मूळतः https://docs.alchemyapi.io/tutorials/sending-transactions-using-web3-and-alchemy (opens in a new tab) वर प्रकाशित
पृष्ठ शेवटचे अपडेट: 3 मार्च, 2026
