کتاب توسعه DAppهای فولاستک (Full-Stack) با بلاکچین با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
توسعه DAppهای فولاستک با بلاکچین: آینده برنامهنویسی در دستان شما! توسعه DAppهای فولاستک با بلاکچین: دروازهای به دنیای Web3 آیا رویای ساختن برنامههایی را در سر دارید که امن، شفاف و غیرمتمرکز باشند...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره توسعه DAppهای فولاستک (Full-Stack) با بلاکچین
موضوع کلی: برنامه نویسی
موضوع میانی: بلاکچین و قراردادهای هوشمند
📋 سرفصلهای دوره
- 1. مقدمهای بر دوره و نقشه راه
- 2. مفاهیم پایه: سیستمهای متمرکز، غیرمتمرکز و توزیعشده
- 3. تاریخچه و مفهوم بلاکچین
- 4. نحوه کار بلاکچین: بلاکها، زنجیرهها و هشینگ
- 5. مبانی رمزنگاری: کلید عمومی، کلید خصوصی و امضای دیجیتال
- 6. سازوکارهای اجماع: اثبات کار (Proof of Work) در مقابل اثبات سهام (Proof of Stake)
- 7. قرارداد هوشمند (Smart Contract) چیست؟
- 8. برنامه غیرمتمرکز (DApp) چیست؟
- 9. معماری و اجزای یک DApp فولاستک
- 10. آشنایی با اتریوم: کامپیوتر جهانی
- 11. حسابهای اتریوم: حسابهای خارجی (EOA) و حسابهای قراردادی
- 12. تراکنشها در اتریوم و چرخه حیات آنها
- 13. مفهوم گس (Gas)، قیمت گس و محدودیت گس
- 14. آشنایی با ماشین مجازی اتریوم (EVM)
- 15. وضعیت (State) در بلاکچین اتریوم
- 16. اتر (ETH) به عنوان ارز دیجیتال بومی اتریوم
- 17. شبکههای اتریوم: شبکه اصلی (Mainnet) و شبکههای آزمایشی (Testnets)
- 18. راهاندازی کیف پول دیجیتال (مانند MetaMask)
- 19. دریافت اتر آزمایشی از Faucetها
- 20. کار با مرورگرهای بلاکچین (مانند Etherscan)
- 21. مقدمهای بر زبان برنامه نویسی سالیدیتی (Solidity)
- 22. راهاندازی محیط توسعه آنلاین Remix IDE
- 23. ساختار یک قرارداد هوشمند در سالیدیتی
- 24. دستور Pragma، وارد کردن فایلها و کامنتگذاری
- 25. انواع دادهها و متغیرها در سالیدیتی (Value Types)
- 26. آدرسها (Address) و انواع آن
- 27. آرایههای بایتی با اندازه ثابت و متغیر (Bytes و String)
- 28. نگاشتها (Mappings)
- 29. ساختارها (Structs)
- 30. شمارندهها (Enums)
- 31. توابع و انواع رؤیتپذیری (public, private, internal, external)
- 32. اصلاحکنندههای تابع (Function Modifiers)
- 33. متغیرها و توابع سراسری (Global Variables)
- 34. ساختارهای کنترلی: if/else, for, while
- 35. مدیریت خطا: require, assert, revert
- 36. رویدادها (Events) و لاگگیری در بلاکچین
- 37. تابع سازنده (Constructor)
- 38. ارثبری (Inheritance) در قراردادها
- 39. قراردادهای انتزاعی (Abstract Contracts) و رابطها (Interfaces)
- 40. کتابخانهها (Libraries) در سالیدیتی
- 41. توابع Payable و ارسال و دریافت اتر
- 42. توابع خاص: fallback و receive
- 43. ایجاد و تعامل با دیگر قراردادها
- 44. مکانهای ذخیرهسازی داده: Storage, Memory, Calldata
- 45. مقدمهای بر استانداردهای توکن ERC
- 46. استاندارد توکن ERC-20: معرفی و رابط کاربری
- 47. پیادهسازی یک توکن ساده ERC-20
- 48. استاندارد توکن غیرمثلی (NFT) ERC-721: معرفی و رابط کاربری
- 49. پیادهسازی یک قرارداد ساده NFT مبتنی بر ERC-721
- 50. آشنایی با استاندارد چندتوکنی ERC-1155
- 51. مقدمهای بر ابزارهای توسعه محلی: Node.js و npm/yarn
- 52. آشنایی با فریمورک Hardhat
- 53. راهاندازی یک پروژه جدید با Hardhat
- 54. کامپایل کردن قراردادهای هوشمند با Hardhat
- 55. نوشتن و اجرای تستهای خودکار برای قراردادها
- 56. استفاده از شبکه محلی Hardhat برای توسعه و تست
- 57. نوشتن اسکریپتهای استقرار (Deployment) با Hardhat
- 58. مدیریت پیکربندی برای شبکههای مختلف
- 59. تعامل با قراردادهای مستقر شده از طریق کنسول Hardhat
- 60. آشنایی با فریمورک Truffle به عنوان جایگزین
- 61. امنیت قراردادهای هوشمند: اهمیت و رویکردها
- 62. حمله بازورود (Re-entrancy) و روشهای مقابله
- 63. الگوی طراحی Checks-Effects-Interactions
- 64. آسیبپذیری سرریز و زیرریز عدد صحیح (Integer Overflow/Underflow)
- 65. استفاده از کتابخانه SafeMath یا نسخههای جدید سالیدیتی
- 66. مدیریت دسترسی و الگوی مالکیت (Ownable)
- 67. حملات پیشدوی (Front-running)
- 68. حملات انکار سرویس (Denial of Service)
- 69. وابستگی به زمان (Timestamp) و هش بلاک (Blockhash)
- 70. استفاده از ابزارهای تحلیل استاتیک امنیت (مانند Slither)
- 71. بهترین شیوهها برای حسابرسی (Audit) قراردادهای هوشمند
- 72. مقدمهای بر توسعه فرانتاند برای DAppها
- 73. آشنایی با کتابخانه Ethers.js (یا Web3.js)
- 74. اتصال DApp به کیف پول کاربر (مانند MetaMask)
- 75. خواندن دادهها از بلاکچین (Provider)
- 76. فراخوانی توابع فقط-خواندنی (Read-only) از قرارداد
- 77. ارسال تراکنش به بلاکچین (Signer)
- 78. فراخوانی توابع تغییردهنده وضعیت (State-changing)
- 79. مدیریت تأیید تراکنشها و خطاها
- 80. گوش دادن به رویدادهای (Events) قرارداد هوشمند
- 81. تعامل با توکنهای ERC-20 از طریق فرانتاند
- 82. تعامل با NFTها (مینت کردن و نمایش) از طریق فرانتاند
- 83. نمایش آدرس کیف پول و موجودی کاربر
- 84. مدیریت تغییر شبکه توسط کاربر در DApp
- 85. کار با ABI قراردادها در فرانتاند
- 86. مقدمهای بر قراردادهای قابل ارتقا (Upgradable Contracts)
- 87. الگوهای پراکسی (Proxy Patterns)
- 88. استفاده از کتابخانه OpenZeppelin برای توسعه امن
- 89. اوراکلها (Oracles) و مشکل اوراکل
- 90. استفاده از Chainlink برای دریافت دادههای دنیای واقعی
- 91. ذخیرهسازی غیرمتمرکز: آشنایی با IPFS
- 92. ذخیره متادیتا (Metadata) برای NFTها در IPFS
- 93. راهکارهای مقیاسپذیری لایه دو (Layer 2)
- 94. آشنایی با The Graph برای ایندکس کردن دادههای بلاکچین
- 95. تکنیکهای بهینهسازی مصرف گس (Gas Optimization)
- 96. برنامهریزی پروژه نهایی: ساخت یک DApp کامل
- 97. توسعه قرارداد هوشمند پروژه نهایی
- 98. توسعه فرانتاند پروژه نهایی
- 99. یکپارچهسازی، تست و دیباگ DApp فولاستک
- 100. استقرار قرارداد در یک شبکه آزمایشی
تگها:
Blockchain development
dApp Development
Ethereum
Full Stack Development
JavaScript
Node.js
React
Solidity
Web3
برنامه نویسی
بلاکچین
توسعه DApp
دی اپ
قرارداد هوشمند
کدنویسی
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.