جلسه هفتم - تست هاردهت و ارتباط با قرارداد هوشمند از طریق فرانت‌اند

من داخل کانترکت فاند می دارم از تتر استفاده میکنم و لایبرری openzeplin رو ایمپورت کردم الان باید لایبرری رو داخل فایل ماک هم قرار بدم؟

اگر میخواید روی لوکال چین هم داشته باشید کانترکت رو, بله باید ماک ش رو اضافه کنید.
فقط یادتون باشه این مثل چین لیست نصب کردنی نیست.
همه ی کانترکت های لازم رو نیازه کامل اضافه کنید.

1 پسندیده

ببینین من کاری که کردم فقط اونو داخل کانترکت فاند می ایمپورت کردم کار دیگه ای نکردم …اگه بیشتر توضیح بدین ممنون میشم یکم با جزییات بیشتر اگه امکانش هست…و یه سوال دیگه اینکه من کانترکت usdt رو داخل فایل fund.js اضافه کردم ولی وقتی دستور deploy رو اجرا میکنم نمشناستش

قرارداد رو چطور ایمپورت کردین؟
کانترکت های chainlink و openzepplin دقت کنین نصب میشن به node-module اضافه میشن بعد با @ ایمورتشون میکنیم از نود ماجول. به این معنی که ما کامل کانترکت هارو داریم.
حالا برای تتر شما باید هر کانترکتی که لازمه داشته باشین. برای وابستگی های کتابخانه openzeppelin هم میتونین یا نصبش کنین یا دستی همون ورژنی که استفاده شده رو بذارین کنار کانترکت.
یعنی کل این فایل اضافه شه که خودش شامل چند قرارداده:

اگر هم دیدین کارش زیاده میتونین رو همون تست نت ادامه بدین.

1 پسندیده

سلام و درود خدمت اساتید خدا قوت.
میخوام بدونم که علاوه بر این تمرین تمرین دیگه ای هم در ادامه دوره خواهیم داشت؟

سلام
نه
تحویل یه تمرین و پروژه اصلی کافیه.

2 پسندیده

ببینین من کلا کارهایی که کردم رو اینجا میفرستم همراه با خطای دیپلوی رو هر دو شبکه هاردهت و تستنت





rror: ERROR processing /home/elyas6126/TEST1/project/deploy/01-deploy-fund-me.js:
Error: missing argument: in Contract constructor (count=1, expectedCount=2, code=MISSING_ARGUMENT, version=contracts/5.7.0)
این اخطاری هست که من موقع دیپلوی رو شبکه تستنت میگیرم و اخطار پایینی واسه زمانی هست که موقع دیپلوی رو هاردهت میگیرم
Error: ERROR processing /home/elyas6126/TEST1/project/deploy/01-deploy-fund-me.js:
Error: expected 2 constructor arguments, got 1

و یه مورد دیگه اینکه من کانترکت usdt که وارد فایل دیپلوی کردم از sepolia explorer برداشتم اوکی هست؟

این خطا مربوط به اسکریپت دپلوی هست.
داره میگه constructor قراردادت دو تا پارامتر میگیره شما یکی ارسال کردی.
تو همون فایل 01-deploy-fund-me.js چک کنین دارین ورودی های سازنده رو درست میفرستین.
از این اطلاعاتی که فرستادین من خیلی متوجه نشدم چی کار کردین.
اطلاعات فایل json نیاز نیست.
کد دپلوی رو شیر کنین و اگر لازمه قراردادهای مربوط رو

1 پسندیده

آره اوکیه
تا وقتی به درستی کامپایل میگیرین

1 پسندیده

واسه کانترکت خود کانترکت فاند می رو بفرستم؟

هنوز همین خطا رو دارین؟ لطفا لینک گیت هاب پروژه تون رو بفرستین.

بله هنوز هست خطاها این لینک گیت هاب هست

خب تو قدم اول یه کاری کنین به نظر میرسه فایل پکیجتون یکم بهم ریخته ست. مثلا دو تا پکیج مختلف هاردهت اتر داری.
فولدر node_module رو حذف کنین بعد محتویات این فایل رو کپی کنین و یه yarn install بزنین که همه پکیج ها دوباره نصب بشه.

و برسیم به خطای اصلی. شما اینجا یه پارامتر آدرس تتر اضافه کردین به قرارداد سازنده تون:


ولی تو فایل دپلوی این تغییر رو اعمال نکردین.
اینجا آدرس تتر روی تست نت یا لوکال چین رو لازمه ارسال کنید.
یه متغیر تعریف و مقداردهی کنید و اینجا ارسالش کنید.

1 پسندیده

ممنونم ازتون اوکی شد

فقط یه سوال دیگه یه مشکلی که من داشتم با این کد این بود که دستور yarn hardhat test برام چیزی بر نمیگردونه جوابی که میده رو میفرستم براتون اگه امکان هست اون رو هم یه چک کنین ممنون میشم (هم موقعی کانترکت تتر رو اضافه نکرده بودم این جوری بود الان هم چیزی برنمیگردونه)

سلام اگه کد تست رو میفرستادی بهتر می‌شد فهمید مشکل از کجاست

1 پسندیده

گیتهابتون آخرین تغییرات رو داره الان؟
اگر هنوز مشکل دارین، تغییرات لازم رو تو فایل تست بدین. مشابه همون تغییراتی که تو فایل دپلوی هم دادین.
بقیه فانکشن هارو هم اگر تغییر دادین چک کنید.

yarn hardhat clean
رو بزنین
بعد دوباره تست کنید

3 پسندیده

لینک گیتهاب GitHub - ely67/hardhat-fund-me-fcc: for coiniran project

یه مشکلی که من دارم واسه همه پروژه ها این مشکل رو دارم حتی برای پروژه ای که داخل دوره انجام دادین هم همین پیام رو موقع اجرای تست میگیرم