کتاب آشنایی با استاندارد ERC-20: ساخت توکنهای قابل تعویض با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
دوره جامع آشنایی با استاندارد ERC-20: ساخت توکنهای قابل تعویض آینده مالی خود را کدنویسی کنید: دوره جامع ساخت توکنهای ERC-20 در بلاکچین اتریوم معرفی دوره: از ایده تا راهاندازی اولین توکن شما به دنیا...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره آشنایی با استاندارد ERC-20: ساخت توکنهای قابل تعویض
موضوع کلی: برنامه نویسی
موضوع میانی: بلاکچین و قراردادهای هوشمند
📋 سرفصلهای دوره
- 1. مقدمهای بر بلاکچین: چرا توکنها اهمیت دارند؟
- 2. مفاهیم اصلی بلاکچین: دفتر کل توزیع شده و عدم تمرکز
- 3. رمزنگاری و هشینگ در بلاکچین
- 4. اجماع و انواع مکانیسمهای آن
- 5. کاربردهای بلاکچین فراتر از ارز دیجیتال
- 6. آشنایی با اتریوم: پلتفرم قرارداد هوشمند
- 7. اتریوم ۱.۰ (PoW) در مقابل اتریوم ۲.۰ (PoS)
- 8. مفهوم حسابها در اتریوم: EOA و Contract Accounts
- 9. اتر (ETH) و گس (Gas) چیست؟
- 10. ماشین مجازی اتریوم (EVM)
- 11. تراکنشها در اتریوم
- 12. بلاکها و ساختار بلاکچین اتریوم
- 13. کیف پولهای اتریوم و مدیریت کلید خصوصی
- 14. شبکههای اتریوم: Mainnet, Testnets (Sepolia, Goerli, etc.)
- 15. مرورگرهای بلاکچین (Block Explorers) مانند Etherscan
- 16. قراردادهای هوشمند: منطق برنامه پذیر روی بلاکچین
- 17. معماری و چرخه حیات قراردادهای هوشمند
- 18. زبان برنامه نویسی سالیدیتی (Solidity)
- 19. انواع دادهها در سالیدیتی
- 20. توابع و تغییردهندهها (Modifiers) در سالیدیتی
- 21. رویدادها (Events) در قراردادهای هوشمند
- 22. ساختار کلی یک قرارداد سالیدیتی
- 23. آشنایی با کامپایلر سالیدیتی
- 24. ذخیره سازی دادهها در قراردادهای هوشمند (Storage, Memory, Calldata)
- 25. ارث بری و کتابخانهها در سالیدیتی
- 26. توکنهای بلاکچینی: مفاهیم اساسی
- 27. توکنهای قابل تعویض (Fungible) در مقابل غیرقابل تعویض (Non-Fungible)
- 28. کاربردهای توکنهای قابل تعویض: ارزها، سهام، امتیازات
- 29. ارزشگذاری و توکنومیکس (Tokenomics) پایه
- 30. انواع استاندارد توکنها در اتریوم
- 31. تاریخچه و هدف استاندارد ERC-20
- 32. تعریف ERC-20: رابط برنامه نویسی توکنهای قابل تعویض
- 33. حداقل توابع مورد نیاز ERC-20
- 34. تابع `name()` و `symbol()` برای شناسایی توکن
- 35. تابع `decimals()` برای دقت توکن
- 36. تابع `totalSupply()` برای موجودی کل
- 37. تابع `balanceOf(address account)` برای موجودی یک آدرس
- 38. تابع `transfer(address recipient, uint256 amount)` برای انتقال مستقیم
- 39. تابع `approve(address spender, uint256 amount)` برای مجوز خرج
- 40. تابع `allowance(address owner, address spender)` برای بررسی مجوز
- 41. تابع `transferFrom(address sender, address recipient, uint256 amount)` برای انتقال با مجوز
- 42. رویداد `Transfer(address from, address to, uint256 value)`
- 43. رویداد `Approval(address owner, address spender, uint256 value)`
- 44. اهمیت و لزوم پیادهسازی دقیق رویدادها
- 45. بررسی یک نمونه قرارداد ERC-20 استاندارد
- 46. آمادهسازی محیط توسعه سالیدیتی (Remix IDE)
- 47. ایجاد اولین پروژه سالیدیتی
- 48. تعریف متغیرهای حالت (State Variables) برای ERC-20
- 49. ساختار `mapping` برای نگهداری موجودیها (`balances`)
- 50. ساختار `mapping` برای نگهداری مجوزها (`allowances`)
- 51. پیادهسازی سازنده (Constructor) و تخصیص موجودی اولیه
- 52. پیادهسازی تابع `totalSupply`
- 53. پیادهسازی تابع `balanceOf`
- 54. پیادهسازی تابع `transfer` با بررسی شرایط
- 55. پیادهسازی تابع `approve` و صدور رویداد `Approval`
- 56. پیادهسازی تابع `allowance`
- 57. پیادهسازی تابع `transferFrom` با بررسی مجوز
- 58. مدیریت خطاها و بازگردانی تراکنشها (`require`, `revert`)
- 59. بهینهسازی گس در قراردادهای ERC-20
- 60. آشنایی با OpenZeppelin Contracts برای ERC-20
- 61. معرفی ابزارهای توسعه بلاکچین (Hardhat, Truffle, Foundry)
- 62. نصب Node.js و npm
- 63. راهاندازی پروژه Hardhat
- 64. پیکربندی Hardhat برای شبکههای مختلف
- 65. معرفی VS Code و افزونههای مفید برای Solidity
- 66. طراحی یک توکن سفارشی با ERC-20
- 67. استفاده از کتابخانه OpenZeppelin برای پیادهسازی ERC-20
- 68. گام به گام: ایجاد فایل قرارداد `MyToken.sol`
- 69. پیادهسازی ERC-20 با استفاده از `ERC20.sol` از OpenZeppelin
- 70. افزودن منطق سفارشی به قرارداد ERC-20 (مثلا Mintable)
- 71. قابلیت Pause (توقف) در قراردادهای توکن
- 72. قابلیت Burn (سوزاندن) توکنها
- 73. قابلیت Blacklist (لیست سیاه) برای آدرسها
- 74. مدیریت نقشها (Role-based access control) در قرارداد
- 75. اضافه کردن قابلیتهای مدیریتی (Admin functions)
- 76. اهمیت تستنویسی در قراردادهای هوشمند
- 77. فریمورکهای تست: Waffle, Chai, Mocha
- 78. نوشتن تست برای تابع `totalSupply`
- 79. نوشتن تست برای تابع `balanceOf`
- 80. نوشتن تست برای تابع `transfer` (حالت موفق و ناموفق)
- 81. نوشتن تست برای تابع `approve`
- 82. نوشتن تست برای تابع `allowance`
- 83. نوشتن تست برای تابع `transferFrom` (حالت موفق و ناموفق)
- 84. تست رویدادهای `Transfer` و `Approval`
- 85. تست سناریوهای مرزی و شرایط خطا
- 86. کامپایل قرارداد ERC-20 با Hardhat
- 87. اسکریپتنویسی برای استقرار قرارداد
- 88. استقرار توکن روی شبکه تست (Testnet)
- 89. تأیید (Verification) قرارداد در Etherscan
- 90. تعامل با قرارداد مستقر شده از طریق Etherscan
- 91. تعامل با قرارداد از طریق اسکریپت Hardhat (ethers.js)
- 92. استفاده از Web3.js برای تعامل با قرارداد
- 93. اتصال به کیف پول (MetaMask) از طریق DApp
- 94. ساخت یک رابط کاربری ساده برای توکن ERC-20
- 95. استقرار قرارداد روی شبکه اصلی (Mainnet) و ملاحظات آن
- 96. تهدیدات امنیتی رایج در قراردادهای هوشمند (Reentrancy, Integer Overflow/Underflow)
- 97. آسیبپذیریهای خاص ERC-20 (Approval race condition)
- 98. استفاده از حسابرسیهای امنیتی (Audits)
- 99. طراحی قراردادهای هوشمند امن و مقاوم
- 100. اصول ارتقاء پذیری (Upgradeability) قراردادهای توکن
تگها:
ERC-20
ERC20 Token
Ethereum
Smart Contract
آموزش ERC-20
آموزش بلاکچین
آموزش قرارداد هوشمند
استاندارد ERC-20
برنامه نویسی
برنامه نویسی بلاکچین
بلاکچین
توکن ERC-20
توکن قابل تعویض
ساخت توکن
قرارداد هوشمند
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.