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

# Dashboard के माध्यम से Contracts सत्यापित करें

> Tenderly Dashboard के माध्यम से ब्राउज़र में सार्वजनिक और निजी रूप से smart contracts कैसे सत्यापित करें, यह जानें।

<Info>
  **इन पर काम करता है:** सार्वजनिक नेटवर्क (mainnets और testnets)। किसी Virtual Environment पर contract सत्यापित करने के लिए, [Deploy and verify contracts](/virtual-environments/develop/deploy-contracts) देखें।
</Info>

Tenderly Dashboard में अपने ब्राउज़र से smart contracts सत्यापित करें। जब आप Hardhat या Foundry का उपयोग नहीं कर रहे हों तो यह सबसे तेज़ रास्ता है; यदि आप उनका उपयोग कर रहे हैं, तो [Hardhat](/contract-verification/hardhat) या [Foundry](/contract-verification/foundry) workflows इसे स्वचालित कर देते हैं।

## पूर्वापेक्षाएँ

किसी contract को सत्यापित करने के लिए, आपको यह प्रदान करना होगा:

* **सोर्स कोड**
* deploy किए गए संस्करण को compile करने के लिए उपयोग की गई **सटीक compiler settings**

आप Dashboard के माध्यम से सोर्स कोड को कई तरीकों से अपलोड कर सकते हैं:

* compiler द्वारा उत्पन्न [contract metadata](https://docs.soliditylang.org/en/latest/metadata.html) युक्त JSON फ़ाइल अपलोड करके
* सोर्स कोड को सीधे पेस्ट करके
* अपने file system से सोर्स फ़ाइल अपलोड करके
* अपने सभी smart contracts के साथ पूरी directory अपलोड करके। इससे उन contracts को सत्यापित करना आसान हो जाता है जिनके अन्य फ़ाइलों से imports हैं।

## सार्वजनिक और निजी सत्यापन

Smart Contracts सत्यापित करते समय, आपको दो modes में से चुनना होता है: **निजी** और **सार्वजनिक।**

* **सार्वजनिक (Tenderly के भीतर)**: सत्यापित contract और उसका सोर्स कोड सभी Tenderly उपयोगकर्ताओं के लिए उपलब्ध होता है। आप अपने प्रोजेक्ट के बाहर के उपयोगकर्ताओं के साथ अपना contract साझा करने में सहज हैं। आप चाहते हैं कि आपके contract के callers monitoring tools का उपयोग कर सकें।
* **निजी (Tenderly के भीतर)**: सत्यापित contract केवल team/collaborators को दिखाई देता है। contract विकास के दौरान उपयुक्त।

<br />

Contracts tab में **Verification** कॉलम इंगित करता है कि आपका contract सत्यापित है या नहीं, निजी या सार्वजनिक रूप से।

<Frame caption="Verification Status of added contracts">
  <img src="https://mintcdn.com/tenderly/XsEZlaGXYskrtN68/images/screenshotr_2022-9-19T16-58-0%202.webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=1b7c4bb5cc17d7b8e424f408ce1137a1" alt="Verification Status of added contracts" width="1000" height="625" data-path="images/screenshotr_2022-9-19T16-58-0 2.webp" />
</Frame>

## Dashboard contract सत्यापन गाइड

Tenderly प्रोजेक्ट में [असत्यापित contract जोड़ने](/developer-explorer/contracts) के बाद, यहाँ Dashboard का उपयोग करके इसे सत्यापित करने के चरण दिए गए हैं।

<Steps>
  ### असत्यापित contract खोजें

  Dashboard में, अपने असत्यापित contract को Contracts सूची में खोजें और सत्यापन स्थिति के आगे **Verify** बटन पर क्लिक करें।

  <img src="https://mintcdn.com/tenderly/XsEZlaGXYskrtN68/images/image6.webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=005d863e2ef32f46672aa735376c6770" alt="Starting contract verification" width="1000" height="625" data-path="images/image6.webp" />

  ### अपलोड विधि चुनें

  इनमें से एक चुनें:

  * **JSON Upload**: Solidity compiler द्वारा उत्पन्न JSON metadata पेस्ट करें।
  * **ABI Upload**: contract ABI पेस्ट करें।
  * **Contract Source Upload**: सोर्स कोड सीधे पेस्ट करें, एक सोर्स फ़ाइल अपलोड करें, या पूरी प्रोजेक्ट directory अपलोड करें। directory विकल्प उन contracts के लिए सबसे अच्छा काम करता है जो प्रोजेक्ट में अन्य contracts को import करते हैं।

      <img src="https://mintcdn.com/tenderly/XsEZlaGXYskrtN68/images/image2.webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=f906995ad39e27831da42bf3100cba05" alt="File Upload Options" width="1000" height="625" data-path="images/image2.webp" />

  ### contract और visibility चुनें

  यदि अपलोड में कई contracts हैं, तो पिछले चरण में दिखाए गए पते से मेल खाने वाले contract को चुनें। [निजी सत्यापन](#public-and-private-verification) के लिए **Make Private** को toggle करें।

  <img src="https://mintcdn.com/tenderly/XsEZlaGXYskrtN68/images/image8.webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=b88ad85cb84f9ca32751e73a82588e07" alt="Selecting the mode (&#x22;Make Private&#x22; switch) and the contract to verify" width="1000" height="625" data-path="images/image8.webp" />

  यदि कोई imports गायब हैं, तो Dashboard आपको जारी रखने से पहले उन्हें जोड़ने के लिए कहता है।

  ### compiler settings सेट करें

  compiler संस्करण, optimizer settings (enabled / runs), EVM संस्करण, और library address जोड़े भरें यदि आपका contract linked libraries का उपयोग करता है। deploy किए गए bytecode के साथ कोई भी बेमेल सत्यापन को विफल कर देगा।

  <img src="https://mintcdn.com/tenderly/XsEZlaGXYskrtN68/images/image5.webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=4f7f7741f903205cf6ced4fdf193683a" alt="Enter precise compiler settings. Any mismatch will fail to validate." width="1000" height="625" data-path="images/image5.webp" />

  ### समाप्त करें

  सबमिट करने के लिए **Finish** पर क्लिक करें। Contracts सूची में contract की सत्यापन स्थिति अपडेट हो जाती है।
</Steps>

## Smart contracts को bulk में कैसे सत्यापित करें

यदि आप अपने प्रोजेक्ट में कई असत्यापित contracts जोड़ते हैं, तो उन्हें bulk में सत्यापित करना संभव है। ये चरण अपनाएँ:

<Steps>
  ### सभी असत्यापित contracts खोजें

  Contract अनुभाग में **Verify All Contracts** पर क्लिक करें।
  यह एक modal खोलेगा जो आपके प्रोजेक्ट में सभी असत्यापित contracts को सूचीबद्ध करता है।

  <img src="https://mintcdn.com/tenderly/XsEZlaGXYskrtN68/images/image9.webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=c0c7f5a7f6f081c97191b7eedaf0e855" alt="" width="1000" height="625" data-path="images/image9.webp" />

  ### प्रत्येक contract के लिए source जोड़ें

  प्रत्येक contract के आगे **Add Source** पर क्लिक करें और ऊपर [single-contract flow](#dashboard-contract-verification-guide) की तरह अपलोड, compiler settings, और visibility toggle प्रदान करें।

  <img src="https://mintcdn.com/tenderly/XsEZlaGXYskrtN68/images/image3.webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=d01f3ab8ba5bd33282ecf389709ff44f" alt="" width="1000" height="625" data-path="images/image3.webp" />

  ### समाप्त करें

  सबमिट करने के लिए **Finish** पर क्लिक करें। सभी contracts सत्यापित होने के बाद, यह चुनें कि उन्हें प्रोजेक्ट की transaction सूची में दिखाना है या नहीं।
</Steps>
