جلسه دهم (اسلاید‌ها و بقیه منابع)

جلسه دهم

در جلسه دهم دوره آموزشی برنامه نویسی قرارداد هوشمند در ابتدا نحوه نوشتن تست برای قراردادها به زبان های سالیدیتی و جاوا اسکریپت آموزش داده می شود. در ادامه چند روش برای بهتر نوشتن قرارداد ها شرح داده می شود. سپس نکاتی برای افزایش امنیت و بهینه کردن هزینه gas در قراردادهای هوشمند مطرح شده؛ و در انتها چک لیستی از نکات ایمنی قبل از دیپلوی قرارداد، معرفی می شود.

Youtube

منابع مطالعه بیشتر:

  1. لیستی از حملات و نمونه‌ کدهای مشکل دار
  2. نکات بهینه سازی gas در قراردادهای هوشمند
  3. الگوهای طراحی قراردادهای هوشمند
  4. آشنایی با حمله Tx.Origin در سالیدیتی

وب سایت های آموزشی

  1. Capture the Ether
    یک وب سایت جهت آموزش مفاهیم و نکات مربوط به امنیت قراداد های هوشمند از طریق انجام چالش های عملی.
  2. Ethernaut
    یادگیری تعاملی نکات امنیتی قراردادهای هوشمند و آشنایی با آسیب پذیری های شناخته شده از طریق انجام بازی و تلاش برای هک کردن قرارداد های مختلف.
7 پسندیده

لینکی که برای لیست کامل ابزارهای امنیتی سایت consensys گذاشته شده منقضی شده بود. لینک جدید این است:

1 پسندیده

سلام
من این جلسه رو دیدم و متاسفانه متوجه نحوه نوشتن تست ها نشدم. می خواستم ببینم منبعی هست که از پایه این موضوع رو هم برای تست های سالیدیتی و هم جاوا اسکریپت اموزش بده؟
خیلی ممنون

از لینک هایی که پایین توضیحات هر اسلاید هست می تونید استفاده کنید. ولی برای اینکه با جزئیات کدها آشنا بشین به صورت پایه ای، با زبان جاوا اسکریپت می بایست آشنایی داشته باشین.

1 پسندیده

باسلام
یک مشکلی داشتم من که مربوط به این جلسه هم نمی شه البته.
من دقیق متوجه event, emit نشدم چنتا هم مطلب در موردشون خوندم ولی برام جا نیافتاده مثلا جه موقع باید باشن چه موقع نباشن اصلا چیکار می کنن و …
مرسی

آیا میشه توابع internal کانترکتی رو توسط یک کانترکت دیگه ای کال کرد ؟

اگر ارث بری نکرده باشه، نمی شه کال کرد

می دونم با ارث بری آیا می شه ؟ چون یه تناقض ایجاد میشه حالا مثالشو پیدا کردم میفرستم .

بله. توابع internal می شود

برای کال کردن چطور ؟ من یجا خوندم که میشه ولی یه مورد زی رو امتحان کردم نشد …


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

ولی در نهایت ارور زیر رو نمی دونم برای چی میده

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

سلام و وقت بخیر . سوالی داشتم ممنون میشم کمکم کنید . نحوه validation contract به چه شکل هست؟ بهتر توضیح بدم ما یک قرارداد نوشتیم میخواهیم اعتبار سنچیش کنیم چه کاری باید انجام بدیم؟ آیا فقط باید از قسمت اعتبار سنجی سایت etherscan استفاده کنیم؟

اگر منبعی برای مطالعه در این زمینه هم هست ممنون میشم اطلاع بدید .