> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tenderly.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Intro to Tenderly SDK

> Tenderly SDK के साथ, एकल transactions या bundles को simulate करें, contracts और wallets का प्रबंधन करें, और अपने कोड से contracts वेरिफ़ाई करें।

Tenderly SDK एक TypeScript लाइब्रेरी है जो उपयोगी utilities का एक सेट प्रदान करती है, जिससे आप Tenderly का उपयोग करते हुए विभिन्न विकास चरणों में तेज़ी से आगे बढ़ सकते हैं।

यह आपको transactions simulate करने, transaction bundles simulate करने, contracts और wallets का प्रबंधन करने, और अपने कोड से smart contracts वेरिफ़ाई करने की अनुमति देता है। SDK विशेष रूप से उन ब्लॉकचेन डेवलपर्स के लिए उपयोगी है जो अपने dapp या विकास वर्कफ़्लो में Tenderly के शक्तिशाली टूल्स को एकीकृत करना चाहते हैं।

### परिचय

Tenderly SDK अपने API के माध्यम से Tenderly के साथ इंटरैक्ट करने के लिए एक उपयोग में आसान इंटरफ़ेस प्रदान करता है।

**SDK की मुख्य विशेषताएं शामिल हैं:**

* [Transactions simulate करना](/platform/sdk/simulating-transactions)
* [Contracts का प्रबंधन और सत्यापन](/platform/sdk/managing-contracts)
* [Wallets का प्रबंधन](/platform/sdk/managing-wallets)

### इंस्टॉलेशन

Tenderly SDK एक [npm package](https://www.npmjs.com/package/@tenderly/sdk) के रूप में उपलब्ध है। इसे अपनी project डायरेक्टरी में निम्नलिखित कमांड चलाकर इंस्टॉल करें:

**npm**

```bash title="example" showLineNumbers theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
npm install @tenderly/sdk
```

**yarn**

```bash title="example" showLineNumbers theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
yarn add @tenderly/sdk
```

**pnpm**

```bash title="example" showLineNumbers theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
pnpm add @tenderly/sdk
```

### Quickstart

नीचे दिया गया उदाहरण आपको दिखाता है कि 5 मिनट से भी कम समय में एक सरल simulation कैसे करें। SDK के पीछे की अवधारणाओं के बारे में अधिक जानने के लिए, [Tenderly SDK FAQs](/platform/sdk/concepts) देखें।

#### SDK को इनिशियलाइज़ करना

Tenderly SDK का उपयोग करने के लिए, आपको पहले आवश्यक लाइब्रेरीज़ आयात करनी होंगी और **`Tenderly`** क्लास का एक नया इंस्टेंस बनाना होगा। यहीं पर आप अपने Tenderly कॉन्फ़िगरेशन विवरण पास करते हैं।

Configuration object में आपका account name, project name, access key, और network शामिल होना चाहिए।

```jsx title="example.jsx" showLineNumbers theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}

const tenderlyInstance = new Tenderly({
  accountName: 'my-account',
  projectName: 'my-project',
  accessKey: 'my-access-key',
  network: Network.MAINNET, // Replace with the appropriate network
});
```

यदि आप API keys जैसी संवेदनशील जानकारी को हार्डकोड नहीं करना चाहते हैं, तो आप इस जानकारी को स्टोर करने के लिए environment variables का उपयोग कर सकते हैं, इस तरह:

```jsx title="example.jsx" showLineNumbers theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}

const tenderlyInstance = new Tenderly({
  accountName: process.env.TENDERLY_ACCOUNT_NAME,
  projectName: process.env.TENDERLY_PROJECT_NAME,
  accessKey: process.env.TENDERLY_ACCESS_KEY,
  network: Network.MAINNET, // Replace with the appropriate network
});
```

<Note>
  [समर्थित नेटवर्क्स](/platform/supported-networks) की सूची यहां पाई जा सकती है।
</Note>

#### account name, project slug, और secret key कैसे प्राप्त करें

आवश्यक कॉन्फ़िगरेशन विवरण प्राप्त करने के लिए इन चरण-दर-चरण गाइड्स का पालन करें:

* [Account name कैसे प्राप्त करें](/platform/account/projects/slug#username)
* [Organization name कैसे प्राप्त करें](/platform/account/projects/slug#organization-name)
* [Project slug/name कैसे प्राप्त करें](/platform/account/projects/slug#project-name-or-slug)
* [API keys कैसे खोजें, बनाएं, और प्रबंधित करें](/platform/account/projects/api-tokens)

### उदाहरण transaction simulation

SDK transactions simulate करने के लिए एक **`Simulator`** क्लास प्रदान करता है। एक simulation चलाने के लिए, Tenderly इंस्टेंस पर **`simulator`** namespace में **`simulateTransaction`** मेथड को कॉल करें:

```jsx title="example.jsx" showLineNumbers theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
const transaction = await tenderly.simulator.simulateTransaction({
  transaction: {
    from: callerAddress,
    to: counterContract,
    gas: 20000000,
    gas_price: '19419609232',
    value: 0,
    input: counterContractAbiInterface.encodeFunctionData('inc', []),
  },
  blockNumber: 3237677,
});
```

उपरोक्त कोड निम्नलिखित परिणाम उत्पन्न करता है:

```js title="example.js" showLineNumbers theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
{
  status: true,
  gasUsed: '46838',
  cumulativeGasUsed: undefined,
  blockNumber: '3237677',
  type: undefined,
  logsBloom: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAA==',
  logs: [ { raw: [Object] } ],
  trace: [
    {
      type: 'CALL',
      from: '0xDBcB6Db1FFEaA10cd157F985a8543261250eFA46',
      to: '0x93Cc0A80DE37EC4A4F97240B9807CDdfB4a19fB1',
      gas: '19978936',
      gas_used: '25774',
      value: '0',
      input: '0x371303c0',
      trace_address: [Array]
    }
  ]
}
```

### अगले चरण

Tenderly SDK के साथ simulations चलाने पर अधिक मार्गदर्शन के लिए, इन ट्यूटोरियल्स को आज़माएं और सीखें कि व्यक्तिगत और bundled दोनों transactions को कैसे simulate करें।

<CardGroup cols={2}>
  <Card title="How to Simulate Transactions with Tenderly SDK" href="/platform/sdk/tutorials/simulate-transactions" />

  <Card title="How to Perform Simulation Bundles with Tenderly SDK" href="/platform/sdk/tutorials/simulation-bundles" />
</CardGroup>

और जैसे-जैसे आप Tenderly SDK कैसे काम करता है इसके बारे में सीखना जारी रखते हैं, हम इन उपयोगी संसाधनों पर नज़र डालने की सलाह देते हैं:

<CardGroup cols={3}>
  <Card title="How to manage wallets" href="/platform/sdk/managing-wallets" />

  <Card title="Practical examples and code snippets" href="/platform/sdk/examples" />

  <Card title="Basic Concepts" href="/platform/sdk/concepts" />
</CardGroup>
