Tenderly Transaction Simulations को Rabby Wallet में एकीकृत करें
Tenderly Rabby Transaction Preview Demo
प्रोजेक्ट ओवरव्यू
इस ट्यूटोरियल में, आप सीखेंगे कि Tenderly Simulation API को Rabby Wallet Chrome extension में कैसे एकीकृत करें। पहले, आप सीखेंगे कि API के साथ कैसे interact करें और transaction simulation logic को कैसे implement करें। फिर, आप simulation डेटा को group करेंगे और इसे उपयोगकर्ता को उजागर करेंगे। इस तरह, आप नई कार्यक्षमताओं को जोड़कर इस Rabby Wallet उदाहरण में उपयोगकर्ता अनुभव में सुधार करेंगे।आवश्यकताएँ
इस ट्यूटोरियल के लिए, आपको चाहिए:- Node.js (संस्करण 14 या बाद का)
- Yarn
- React.js, TypeScript, और Tailwind CSS का ज्ञान
चरण 1: Rabby Wallet प्रोजेक्ट को Clone करें
पहले, आधिकारिक Rabby Wallet GitHub repository को fork या clone करें। ऐसा करने के लिए, चलाएँ:example
example
example
dist फ़ोल्डर उत्पन्न होगा। आप इसका उपयोग अपने Chrome extension को load करने के लिए कर सकते हैं।
chrome://extensions पर जाएँ और Developer mode enable करें। फिर, “Load unpacked” बटन पर क्लिक करें, अपनी Rabby directory पर navigate करें, और dist फ़ोल्डर चुनें। Unpacked extension screen पर दिखाई देगा, और आप Rabby Wallet का उपयोग शुरू कर सकते हैं।
अब, आप अपना मौजूदा wallet आयात कर सकते हैं या एक नया बना सकते हैं।
शुरू करने से पहले, यदि आपके पास Rabby Wallet Chrome Extension का production संस्करण installed है तो उसे disable करना सुनिश्चित करें।यदि आप कोई connection समस्या का सामना करते हैं तो कृपया Rabby टीम से official guidelines का पालन करें।
.webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=520d02bca5404aca64622e997566e6f3)
.webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=6e4fd241cbd2ebf214eb5e55f3335748)
चरण 2: एक Tenderly एक्सेस टोकन उत्पन्न करें
Tenderly Simulation API का उपयोग करने के लिए, आपको एक एक्सेस टोकन उत्पन्न करना होगा। इन चरणों का पालन करें:- एक निःशुल्क Tenderly account बनाएँ या अपने मौजूदा में लॉग इन करें।
- Authorization page पर जाएँ और Generate Access Token बटन पर क्लिक करें।
- टोकन secret केवल एक बार प्रदर्शित होता है। इसे कहीं सुरक्षित रूप से copy और store करना सुनिश्चित करें क्योंकि आप इसे बाद में पुनः प्राप्त नहीं कर पाएँगे।
API एक्सेस टोकन कैसे उत्पन्न करें
चरण 3: Simulation logic बनाएँ
इसके बाद, हम निम्नलिखित चरणों को कवर करेंगे:- Tenderly credentials के लिए एक सुरक्षित storage सिस्टम सेटअप करें।
- Tenderly Simulation API से जुड़ने के लिए आवश्यक code बनाएँ।
- API के साथ interact करने के लिए private और public दोनों endpoints का उपयोग करें।
- इन endpoints के लिए एक उचित payload construct करें।
Tenderly Credentials संभालना
पहले, आपको Tenderly credentials retrieve करने की आवश्यकता है। एक फ़ाइल/_raw/tenderly.json बनाएँ और Tenderly credentials अपडेट करें:
example.json
build/webpack.common.config.js को निम्नलिखित के साथ अपडेट करने की आवश्यकता है:
example.js
Transaction simulation logic implement करना
इसके बाद, एकsrc/ui/utils/tenderly.ts फ़ाइल बनाएँ और Tenderly Simulation API का उपयोग करके logic implement करें। यहाँ पूर्ण source code प्राप्त करें।
example.tsx
example
example
SignTx.tx component के भीतर simulateTransaction function को explainTx function के अंदर रखकर call करना है, जिसे transaction पर हस्ताक्षर करने से पहले invoke किया जाता है। Code विवरण के लिए, इस लिंक को देखें।
चरण 4: एक simulated transaction preview प्रदर्शित करें
Transactions भेजते समय क्या होगा यह समझने में उपयोगकर्ताओं की मदद करने के लिए, आप UI में मानव-पठनीय simulation डेटा दिखा सकते हैं। उदाहरण के लिए, एक बार जब wallet उपयोगकर्ता transactions का simulation कर लेते हैं, तो आप प्रदर्शित कर सकते हैं कि कौन से assets स्थानांतरित किए गए हैं। Rabby Wallet उदाहरण में, हमने तीन आसानी से समझ में आने वाले sections बनाए:Tenderly Simulation Summary: इसे एक transaction report card के रूप में सोचें। यह आपको आपके transaction के बारे में मूल जानकारी देता है, Tenderly Dashboard में एक विस्तृत simulation ओवरव्यू के लिए एक direct link के साथ।Assets In & Assets Out: आपके wallet द्वारा interact करने वाले सभी assets (चाहे ERC20 या NFT tokens) की एक स्पष्ट सूची प्राप्त करें।Tokens Transferred: एक transaction के भीतर होने वाले प्रत्येक token transfer को देखें। अतिरिक्त स्पष्टता के लिए, सभी transfers को पते के अनुसार group करें और native coin transfers को highlight करें।
.webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=5d41e85766b24da2a541d8c60ea31565)
.webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=cfdd30d3b489394ff18d90d9f7304b5c)
Tenderly Simulation Summary
पहले, चलिए Tenderly Simulation Summary section बनाएँ। यहाँ, हम simulation status, वह नेटवर्क जहाँ transaction निष्पादित हुआ है, और gas मान दिखाते हैं। इस section को बनाने के लिए, आपको Tenderly Simulation API प्रतिक्रिया के साथ interact करने की आवश्यकता है। एकTenderlySimulationSummary.tsx फ़ाइल बनाकर शुरू करें। आप संपूर्ण code implementation नीचे या GitHub repo यहाँ में पा सकते हैं।
example.tsx
example.tsx
Tenderly Simulation API
Assets In & Assets Out
दूसरा section Rabby Wallet उदाहरण के भीतर assets के प्रवाह के प्रबंधन और निगरानी में अंतर्दृष्टि प्रदान करता है। यह आने वाले और जाने वाले दोनों assets को दिखाता है ताकि आपको wallet गतिविधि का बेहतर दृश्य मिल सके। इसे प्राप्त करने के लिए, एकTenderlyWalletChanges.tsx फ़ाइल बनाकर शुरू करें:
example.tsx
- Wallet में आने वाले Assets
- Wallet से बाहर जाने वाले Assets
Asset और Balance परिवर्तन
Tokens Transferred
Token Transfers section एक अधिक जटिल component है। यह फ़ाइल मुख्य रूप से layout का प्रबंधन करती है, इसलिए चलिए पहले sorting logic पर चर्चा करें। आप इस section का implementation यहाँ पा सकते हैं। एकTenderlyAssetChanges.tsx फ़ाइल बनाकर शुरू करें। इसमें दो tabs प्रस्तुत करने के लिए logic है: Tokens Transferred और Native Coins Transferred। ऐसा करने के लिए, आपको sorting, tabs के बीच switching, और डेटा को पते के अनुसार grouping के लिए logic जोड़ना होगा।

example.tsx
सभी components को Group और preview करना
अंत में, चलिए सभी components को एक साथ रखें। ऐसा करने के लिए, आपको एकTenderlySimulationResult.tsx फ़ाइल बनाने की आवश्यकता है। आपको connected wallet पते के साथ interact करने के लिए Rabby टीम द्वारा प्रदान किए गए useWallet() hook का उपयोग करने की भी आवश्यकता है।
यहाँ code का ओवरव्यू है:
example.tsx