मुख्य सामग्री पर जाएं
Simulation Bundles आपको लगातार कई transactions का simulation करने में सक्षम बनाते हैं। उदाहरण के लिए, एक इच्छित transaction का simulation करने से पहले किसी विशेष स्थिति को सेट करने के लिए, आपको पहले कई अन्य transactions को निष्पादित करना होगा। Simulation API और Simulation RPC दोनों bundled simulations का समर्थन करते हैं। एंडपॉइंट्स transactions की एक array प्राप्त करते हैं जो एक ही block के भीतर एक के बाद एक simulation किए जाते हैं।

RPC bundled simulations

Node RPC आपको blockchain डेटा पढ़ने और transactions भेजने की अनुमति देता है। लेकिन आप एक ही RPC URL के माध्यम से Node पर bundled transactions का simulation भी कर सकते हैं। RPC के माध्यम से Simulations केवल समर्थित नेटवर्क पर उपलब्ध हैं। यदि आपका नेटवर्क Node पर समर्थित नहीं है, तो इसके बजाय Simulation API के माध्यम से bundled simulations चलाएँ। RPC URL को Dashboard से प्राप्त करें। Node > इच्छित नेटवर्क का Copy HTTPS URL पर जाएँ।
example
https://mainnet.gateway.tenderly.co/$TENDERLY_NODE_ACCESS_KEY
RPC के माध्यम से bundled transactions का simulation करने के लिए, tenderly_simulateBundle विधि को कॉल करें। यह कस्टम विधि आपको कई transactions को एक array के रूप में पास करके simulation करने की अनुमति देती है। RPC reference देखें
Transactions एक ही block में एक के बाद एक simulation किए जाते हैं।
उदाहरण
example
curl https://mainnet.gateway.tenderly.co/$TENDERLY_NODE_ACCESS_KEY \
  -X POST \
  -H "Content-Type: application/json" \
  -d \
  '{
    "id": 0,
    "jsonrpc": "2.0",
    "method": "tenderly_simulateBundle",
    "params": [
      [
        {
          "from": "0xe2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2",
          "to": "0x6b175474e89094c44da98b954eedeac495271d0f",
          "data": "0x40c10f19000000000000000000000000e58b9ee93700a616b50509c8292977fa7a0f8ce10000000000000000000000000000000000000000000000001bc16d674ec80000"
        },
        {
          "from": "0xe58b9ee93700a616b50509c8292977fa7a0f8ce1",
          "to": "0x6b175474e89094c44da98b954eedeac495271d0f",
          "gas": "0x7a1200",
          "data": "0x095ea7b3000000000000000000000000f7ddedc66b1d482e5c38e4730b3357d32411e5dd0000000000000000000000000000000000000000000000000de0b6b3a7640000"
        },
        {
          "from": "0xf7ddedc66b1d482e5c38e4730b3357d32411e5dd",
          "to": "0x6b175474e89094c44da98b954eedeac495271d0f",
          "gas": "0x7a1200",
          "data": "0x23b872dd000000000000000000000000e58b9ee93700a616b50509c8292977fa7a0f8ce1000000000000000000000000bd8daa414fda8a8a129f7035e7496759c5af8570000000000000000000000000000000000000000000000000006a94d74f430000"
        }
      ],
      "latest",
      {
        "0x6b175474e89094c44da98b954eedeac495271d0f": {
          "stateDiff": {
            "0xedd7d04419e9c48ceb6055956cbb4e2091ae310313a4d1fa7cbcfe7561616e03": "0x0000000000000000000000000000000000000000000000000000000000000001"
          }
        }
      }
    ]
  }'

API bundled simulations

एक ही बार में कई लगातार transactions का simulation करने के लिए simulate-bundle API एंडपॉइंट का उपयोग करें। API reference देखें
example
https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/simulate-bundle
Simulation आउटपुट उन उत्सर्जित events और state परिवर्तनों को दिखाता है जो transaction blockchain पर भेजे जाने पर पैदा कर सकता है। यदि कोई transaction विफल हो जाता है, तो विफलता बिंदु तक के सभी simulations के साथ एक early return होगा। उदाहरण
curl --request POST \
  --url https://api.tenderly.co/api/v1/account/me/project/project/simulate-bundle \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header "X-Access-Key: $TENDERLY_ACCESS_KEY" \
  --data '{
  "simulations": [
    {
      "network_id": "1",
      "save": true,
      "save_if_fails": true,
      "simulation_type": "full",
      "from": "0xe2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2",
      "to": "0x6b175474e89094c44da98b954eedeac495271d0f",
      "input": "0x40c10f19000000000000000000000000e58b9ee93700a616b50509c8292977fa7a0f8ce10000000000000000000000000000000000000000000000001bc16d674ec80000",
      "state_objects": {
        "0x6b175474e89094c44da98b954eedeac495271d0f": {
          "storage": {
            "0xedd7d04419e9c48ceb6055956cbb4e2091ae310313a4d1fa7cbcfe7561616e03": "0x0000000000000000000000000000000000000000000000000000000000000001"
          }
        }
      }
    },
    {
      "network_id": "1",
      "save": true,
      "save_if_fails": true,
      "simulation_type": "full",
      "from": "0xe58b9ee93700a616b50509c8292977fa7a0f8ce1",
      "to": "0x6b175474e89094c44da98b954eedeac495271d0f",
      "input": "0x095ea7b3000000000000000000000000f7ddedc66b1d482e5c38e4730b3357d32411e5dd0000000000000000000000000000000000000000000000000de0b6b3a7640000"
    },
    {
      "network_id": "1",
      "save": true,
      "save_if_fails": true,
      "simulation_type": "full",
      "from": "0xf7ddedc66b1d482e5c38e4730b3357d32411e5dd",
      "to": "0x6b175474e89094c44da98b954eedeac495271d0f",
      "input": "0x23b872dd000000000000000000000000e58b9ee93700a616b50509c8292977fa7a0f8ce1000000000000000000000000bd8daa414fda8a8a129f7035e7496759c5af8570000000000000000000000000000000000000000000000000006a94d74f430000"
    }
  ]
}'

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

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

आगे कहाँ जाएँ

Single simulations

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