# راهنمای کاربر

## راهنمای کاربر

### مدیریت استیک‌ها با DOTO Staking dApp

<p align="right">از <strong>DOTO Staking dApp</strong> برای مدیریت ساده‌تر و منظم‌تر استیک‌های خود استفاده کنید.</p>

<p align="right">این راهنما، مراحل استفاده از dApp را در هر دو محیط <strong>تست‌نت</strong> و <strong>مین‌نت</strong> دات‌وان به‌صورت قدم‌به‌قدم توضیح می‌دهد.</p>

**Testnet:**\
`https://explorer.dotone.network/tokens`

**Mainnet:**\
`https://explorer.dotone.network/tokens`

***

### اتصال کیف‌پول

<p align="right">ابتدا کیف‌پول خود را به dApp متصل کنید.</p>

### مدیریت استیک‌ها با DOTO Staking dApp

<p align="right">از <strong>DOTO Staking dApp</strong> برای مدیریت ساده‌تر و منظم‌تر استیک‌های خود استفاده کنید.</p>

<p align="right">این راهنما، مراحل استفاده از dApp را در هر دو محیط <strong>تست‌نت</strong> و <strong>مین‌نت</strong> دات‌وان به‌صورت قدم‌به‌قدم توضیح می‌دهد.</p>

**Testnet:**\
`https://explorer.dotone.network/tokens`

**Mainnet:**\
`https://explorer.dotone.network/tokens`

### اتصال کیف‌پول

<p align="right">ابتدا کیف‌پول خود را به dApp متصل کنید.</p>

![](https://docs.bnbchain.org/bnb-smart-chain/img/staking/user-stake1.png)

<p align="right">برای تعامل با dApp، ابتدا کیف‌پول Web3 خود را متصل کنید. در حال حاضر، <strong>TrustWallet</strong> فقط برای مین‌نت و <strong>MetaMask</strong> پشتیبانی می‌شوند؛ همچنین می‌توانید از هر کیف‌پولی که با <strong>WalletConnect</strong> سازگار است استفاده کنید.</p>

***

## Delegate کردن استیک

<p align="right">اعتبارسنجی را انتخاب کنید که می‌خواهید DOTOهای خود را به او delegate کنید.</p>

<p align="right">اطلاعات کامل هر اعتبارسنج در صفحه اختصاصی همان اعتبارسنج در دسترس است.</p>

<p align="right">برای شروع یک delegation جدید، روی دکمه <strong>Delegate</strong> کلیک کنید.</p>

<p align="right">مقدار DOTO موردنظر خود برای delegation را وارد کنید.</p>

<p align="right">پس از تأیید delegation، کیف‌پول متصل‌شده از شما می‌خواهد تراکنش را امضا کنید. اگر تراکنش با موفقیت انجام شود، در صفحه <strong>My Staking</strong> نمایش داده می‌شود و هش تراکنش نیز قابل مشاهده خواهد بود.</p>

***

<h2 align="right">Redelegate کردن استیک</h2>

<p align="right">در صفحه <strong>My Staking</strong> می‌توانید delegationهای فعلی خود را مدیریت کنید.</p>

<p align="right"><strong>نکته:</strong> برای جلوگیری از جابه‌جایی‌های مکرر میان اعتبارسنج‌ها، کارمزد redelegation معادل <strong>۰.۰۰۲٪</strong> اعمال می‌شود.</p>

<p align="right">برای انتقال استیک خود به یک اعتبارسنج دیگر، روی <strong>Redelegate</strong> کلیک کنید.</p>

<p align="right">در پنجره‌ای که باز می‌شود، اعتبارسنج جدید را انتخاب کنید و مقدار موردنظر برای redelegate را وارد کنید. می‌توانید کل مقدار را منتقل کنید یا فقط بخشی از آن را جابه‌جا کنید.</p>

***

<h2 align="right">Undelegate کردن استیک</h2>

<p align="right">برای دریافت اصل استیک و پاداش‌ها، ابتدا باید عملیات <strong>Undelegate</strong> را انجام دهید.</p>

<p align="right">روی دکمه <strong>Undelegate</strong> کنار delegation مربوطه کلیک کنید.</p>

<p align="right">می‌توانید کل مقدار را undelegate کنید یا فقط بخشی از آن را انتخاب کنید. توجه داشته باشید که استیک‌های undelegate‌شده وارد یک دوره <strong>unbonding هفت‌روزه</strong> می‌شوند و پس از پایان این دوره به حساب شما بازمی‌گردند.</p>

***

<h2 align="right">Claim کردن استیک</h2>

<p align="right">پس از پایان دوره unbonding، می‌توانید با کلیک روی دکمه <strong>Claim</strong> استیک خود را دریافت کنید.</p>

<p align="right">برای تعامل با dApp، ابتدا کیف‌پول Web3 خود را متصل کنید. در حال حاضر، <strong>TrustWallet</strong> فقط برای مین‌نت و <strong>MetaMask</strong> پشتیبانی می‌شوند؛ همچنین می‌توانید از هر کیف‌پولی که با <strong>WalletConnect</strong> سازگار است استفاده کنید.</p>

<h2 align="right">Delegate کردن استیک</h2>

<p align="right">اعتبارسنجی را انتخاب کنید که می‌خواهید DOTOهای خود را به او delegate کنید.</p>

<p align="right">اطلاعات کامل هر اعتبارسنج در صفحه اختصاصی همان اعتبارسنج در دسترس است.</p>

<p align="right">برای شروع یک delegation جدید، روی دکمه <strong>Delegate</strong> کلیک کنید.</p>

<figure><img src="/files/FsWyAYWEb050lOAS5VMZ" alt=""><figcaption></figcaption></figure>

<p align="right">مقدار DOTO موردنظر خود برای delegation را وارد کنید.</p>

<p align="right">پس از تأیید delegation، کیف‌پول متصل‌شده از شما می‌خواهد تراکنش را امضا کنید. اگر تراکنش با موفقیت انجام شود، در صفحه <strong>My Staking</strong> نمایش داده می‌شود و هش تراکنش نیز قابل مشاهده خواهد بود.</p>

<h2 align="right">Redelegate کردن استیک</h2>

<p align="right">در صفحه <strong>My Staking</strong> می‌توانید delegationهای فعلی خود را مدیریت کنید.</p>

<p align="right"><strong>نکته:</strong> برای جلوگیری از جابه‌جایی‌های مکرر میان اعتبارسنج‌ها، کارمزد redelegation معادل <strong>۰.۰۰۲٪</strong> اعمال می‌شود.</p>

<p align="right">برای انتقال استیک خود به یک اعتبارسنج دیگر، روی <strong>Redelegate</strong> کلیک کنید.</p>

<p align="right">در پنجره‌ای که باز می‌شود، اعتبارسنج جدید را انتخاب کنید و مقدار موردنظر برای redelegate را وارد کنید. می‌توانید کل مقدار را منتقل کنید یا فقط بخشی از آن را جابه‌جا کنید.</p>

***

<h2 align="right">Undelegate کردن استیک</h2>

<p align="right">برای دریافت اصل استیک و پاداش‌ها، ابتدا باید عملیات <strong>Undelegate</strong> را انجام دهید.</p>

<p align="right">روی دکمه <strong>Undelegate</strong> کنار delegation مربوطه کلیک کنید.</p>

<p align="right">می‌توانید کل مقدار را undelegate کنید یا فقط بخشی از آن را انتخاب کنید. توجه داشته باشید که استیک‌های undelegate‌شده وارد یک دوره <strong>unbonding هفت‌روزه</strong> می‌شوند و پس از پایان این دوره به حساب شما بازمی‌گردند.</p>

***

<h2 align="right">Claim کردن استیک</h2>

<p align="right">پس از پایان دوره unbonding، می‌توانید با کلیک روی دکمه <strong>Claim</strong> استیک خود را دریافت کنید.</p>

## پرسش‌های متداول

<h3 align="right">سؤال ۱: از کدام کیف‌پول می‌توان برای Delegate کردن به اعتبارسنج‌ها استفاده کرد؟</h3>

<p align="right">در حال حاضر، <strong>MetaMask</strong> و <strong>TrustWallet</strong> پشتیبانی می‌شوند. همچنین می‌توانید از هر کیف‌پولی که با <strong>WalletConnect</strong> سازگار است استفاده کنید.</p>

***

<h3 align="right">سؤال ۲: آیا می‌توان عملیات delegate / undelegate / redelegate / claim را از طریق Explorer انجام داد؟</h3>

<p align="right">اگر می‌خواهید عملیات‌های <strong>delegate</strong>، <strong>undelegate</strong>، <strong>redelegate</strong> یا <strong>claim</strong> را از طریق <strong>dotOneScan</strong> انجام دهید، باید قرارداد <strong>Staking Hub</strong> را از طریق آدرس زیر فراخوانی کنید:</p>

`https://explorer.dotone.network/txs`

***

### سؤال ۳: Staking Credit یا stDOTO چیست؟

<p align="right">زمانی که DOTO خود را به یک اعتبارسنج delegate می‌کنید، در ازای آن توکن‌های <strong>staking credit</strong> دریافت می‌کنید. این توکن‌ها نشان‌دهنده سهم شما از استیک هستند.</p>

<p align="right">هر اعتبارسنج، credit token اختصاصی خود را صادر می‌کند:</p>

<p align="right"><strong>نام توکن:</strong><br><code>Stake{{validator moniker}}Credit</code></p>

<p align="right"><strong>نماد توکن:</strong><br><code>st{{validator moniker}}</code></p>

<p align="right"><strong>مثال:</strong><br>اگر روی اعتبارسنج <strong>DOTO48Club</strong> استیک کنید، توکن <strong>stDOTO48Club</strong> دریافت می‌کنید.</p>

#### ویژگی‌های اصلی

<p align="right">✅ نشان‌دهنده DOTO استیک‌شده شما به‌همراه پاداش‌های انباشته‌شده است.<br>✅ قابلیت <strong>Auto-compounding</strong> دارد؛ یعنی با کسب پاداش توسط اعتبارسنج، ارزش آن افزایش می‌یابد.<br>✅ پاداش‌ها هنگام undelegate کردن، به‌صورت خودکار توزیع می‌شوند.<br>❌ بین آدرس‌ها قابل انتقال نیست و credit مربوط به هر اعتبارسنج، منحصربه‌فرد است.</p>

***

### سؤال ۴: چطور موجودی استیکینگ خود را محاسبه کنم؟

<p align="right">ارزش staking credit شما بر حسب DOTO با فرمول زیر محاسبه می‌شود:</p>

```
Your DOTO Value = (stCreditAmount × totalPooledDOTO) ÷ totalSupply()
```

<p align="right">که در آن:</p>

<p align="right"><strong>stCreditAmount:</strong><br>موجودی staking credit شما</p>

<p align="right"><strong>totalPooledDOTO:</strong><br>کل DOTO موجود در استخر اعتبارسنج؛ شامل استیک‌ها و پاداش‌ها</p>

<p align="right"><strong>totalSupply():</strong><br>کل عرضه staking credit همان اعتبارسنج</p>

<p align="right"><strong>به عنوان مثال:</strong> </p>

| زمان   | کل DOTO موجود در استخر | کل عرضه | stCredit شما |     ارزش شما |                سود |
| ------ | ---------------------: | ------: | -----------: | -----------: | -----------------: |
| روز ۱  |            10,000 DOTO |  10,000 |          100 |     100 DOTO |                  - |
| روز ۳۰ |            11,000 DOTO |  10,000 |          100 | **110 DOTO** | +10 DOTO معادل 10٪ |

<p align="right">در این مثال، شما در روز اول ۱۰۰ واحد stCredit دارید که معادل ۱۰۰ DOTO است. با گذشت زمان و اضافه شدن پاداش‌ها به استخر اعتبارسنج، مقدار کل DOTO موجود در استخر از 10,000 به 11,000 افزایش می‌یابد؛ در حالی که مقدار stCredit شما همان ۱۰۰ باقی می‌ماند. بنابراین ارزش واقعی دارایی شما به ۱۱۰ DOTO می‌رسد و ۱۰ DOTO سود ایجاد می‌شود.</p>

<p align="right">با کسب پاداش بلاک توسط اعتبارسنج، ارزش staking credit شما به‌صورت خودکار افزایش پیدا می‌کند.</p>

***

<h3 align="right">سؤال ۵: چطور می‌توان total pooled DOTO را به‌صورت برنامه‌نویسی‌شده دریافت کرد؟</h3>

<p align="right">برای دریافت مقدار کل DOTO موجود در استخر یک اعتبارسنج، می‌توانید از نمونه کد JavaScript زیر استفاده کنید:</p>

```
import { ethers } from 'ethers';

const provider = new ethers.JsonRpcProvider('https://rpc.dotone.network');
const OPERATOR = '0x...'; // validator operator address

const hub = new ethers.Contract('0x0000000000000000000000000000000000002002',
  ['function getValidatorCreditContract(address) view returns (address)'], provider);

const creditAddr = await hub.getValidatorCreditContract(OPERATOR);
const credit = new ethers.Contract(creditAddr,
  ['function getPooledDOTO(address) view returns (uint256)'], provider);

const doto = await credit.getPooledDOTO(OPERATOR);
console.log('Pooled DOTO:', ethers.formatEther(doto));
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.dotone.network/documentation/dotone-smartchain-persian/astykyng/rahnmay-karbr.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
