</>مدرسه زیب‌موجیاد بگیر، تمرین کن، بساز
مدرسهSolidityدرس 14
درس 14 از 21 · ۴۰ دقیقه

Interface و قرارداد بیرونی

یک مسئله واقعی را با «Interface و قرارداد بیرونی» حل می‌کنیم و نتیجه را همان لحظه می‌بینیم.

۰امتیاز شما
نقشه این درس

بعد از این درس چه کاری می‌توانی انجام بدهی؟

  • interface فقط signature را تعریف و call بیرونی ممکن است revert یا مقدار غیرمنتظره بدهد.
  • کد را اجرا و نتیجه را پیش‌بینی کنی
  • یک تغییر کوچک بدهی و اثرش را توضیح بدهی
  • خطای واقعی درس را بخوانی و برطرف کنی
نکته مهم برای شروع Solidity

اگر برنامه اجرا نشد، از آخرین خط پیام خطا شروع کن؛ نام فایل و شماره خط معمولاً نزدیک‌ترین سرنخ‌اند.

چرا مهم است؟ interface فقط signature را تعریف و call بیرونی ممکن است revert یا مقدار غیرمنتظره بدهد.

اولین تمرین تو: SafeERC20 را برای tokenهای بدون bool بررسی کن. قبل از اجرا، خروجی تازه را در یک جمله بنویس.

توضیح ساده و قدم‌به‌قدم

از یک مثال کوچک شروع کن

interface فقط signature را تعریف و call بیرونی ممکن است revert یا مقدار غیرمنتظره بدهد. کد زیر را در فایل «Contract.sol» خودت تایپ و اجرا کن. بعد خروجی را با انتظار درس مقایسه کن.

1

۱. نمونه را اجرا کن

پیش از اجرا خروجی را حدس بزن و سپس تفاوت را یادداشت کن.

2

۲. کد را تغییر بده

SafeERC20 را برای tokenهای بدون bool بررسی کن.

3

۳. خطا را عمداً بساز

اعتماد به هر token address و return غیرstandard می‌تواند accounting را بشکند. متن خطا و شماره خط را بخوان، علت را پیدا کن و فقط همان بخش را اصلاح کن.

نکته مهم

اگر برنامه اجرا نشد، از آخرین خط پیام خطا شروع کن؛ نام فایل و شماره خط معمولاً نزدیک‌ترین سرنخ‌اند.

مفهوم‌های اصلی

سه قطعه‌ای که باید بفهمی

Interface و قرارداد بیرونی

interface فقط signature را تعریف و call بیرونی ممکن است revert یا مقدار غیرمنتظره بدهد.

نتیجه قابل مشاهده

token سازگار در موفقیت value را به قرارداد منتقل می‌کند.

خطایی که باید بشناسی

اعتماد به هر token address و return غیرstandard می‌تواند accounting را بشکند.

سناریوی واقعی

escrow باید token استاندارد را بدون دانستن پیاده‌سازی صدا بزند.

فرض کن escrow باید token استاندارد را بدون دانستن پیاده‌سازی صدا بزند. فعلاً قرار نیست کل برنامه را بسازیم؛ فقط همین نیاز را با چند خط کد حل می‌کنیم تا معلوم باشد هر خط چه کاری انجام می‌دهد.

کارگاه تعاملی

بررسی ساختار تمرین

این صفحه کامپایلر کامل Solidity نیست؛ ساختار تمرین را صادقانه بررسی می‌کند و خروجی مورد انتظار را نشان می‌دهد. برای اجرای کامل به محیط رسمی همان زبان نیاز است.

Contract.sol
خروجیآماده
یک بخش را تغییر بده و دکمه بررسی را بزن.
بعد از هر تغییر، نتیجه را دوباره بررسی کن.
تمرین هدایت‌شده

SafeERC20 را برای tokenهای بدون bool بررسی کن. قبل از اجرا، خروجی تازه را در یک جمله بنویس.

دام‌های رایج

این سه اشتباه را انجام نده

1

اعتماد به هر token address و return غیرstandard می‌تواند accounting را بشکند.

2

کپی‌کردن کد بدون اجرای مرحله‌به‌مرحله

3

تغییر چند قسمت هم‌زمان و گم‌شدن علت نتیجه

سنجش چندمرحله‌ای

با 5 سؤال مطمئن شو که مفهوم را گرفته‌ای

سؤال 1 از 5

خروجی درست این نمونه چیست؟

سؤال 2 از 5

چرا پیش از اجرا نتیجه را حدس می‌زنیم؟

سؤال 3 از 5

سرنخ خطای این درس چیست؟

سؤال 4 از 5

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

سؤال 5 از 5

چه وقت آماده درس بعدی هستی؟

پایان درس 14

فهمیدی، تغییر دادی، نتیجه را توضیح دادی؟

فقط در این صورت درس را کامل کن و سراغ مرحله بعد برو.