جلسه چهارم - کلاینت اتریوم - برنامه نویسی مقدماتی

در ابتدای جلسه چهارم همراه با سینا محمودی به معرفی کلاینت اتریوم می پردازیم.ابتدا وجه تمایز پروتکل و پیاده سازی را توضیح میدهیم. سپس در زمینه معماری کلاینتها صحبت می کنیم. انواع همگام سازی و مراحل همگام سازی یک کلاینت جدید با سایر نودهای شبکه و بلاک چین را مرحله به مرحله به طور کامل بررسی می کنیم، در ادامه میبینم که پس از همگام سازی چه اتفاقاتی رخ میدهد.

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

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

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

youtube

جهت دانلود اسلایدهای این جلسه از لینک زیر استفاده کنید:
جلسه چهارم-کامل.pdf (4.6 مگابایت)

مهمان این جلسه:
سینا محمودی با چهار سال سابقه کار در Ethereum Foundation در توسعه لایه یک اتریوم مشغول به کار بوده است و در حال حاضر یکی از maintainer های geth است.

برای دنبال کردن محمد میتوانید صفحه توییتر محمد را دنبال کنید:
https://twitter.com/sina_mahmoodi

16 پسندیده

سلام فایل دانلود اشکالاتی دارد
صفحه 3 و 4 تکرار شده
لینکها حالت هایپر لینک ندارند
لطفا اصلاح فرمایید
ممنون

1 پسندیده

ممنون بابت وقتی که برای تهیه اموزش میگذارید.
2 تا خواهش داشتم: اول مبانی برنامه نویسی رو یکم بیشتر توضیح بدید چون ممکنه برای برنامه نویسا عادی باشه ولی برای افراد عادی یکم سخت درک میشه. دوم در خصوص اجرای کلاینت های اتریوم؛ سینا جان توضیحات دادند و دمو رو هم نشون دادند. حالا ما بخواهیم این کلاینت رو اجرا کنیم(بصورت تستی) چکار باید انجام بدیم؟
دوباره ممنون … کار کم نظیریه که تا حالا ندیده بودم.

1 پسندیده

تشكر از تيم آموزش اين جلسه خانم راهبري و آقايان شايان و سينا ي عزيز توضيحات بسيار عالي و خوب بود چند نكته كه به ذهنم رسيد عرض كنم :
توضيحات تئوري كلاينتهاي اتريوم و مثال اجرا عالي بودند ولي مراحلي كه براي راه اندازي كلاينت با حداقل امكانات ( حجم و منابع سيستم كم) ميشه تجربه كرد براي كاربر ناآشنا با محيط برنامه نويسي را با توجه به احاطه اي كه به كلاينتهاي مختلف داريد بيان بفرماييد.
مرور اوليه خانم سحر بر مقدمه برنامه نويسي ساليديتي خوب بود ولي خيلي سريع بود تقريبا جوري بود كه انگاري موضوع باز نشده بسته شد. توضيحات در مورد اجزاي برنامه نويسي مثل نقش function در برنامه عالي بود فكر كنم اگر چنين توضيحاتي در اين جلسه براي هريك از اجزاي كد ارائه ميشد براي آشنايي با كاركرد هر جزء در كد ساليديتي بسيار عالي ميشد. در واقع استراتژي كدنويسي با ديد بالا به كاركرد هر جزء. در جستجوهاي كانال يوتيوب كوين ايران به وبينار كريپتوزامبي رسيدم كه فقط جلسه اول را داشت و اگر ادامه پيدا ميكرد خيلي خوب ميشد. باز هم تشكر ميكنم كه اين فرصت بينظير را براي هموطنان علاقمند فراهم كرديد.

6 پسندیده

ارادت دوستان برای تمرین شماره ۳ واحد wei چچوری تعریف کنیم .(ببخشید من سواد کدنویسی بلد نیستم)

1 پسندیده

سلام. توصیه می‌کنم این آموزش ۳ بخشی رو دنبال کنید. بهتون کمک می‌کنه کارهای کلی رو با کلاینت geth انجام بدین.
آموزش کار با (Go Ethereum)GETH- بخش اول
البته همونطور که خود مقاله اشاره می‌کنه،‌ شما علاوه بر اجرای geth میبایست یک کلاینت اجماعی هم اجرا کنید که نحوه‌ی اون اینجا آموزش داده نشده.

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

اگر تجربه استفاده از docker رو دارین این کار رو راحت می‌کنه برای اجرای این کلاینت‌ها. در غیر این صورت به سایت کلاینت برای نحوه‌ی نصب روی سیستم‌عامل خودتون مراجعه کنید:

https://lighthouse-book.sigmaprime.io/installation.html

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

10 پسندیده

سلام به همگی، جلسه چهارم یه ذره بنظرم سنگین بود. با اینکه من خودم برنامه نویس هستم ولی سالیدیتی یه ذره گیج میکنه آدمو. کاش سینا جان خودش یکبار دیگه بتونه چندتا کنتراکت متفاوت بنویسه و روشون توضیح بده.

1 پسندیده

به نظرم نميخواد واحد wei را تعريف كنيد. توابع مربوطه همه بر حسب wei هست. براي تبديل به اتر هم كه 10 به توان 18 wei يك اتر است.

سلام به همگی یک سوال برای پیش اومده . داخل سایت ethernode تعداد نودهای که کلاینت ران کردند حدود 6-7 هزار تا است در حالی که حدود 800 هزار ولیدیتور داریم ایا این به خاطر این است که خیلی از ولیدیتورها از روش stack as service استفاده می کنند ؟

1 پسندیده

سلام. سوال خوبیه. دقیقا همینطور که گفتی تعداد نودها ارتباط مستقیم با تعداد ولیدیتورها نداره. برای هر ولیدیتور حداقل یک نود نیاز هست ولی هر نود می‌تونه ۱۰ها یا ۱۰۰ها ولیدیتور رو سرویس بده. هرچند که شاید استفاده اون حجم از سرمایه روی یک سرور خیلی از نظر امنیتی ایده خوبی نباشه. به این مطلب هم برخوردم راجع به این موضوع که چقدر افضایش تعداد ولیدیتور روی نود منابع بیشتری میگیره:‌Exploring Eth2: Cost of Adding Validators | Symphonious
شایان در این مورد بیشتر اطلاعات باید داشته باشه.

4 پسندیده

درسته٫ شما می تونید چندین ولیدتور با استفاده از هر نود داشته باشین. خیلی از شرکت‌های staking-as-a-service برای کاهش هزینه سعی می کنند تعداد کمتری فول نود داشته باشن چون روی Cloud Services برای اجرا کردن فول نود به هجم بالایی SSD نیاز هست که هزینه‌ زیادی داره.

3 پسندیده

اوکی مرسی ولی
من هم 10 به توان منفی 18 و مثبت 18 تست میکردم کدم ارور داد این تبدیل واحد کدش دارید برام بفرستید تو تلگرام

ممنون. در خصوص نوشتن مقاله هم اگر در حد ترجمه نیاز داشته باشی میتونم کمک کنم و البته بیشتر یاد بگیرم.

1 پسندیده

سلام و درود رفقا. این جلسه کوییز نداره؟
و اینکه من یک هفته‌س که شروع به دیدن دوره کردم… آیا ارسال کوییز ها در این زمان توفیری داره؟
ممنونم.