मुख्य सामग्री पर जाएं
कस्टम RPC मेथड्स tenderly_ namespace में दिखाई देते हैं।
ये मेथड्स Node RPC पर चलते हैं; प्रत्येक मेथड और नेटवर्क के लिए पूर्ण JSON-RPC reference देखें। दो मेथड्स दिए गए block के विरुद्ध एक ही transaction को on chain भेजे बिना निष्पादित करते हैं:
  • tenderly_simulateTransaction पूर्ण डिकोडेड निष्पादन लौटाता है: logs, call trace, asset changes, और balance changes.
  • tenderly_estimateGas transaction को उसी तरह निष्पादित करता है लेकिन केवल gas आंकड़े लौटाता है। इसका उपयोग तब करें जब आपको पूर्ण simulation पेलोड के बिना सटीक gas मूल्य की आवश्यकता हो।

tenderly_simulateTransaction

Transaction को simulate करता है जैसा कि यह दिए गए block पर निष्पादित होगा। Params
  1. Transaction Transaction OBJECT
    • from (optional) STRING: hex encoded address
    • to STRING: hex encoded address
    • gas (optional) NUMBER
    • maxFeePerGas (optional) NUMBER max fee: प्रति gas अधिकतम कुल शुल्क जो प्रेषक भुगतान करने को तैयार है (नेटवर्क / base fee और miner / priority fee शामिल है) wei में
    • maxPriorityFeePerGas (optional) NUMBER max priority fee: प्रति gas अधिकतम शुल्क जो प्रेषक miners को भुगतान करने को तैयार है wei में
    • gasPrice (optional) NUMBER: gas मूल्य जो प्रेषक द्वारा भुगतान किया जाना है wei में
    • value (optional) NUMBER
    • data (optional) STRING: hex encoded bytes
    • accessList (optional) ARRAY of Access list entry OBJECT
      • address STRING hex encoded address
      • storageKeys ARRAY of STRING representation of 32 byte hex encoded storage key
  2. Simulation Block Number (optional) वह block number जिसके विरुद्ध transaction को simulate किया जाना चाहिए। या तो:
    • STRING Block number
    • ENUM of Block tag earliest|finalized|safe|latest|pending
  3. State Overrides (optional) MAP: एक अकाउंट (address) से override विनिर्देश तक मैपिंग
    • key STRING: वह अकाउंट जिस पर यह override लागू होता है
    • value OBJECT: override विनिर्देश
      • nonce (optional) STRING: अकाउंट के लिए hex encoded 8 byte nonce override
      • code (optional) STRING: अकाउंट के लिए code override का डेटा
      • balance (optional) STRING: अकाउंट के लिए hex encoded 32 byte balance override wei में
      • stateDiff (optional) MAP: storage key की storage value override में मैपिंग
        • key STRING: storage key
        • value STRING: दिए गए storage key के लिए value override
  4. Block Overrides (optional) OBJECT: block में override करने के लिए header fields का सेट।
    • number (optional) STRING: hex, block number को override करता है
    • difficulty (optional) STRING: hex, block difficulty को override करता है
    • time (optional) STRING: hex, block timestamp को override करता है
    • gasLimit (optional) STRING: hex, gas limit को override करता है
    • coinbase (optional) STRING: hex, block miner को override करता है
    • random (optional) STRING: hex, blocks extra data को override करता है जो RANDOM opcode में फ़ीड होता है
    • baseFee (optional) STRING: hex, block base fee को override करता है
Example
example.json
{
  "id": 0,
  "jsonrpc": "2.0",
  "method": "tenderly_simulateTransaction",
  "params": [
    {
      "from": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
      "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
      "data": "0xa9059cbb00000000000000000000000020a5814b73ef3537c6e099a0d45c798f4bd6e1d60000000000000000000000000000000000000000000000000000000000000001"
    },
    "0xF4D880"
  ]
}
Result Simulation result OBJECT
  • status NUMBER: या तो 1 (सफलता) या 0 (विफलता)
  • gasUsed NUMBER: इस विशिष्ट transaction द्वारा अकेले उपयोग की गई gas की मात्रा
  • cumulativeGasUsed NUMBER: जब यह transaction block में निष्पादित हुआ तब उपयोग की गई gas की कुल मात्रा
  • blockNumber NUMBER: वह block number जिसमें यह transaction simulate किया गया था
  • type NUMBER: transaction प्रकार, legacy transactions के लिए 0x00, access list प्रकारों के लिए 0x01, dynamic fees के लिए 0x02
  • logsBloom STRING: संबंधित logs को शीघ्रता से पुनः प्राप्त करने के लिए light clients के लिए bloom filter
  • logs: उत्सर्जित events की एक array ARRAY of OBJECT
    • name STRING: event name
    • anonymous BOOLEAN: इंगित करता है कि event anonymous है या नहीं
    • inputs: डिकोडेड log arguments की array ARRAY of decoded logs OBJECT
      • name STRING: event argument name
      • type STRING: Solidity type सिस्टम से event argument type
      • value (optional) STRING argument का string प्रतिनिधित्व value; type field के अनुसार व्याख्या करें
    • raw OBJECT: raw logs
      • address STRING hex encoded address: log उत्सर्जित करने वाले कॉन्ट्रैक्ट का पता
      • topics ARRAY of STRING 32 hex encoded bytes
      • data STRING event data का प्रतिनिधित्व करने वाला hex encoded string
  • trace: Trace ARRAY of OBJECT
    • type STRING type: trace item type - या तो CALL| CALLCODE| STATICCALL| DELEGATECALL| CREATE| CREATE2| SELFDESTRUCT
    • from STRING: hex encoded address
    • to STRING: hex encoded address
    • gas STRING: event gas का प्रतिनिधित्व करने वाला hex encoded unsigned 64 byte integer
    • gasUsed STRING: event gasUsed का प्रतिनिधित्व करने वाला hex encoded unsigned 64 byte integer
    • value STRING: wei में event value का प्रतिनिधित्व करने वाला hex encoded unsigned 64 byte integer
    • error STRING: virtual machine से low-level error
    • errorReason STRING: revert के मामले में निकाला गया error reason
    • input STRING: trace point के लिए raw input bytes का hex encoded string प्रतिनिधित्व
    • method STRING: invoked contract method
    • decodedInput : invoked method के लिए डिकोडेड input - ARRAY of decoded in argument OBJECT
      • value STRING: argument का string प्रतिनिधित्व value; type field के अनुसार व्याख्या करें।
      • type STRING: इस argument का Solidity type
      • name STRING: इस argument का नाम
    • output STRING: raw trace output
    • decodedOutput : invoked method का डिकोडेड output - ARRAY of decoded out argument OBJECT
      • value STRING: argument का string प्रतिनिधित्व value; type field के अनुसार व्याख्या करें।
      • type STRING: इस argument का Solidity type
      • name STRING: इस argument का नाम
    • subtraces NUMBER: child traces की संख्या
    • traceAddress : trace position ARRAY of NUMBER
  • assetChanges ARRAY:
    • type STRING asset change का प्रकार, transfer, mint, burn हो सकता है
    • from STRING: प्रेषक का पता (mint transfers के लिए खाली)
    • to STRING: प्राप्तकर्ता का पता (burn transfers के लिए खाली)
    • amount STRING: स्थानांतरित token की मात्रा
    • rawAmount STRING: token के लिए raw amount transfer
    • dollarValueSTRING: स्थानांतरित token का dollar मूल्य
    • assetInfoOBJECT: asset जानकारी
      • standard STRING: समर्थित token मानक: ERC20, ERC721, NativeCurrency
      • type STRING: token प्रकार: Native, Fungible, Non-Fungible
      • contractAddressSTRING : कॉन्ट्रैक्ट का पता
      • symbol STRING: token प्रतीक
      • name STRING: token नाम
      • logo STRING: token icon के लिए URL
      • decimals NUMBER: token में decimals की संख्या
      • dollarValueSTRING: एक token का dollar मूल्य
  • balanceChanges ARRAY: balance changes की एक array - संचित asset changes
    • address STRING address
    • dollarValue STRING: संचित asset changes का dollar मूल्य
    • transfers ARRAY: asset changes indexes की array

tenderly_estimateGas

वैकल्पिक simulation-style state और block overrides के साथ, दिए गए transaction के लिए सटीक gas अनुमान की गणना करता है। अनुमान पूर्ण रूप से निष्पादित transaction पर आधारित है, तब भी जब निर्दिष्ट gas अपर्याप्त हो, इसलिए लौटाया गया मान सटीक होता है। इसके विपरीत, eth_estimateGas revert कर सकता है और underestimation उत्पन्न कर सकता है। tenderly_simulateTransaction से अंतर:
  • दोनों मेथड्स transaction को दिए गए block के विरुद्ध उसी तरह निष्पादित करते हैं, और दोनों समान state और block overrides स्वीकार करते हैं।
  • tenderly_simulateTransaction पूर्ण डिकोडेड निष्पादन परिणाम लौटाता है: logs, call trace, asset changes, और balance changes.
  • tenderly_estimateGas केवल दो gas आंकड़े लौटाता है: अनुशंसित gas limit और वास्तव में उपभोग की गई gas। इसका उपयोग तब करें जब आपको केवल gas मूल्यों की आवश्यकता हो; जब आपको transaction के प्रभावों का पूर्वावलोकन करने की आवश्यकता हो, tenderly_simulateTransaction का उपयोग करें।
Params
  1. Transaction Transaction OBJECT: tenderly_simulateTransaction के समान आकार (from, to, gas, gasPrice, value, data, accessList)
  2. Simulation Block Number (optional) वह block number जिसके विरुद्ध transaction को निष्पादित किया जाना चाहिए। या तो:
    • STRING Block number
    • ENUM of Block tag earliest|finalized|safe|latest|pending
  3. State Overrides (optional) MAP: अकाउंट (address) से override विनिर्देश तक मैपिंग, tenderly_simulateTransaction के समान आकार
  4. Block Overrides (optional) OBJECT: block में override करने के लिए header fields का सेट, tenderly_simulateTransaction के समान आकार
Example
example.json
{
  "id": 0,
  "jsonrpc": "2.0",
  "method": "tenderly_estimateGas",
  "params": [
    {
      "from": "0x8516feaea147ea0db64d1c5b97bb651ca5435155",
      "to": "0x6b175474e89094c44da98b954eedeac495271d0f",
      "data": "0xa9059cbb0000000000000000000000003fc3c4c84bdd2db5ab2cc62f93b2a9a347de25fb00000000000000000000000000000000000000000000001869c36187f3430000",
      "value": "0x0"
    },
    "21285787"
  ]
}
Result Gas estimate OBJECT
  • gas STRING: transaction पर सेट करने के लिए hex-encoded अनुशंसित gas limit (वास्तव में उपभोग की गई gas पर एक सुरक्षा मार्जिन शामिल है)
  • gasUsed STRING: निष्पादित transaction द्वारा वास्तव में उपभोग की गई gas की hex-encoded मात्रा