> ## 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.

# Smart Contract सत्यापन

> किसी smart contract को Tenderly पर सत्यापित करें ताकि उसके transactions, events, और state changes को decode किया जा सके, और मूल Solidity source के विरुद्ध execution को debug किया जा सके।

Contract सत्यापन एक deploy किए गए contract के सोर्स कोड को submit करता है ताकि Tenderly इसे on-chain bytecode के विरुद्ध match कर सके। एक बार सत्यापित हो जाने पर, Tenderly उस contract के transactions, events, और state changes को इनमें decode कर सकता है:

* **Decoded transactions**: call traces, events, state changes, और gas usage मानव-पठनीय हो जाते हैं।
* **Debugger**: मूल Solidity के विरुद्ध execution के माध्यम से step करें, priorities सेट करें, और traces पर comment करें।
* **Gas profiler**: source के विरुद्ध line-level gas attribution।
* **Sharing**: collaborators और auditors के साथ सत्यापित contracts साझा करें।

सत्यापन के बिना आप हर उस Tenderly tool में raw bytecode देखेंगे जो उस contract को स्पर्श करता है।

## एक विधि चुनें

**सार्वजनिक नेटवर्क्स** (mainnets और testnets) पर सत्यापन के लिए, अपने tooling से मेल खाने वाला guide चुनें:

* [Dashboard](/contract-verification/dashboard): Tenderly Dashboard से browser-only सत्यापन।
* [Foundry](/contract-verification/foundry): `forge verify-contract` और `forge create` / `forge script` के साथ deploy-and-verify।
* [Hardhat](/contract-verification/hardhat): `@tenderly/hardhat-tenderly` plugin, स्वचालित या manual।
* [Hardhat (proxy contracts)](/contract-verification/hardhat-proxy): UUPS, Transparent, और Beacon proxies।

**Virtual Environment** पर contracts सत्यापित करने के लिए, Virtual Environments के तहत [Deploy and verify contracts](/virtual-environments/develop/deploy-contracts) और [Verify proxy contracts with Foundry](/virtual-environments/develop/verify-proxy-contracts) देखें।

## सार्वजनिक बनाम निजी visibility

**सार्वजनिक नेटवर्क्स** पर आप दो visibility modes में से चुनते हैं:

* **सार्वजनिक सत्यापन।** Source Tenderly पर सभी को दिखाई देता है और सार्वजनिक verification registries में propagated होता है।
* **निजी सत्यापन।** Source केवल आपके Tenderly project और organization के अंदर दिखाई देता है।

**Virtual Environments** पर सत्यापन हमेशा आपके project और organization के दायरे में होते हैं। कोई सार्वजनिक mode नहीं है; [Deploy and verify contracts](/virtual-environments/develop/deploy-contracts) देखें।

| सत्यापित source कौन देख सकता है | सार्वजनिक सत्यापन (सार्वजनिक नेटवर्क) | निजी सत्यापन (सार्वजनिक नेटवर्क) | Virtual Environment |
| ------------------------------- | :-----------------------------------: | :------------------------------: | :-----------------: |
| सभी Tenderly उपयोगकर्ता         |                   ✓                   |                                  |                     |
| Project collaborators           |                   ✓                   |                 ✓                |          ✓          |
| Organization members            |                   ✓                   |                 ✓                |          ✓          |

निजी mode पर कैसे switch करें, यह method पर निर्भर करता है:

* **Hardhat**: `hardhat.config.ts` में `tenderly.privateVerification: true` सेट करें। [Hardhat setup](/contract-verification/hardhat#configure-authentication-and-verification-visibility) देखें।
* **Foundry**: सार्वजनिक रूप से सत्यापित करने के लिए verifier URL में `/public` append करें, निजी रूप से सत्यापित करने के लिए इसे छोड़ दें। [Foundry verifier URL](/contract-verification/foundry#verifier-url) देखें।
* **Dashboard**: सत्यापन dialog में **Make Private** को toggle करें। [Dashboard verification](/contract-verification/dashboard#public-and-private-verification) देखें।
