این نسخه آزمایشی است.

Mainnetجتون‌های آزمایشی
TON Blockchain

Escrow Smart Contract

مشتری و ارائه‌دهنده پول را در قرارداد هوشمند واریز می‌کنند. وقتی کار انجام شد و هر دو طرف موافق بودند، پرداخت به ارائه‌دهنده می‌رسد.

چگونه کار می‌کند

پنج گام تا قرارداد

با یک راهنمای ساده، قرارداد هوشمند بسازید.

  1. گام 1نقش در قراردادنقش خود را در قرارداد انتخاب کنید. قرارداد فقط دو نقش دارد — مشتری و ارائه‌دهنده. داور شخص ثالثی وجود ندارد.
    9:41LTE

    نقش در قرارداد

    نقش در قرارداد

    مشتری سفارش‌دهندهٔ خدمت یا کالاست. 100٪ را پیش‌پرداخت می‌کند. به‌علاوه در صورت تمایل، سپردهٔ قابل‌بازگشت تا 30%.

    ارائه‌دهنده تأمین‌کنندهٔ خدمت یا کالاست. سپردهٔ قابل‌بازگشتی از مبلغ قرارداد واریز می‌کند (به‌طور پیش‌فرض 30%).

  2. گام 2انتخاب ارزارز قرارداد را انتخاب کنید. GRAM — ارز بومی TON — برای معاملات سریع و کوچک مناسب است، چون نسبتاً پرنوسان است. USDT ارز پایدارتری برای معاملات بزرگ و بلندمدت است.
    9:41LTE

    انتخاب ارز

    ارز قرارداد

    GRAM — ایجاد سریع‌تر. می‌توانید قرارداد را ایجاد کنید و مبلغ را بی‌درنگ در یک تراکنش واریز کنید.

    USDT — ایجاد در دو مرحله. ابتدا قرارداد ایجاد می‌شود (کیف پول شما باید ارز بومی GRAM داشته باشد یا از تراکنش‌های بدون گس پشتیبانی کند؛ GRAM ترجیح دارد)، سپس USDT واریز می‌شود.نوسان USDT از GRAM کمتر است.

  3. گام 3مبلغ قراردادمبلغ قرارداد را به ارز انتخاب‌شده وارد کنید. این مبلغ پس از انجام کار به ارائه‌دهنده منتقل می‌شود.
    9:41LTE

    مبلغ قرارداد

    GRAM

    مبلغ قرارداد بهای کار است. مشتری آن را واریز می‌کند.

    30%

    از 10٪ تا 90٪. پیش‌فرض: 30%.

    0,4%

    0,4% از مبلغ، اما نه بیشتر از 15 GRAM.

  4. گام 4نشانی‌های کیف پولنشانی‌های کیف پول را جای‌گذاری کنید. بعدها واریز و برداشت پول از طریق همین کیف پول‌ها انجام می‌شود.
    9:41LTE

    نشانی‌های کیف پول

  5. گام 5بررسی قراردادپیش از دیپلوی، اطلاعات واردشدهٔ قرارداد را بررسی کنید.
    9:41LTE

    بررسی قرارداد

    شرایط قرارداد
    ارز
    GRAM
    مبلغ قرارداد
    1 000 GRAM
    سپردهٔ ارائه‌دهنده
    300 GRAM · 30%
    کارمزد سرویس
    4 GRAM · 0,4%

پس از ایجاد

کارت قرارداد

شما مشتری هستید و ارز USDT است. شش تصویر از همان کارتی که در پنل واقعی هست، با همهٔ اقدامات ممکن در هر مرحله.

  1. در انتظار واریز
    1 000 USDT
    قرارداد مورخ 21.09.2026 - EQDe…0001
    مشتری (شما)
    0 / 1 000
    ارائه‌دهنده
    0 / 300

    *به‌علاوهٔ حداکثر 30٪ سپردهٔ قابل‌بازگشت

    USDT

    تازه ایجاد شده

    موجودی‌ها صفر است. می‌توانید مبلغ معامله را، یا یک‌باره همراه با مبلغ اضافی تا 30٪ واریز کنید، یا تا وقتی کسی چیزی واریز نکرده، قرارداد را حذف کنید.

  2. در انتظار واریز
    1 000 USDT
    قرارداد مورخ 21.09.2026 - EQDe…0001
    مشتری (شما)
    1 000 / 1 000
    ارائه‌دهنده
    0 / 300

    *به‌علاوهٔ حداکثر 30٪ سپردهٔ قابل‌بازگشت

    USDT

    مبلغ واریز شد، در انتظاریم

    مبلغ معامله در قرارداد است، اما سپردهٔ ارائه‌دهنده هنوز نیامده. تا وقتی وضعیت «فعال» نشده، می‌توانید پول خود را برداشت کنید. هنوز می‌توانید مبلغ اضافی تا 30٪ را تکمیل کنید.

  3. فعال
    1 000 USDT
    قرارداد مورخ 21.09.2026 - EQDe…0001
    مشتری (شما)
    1 000 / 1 000
    ارائه‌دهنده
    300 / 300
    USDT

    ارائه‌دهنده باید موافقت کند. مبلغ به یک درصد صحیح از مبلغ معامله گرد می‌شود.

    *به‌علاوهٔ حداکثر 30٪ سپردهٔ قابل‌بازگشت

    USDT

    ارائه‌دهنده واریز کرد

    هر دو مبلغ توافق‌شده موجود است — قرارداد فعال است. مبالغ مسدود شده‌اند و برداشت USDT ممکن نیست. می‌توانید کار را بپذیرید، سهم دیگری پیشنهاد دهید یا مبلغ اضافی (سپردهٔ اضافی مشتری) واریز کنید.

  4. فعال
    1 000 USDT
    قرارداد مورخ 21.09.2026 - EQDe…0001
    مشتری (شما)
    1 200 / 1 000 + 200 · 20%
    ارائه‌دهنده
    300 / 300
    USDT

    ارائه‌دهنده باید موافقت کند. مبلغ به یک درصد صحیح از مبلغ معامله گرد می‌شود.

    *به‌علاوهٔ حداکثر 30٪ سپردهٔ قابل‌بازگشت

    USDT

    سپردهٔ 20٪ اضافه شد

    +200 USDT بیش از مبلغ معامله وجود دارد. تا سقف 30٪ هنوز 100 USDT جا هست. برداشت همچنان بسته است: قرارداد فعال مبلغ قرارداد به‌علاوهٔ مبلغ اضافی را نگه می‌دارد.

  5. پرداخت پیشنهاد شده 800 USDT
    1 000 USDT
    قرارداد مورخ 21.09.2026 - EQDe…0001
    مشتری (شما)
    1 200 / 1 000 + 200 · 20%
    ارائه‌دهنده
    300 / 300
    USDT

    پیشنهاد فعلی 800 USDT · 80% است. می‌توانید آن را عوض کنید.

    *به‌علاوهٔ حداکثر 30٪ سپردهٔ قابل‌بازگشت

    USDT

    80٪ به ارائه‌دهنده پیشنهاد شد.

    اگر ارائه‌دهنده موافقت کند، 800 USDT دریافت می‌کند. دکمهٔ «پذیرش کار» ناپدید شد؛ فقط اگر 100٪ تعیین کنید دوباره ظاهر می‌شود. پیشنهاد را می‌توان عوض کرد و مبلغ اضافی را افزایش داد.

  6. تکمیل‌شده 800 USDT
    1 000 USDT
    قرارداد مورخ 21.09.2026 - EQDe…0001
    مشتری (شما)
    400
    ارائه‌دهنده
    1 096

    ارائه‌دهنده موافقت کرد

    قرارداد تکمیل شد: 800 USDT به ارائه‌دهنده رسید و 4 USDT حق‌الامتیاز سرویس شد. 400 USDT برای شما مانده که می‌توانید برداشت کنید.

Q&A

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

طرف سوم کجاست؟

وجود ندارد. ارائه‌دهنده سپرده‌اش را به خطر می‌اندازد. به نفع اوست که کار را تا آخر انجام دهد.

سپردهٔ ارائه‌دهنده به‌طور پیش‌فرض 30% مبلغ معامله است. شاید به نظر برسد که او برتری دارد: او 30% را به خطر می‌اندازد و شما 100% را. اما آنچه مهم است درصد نیست، بلکه پول است. آن 30% پول خود اوست و از دست دادنش ممکن است برای او همان‌قدر دردناک باشد که از دست دادن 100% برای شما. هیچ‌کس بی‌دلیل پول خودش را فدا نمی‌کند.

خطر دیگر: مشتری کار را تحویل گرفته و ممکن است پول را ندهد. در این حالت دو راه هست. اول — وقتی کار تقریباً آماده است، پیشنهاد تسویه زودتر بدهید. دوم — از مشتری بخواهید مبلغ اضافی تا 30٪ بیش از مبلغ (سپرده) واریز کند. پس از تکمیل قرارداد، مشتری سپرده‌اش را پس می‌گیرد، پس دلیلی برای بستن معامله (قرارداد) دارد.

چرا باید به شما اعتماد کنم؟

لازم نیست اعتماد کنید. قرارداد هوشمند عمومی است. نشانی قرارداد شما هش داده‌های اولیه و کد است. اگر کد عوض شود، نشانی دیگری خواهد بود.

می‌توان آن را باز کرد و دید (مثلاً در Tonviewer). تنها نکته این است که باید کد را فهمید — مشکل اصلی همین است. اما در عوض، این اثبات 100٪ است. می‌توانید کد را به یک مدل هوش مصنوعی هم بدهید. در ادامه کد قرارداد با ساده‌ترین توضیح ممکن آمده است.

ContractUSDT

این فهرست واردسازی‌هاست: ثابت‌ها و توابع کمکی.

توصیف کوتاه قرارداد.

فهرست اقدامات در دسترس روی قرارداد.

تابع کمکی: قرارداد فعال است یا نه. وقتی همه مبالغ خود را واریز کردند، قرارداد فعال می‌شود — دیگر نمی‌توان همین‌طوری برداشت کرد.

تابع باقی‌مانده. به هر پیام کمی GRAM برای پردازش تراکنش ضمیمه می‌شود. این تابع مازاد را برمی‌گرداند.

نشانی کیف پول جتون را محاسبه می‌کند. این نشانی به نشانی قرارداد بستگی دارد.

اگر انتقال ناموفق باشد — پول برمی‌گردد و قرارداد سوابق را اصلاح می‌کند: چه کسی چقدر دارد.

اگر بدنهٔ پیام خالی باشد — کاری نمی‌کنیم.

در ادامه، تعریف متغیرها.

واریز USDT: انتقال‌ها را می‌پذیرد و ثبت می‌کند که هر کس چقدر USDT دارد.

درصد پرداخت را تغییر می‌دهد. اگر کار فقط نیمه‌تمام است، می‌توان 50٪ پیشنهاد داد. ارائه‌دهنده موافقت کرد — قرارداد اجرا شد. نه — باز هم مذاکره کنید.

اگر ارائه‌دهنده موافقت کند، قرارداد سهم او به‌علاوهٔ سپرده‌اش را به او می‌پردازد و باقی‌مانده به شما می‌رسد. در 0٪ کل معامله لغو می‌شود و همه پولشان را پس می‌گیرند. در این حالت کارمزد ۰٫۴% به قرارداد پرداخت نمی‌شود.

بزرگ‌ترین بخش — بازگشت وجوه را مدیریت می‌کند.

حالت خطا. اگر کیف پول گم شود یا پول خارج از ثبت عبور کرده باشد، یک طرف می‌تواند کنترل را به طرف دیگر بدهد. وضعیت «خارج از ثبت» در واقع ناممکن است، مگر اینکه عمداً انجام شود. اما بگذار باشد. ولی فراموش کردن یا گم کردن کیف پول کاملاً ممکن است.

ErrRefund — برداشت اضطراری جتون‌هایی که بدون اعلان رسیده‌اند و ثبت نشده‌اند. یا وقتی کیف پول گم شده است (دقیق‌تر بگوییم، رمز عبور آن گم شده است).

Burn — نابود کردن قرارداد تا پوستهٔ خالی در شبکه سرگردان نماند. کسی که آن را ایجاد کرده (مشتری یا ارائه‌دهنده) یا ادمین می‌تواند آن را بسوزاند — و فقط وقتی موجودی مشتری و ارائه‌دهنده صفر باشد.

کد منبع تأییدشدهٔ سه قرارداد. هش کد با آنچه روی شبکه است یکی است. هر پیوند منبع را در TON Verifier باز می‌کند.

ContractMinterContractUSDTContractTON