Skip to main content
Tenderly RPC और API के माध्यम से single transaction simulations का समर्थन करता है। डिफ़ॉल्ट रूप से simulations चुने गए नेटवर्क की नवीनतम स्थिति पर निष्पादित होते हैं। Simulation API किसी historical block और उसके भीतर की position को भी pin कर सकता है (देखें Block number और transaction index)। Dapps और वॉलेट single simulations का उपयोग अपने उपयोगकर्ताओं को वास्तविक असेट्स प्रतिबद्ध करने से पहले transactions का dry-run करने का एक तरीका देने के लिए कर सकते हैं। यह उन्हें हुए विस्तृत balance और asset परिवर्तनों के साथ transaction execution का पूर्वावलोकन देता है। Transaction previews उपयोगकर्ताओं को dapps में विश्वास बनाने, केवल सफल transactions को approve करने, और महँगी विफलताओं को रोकने में मदद कर सकते हैं।

RPC के माध्यम से Simulate करें

Node RPC आपको blockchain डेटा पढ़ने और transactions भेजने की अनुमति देता है। लेकिन आप Node पर transactions का simulation भी कर सकते हैं। RPC के माध्यम से simulate करने का लाभ यह है कि आप ये सभी operations एक ही RPC URL के माध्यम से कर सकते हैं।
RPC या API के माध्यम से Simulations केवल समर्थित नेटवर्क पर उपलब्ध हैं। समर्थित नेटवर्क की सूची देखें।
अपना RPC URL और एक्सेस कुंजी Dashboard से प्राप्त करें। Node > इच्छित नेटवर्क का Copy HTTPS URL पर जाएँ।
example
RPC के माध्यम से एक single transaction का simulation करने के लिए, tenderly_simulateTransaction विधि को कॉल करें। RPC reference देखें। उदाहरण
request

API के माध्यम से Simulate करें

विभिन्न पैरामीटर्स के साथ single transaction का simulation करने के लिए simulate API endpoint का उपयोग करें।
Virtual Environments पर Simulations का उपयोग करने के लिए, हम Simulate RPC और Bundle Simulate RPC की अनुशंसा करते हैं। अन्यथा, आप Virtual Environments Simulation API का उपयोग कर सकते हैं।
URL में आपका account slug और project slug होना चाहिए। slugs खोजने के लिए इस quick guide का पालन करें।
Simulation API endpoint on public network
Simulation API endpoint on a Virtual Environment
आपको API एक्सेस टोकन भी प्राप्त करना होगा, जो headers के साथ भेजा जाता है। जानें कि API एक्सेस कुंजी यहाँ कैसे उत्पन्न करें।

अनुरोध payload

API एंडपॉइंट पर POST अनुरोध भेजें। अनुरोध payload के पूर्ण विवरण के लिए, API reference देखें। Simulated payload eth_call JSON RPC कॉल के समान है। नीचे दिए गए फ़ील्ड आवश्यक हैं:
  • network_id (string): नेटवर्क का ID जहाँ आप simulation चलाना चाहते हैं।
  • to (string): transaction का प्राप्तकर्ता पता।
  • from (string): transaction शुरू करने वाला पता।
  • input (string): Encoded contract विधि कॉल डेटा।
  • gas (number): simulation के लिए प्रदान की गई gas की मात्रा।
आप from फ़ील्ड में कोई भी sender पता निर्दिष्ट कर सकते हैं। चूँकि Tenderly unsigned transactions का simulation करता है, आपको एक विशिष्ट sender से transactions का simulation करने के लिए किसी account की निजी कुंजी का स्वामी होने की आवश्यकता नहीं है।
आप simulation_type भी निर्दिष्ट कर सकते हैं, जो full, quick, या ABI हो सकता है। यह फ़ील्ड आवश्यक नहीं है क्योंकि डिफ़ॉल्ट full पर सेट है। Simulation Modes के बारे में अधिक जानें।

Block number और transaction index

block_number और transaction_index तय करते हैं कि transaction किस state पर execute होगा। दोनों optional integers हैं। Validation नियम:
  • block_number एक integer है। "latest" या "pending" जैसे block tags 400 Bad request input parameters error के साथ reject होते हैं।
  • transaction_index के लिए स्पष्ट block_number आवश्यक है। Block छोड़े जाने पर non-zero index 400 Transaction index is not allowed when block number is pending के साथ reject होता है।
  • Block की transaction संख्या से बड़ा index transaction index too high: invalid transaction simulation के साथ fail होता है। Index को clamp नहीं किया जाता, और block के अंत के लिए कोई keyword नहीं है।
सबसे हाल के block की post-state पर simulate करने के लिए, पहले block पढ़ें और उसकी transaction संख्या को index के रूप में पास करें:
नवीनतम block की post-state
यही फ़ील्ड Simulator UI के Tx Index control को चलाते हैं: At start of block index 0 है, At tx चुना गया index है, और At end of block block की transaction संख्या है। API अनुरोध करते समय, X-Access-Key header जोड़ें जिसका मान एक्सेस टोकन हो। उदाहरण सुनिश्चित करें कि एक्सेस कुंजी को सुरक्षित रूप से एक .env फ़ाइल में संग्रहीत करें।
request.ts

उपयोग के मामले जानें

  • Transaction परिणामों का पूर्वावलोकन: उन समस्याओं की पहचान करें और उन्हें ठीक करें जो transactions को विफल कर सकती हैं।
  • Asset और balance परिवर्तन: होने वाले सभी balance और asset परिवर्तनों के लिए सटीक डॉलर मूल्य प्राप्त करें।
  • Gas अनुमान: transaction भेजने से पहले gas लागतों की सटीक भविष्यवाणी करें।
  • State overrides: विभिन्न परिदृश्यों का परीक्षण करने के लिए timestamps और contract डेटा जैसी blockchain स्थितियों को संशोधित करें।

आगे कहाँ जाएँ

Bundled simulations

SDK के माध्यम से Simulate करें