
آموزش ساخت توکن ERC20 روی شبکه اتریوم
مقدمه
در دنیای بلاکچین و ارزهای دیجیتال، استاندارد ERC20 یکی از شناختهشدهترین و پرکاربردترین استانداردها برای ساخت توکن روی شبکه اتریوم است. این استاندارد، اساس تعامل توکنها با کیف پولها، صرافیها و دیگر قراردادهای هوشمند را فراهم میکند.
با استفاده از ERC20، میتوانید یک رمزارز شخصیسازیشده بسازید که قابلیت تبادل و استفاده در اکوسیستم اتریوم را داشته باشد.
در این آموزش، گامبهگام و بهصورت پروژه واقعی به شما یاد میدهیم چگونه یک توکن بسازید، آن را روی شبکه تستی اتریوم مستقر کنید، عملکردش را بررسی کنید و در نهایت آماده انتشار روی شبکه اصلی شوید.
- یادگیری عملی با مثال و کد واقعی
- آشنایی با ابزارهای محبوب توسعه در اتریوم
- بهینهسازی و نکات امنیتی
پیشنیازها
قبل از شروع ساخت توکن ERC20، بهتر است برخی مفاهیم و ابزارها را بشناسید:
- آشنایی مقدماتی با اتریوم و زبان Solidity
- نصب Node.js و ابزارهای مدیریت بسته مثل npm یا yarn
- نصب و تنظیم کیف پول Metamask
- آشنایی با محیطهای توسعه قرارداد هوشمند مانند Hardhat یا Remix IDE
- دریافت اتر تستی از فاستها در شبکههای آزمایشی مانند Goerli یا Sepolia
استاندارد ERC20 و کاربرد آن
استاندارد ERC20 مجموعهای از قوانین و توابع مشخص است که توسط بنیاد اتریوم معرفی شده تا همه توکنها بتوانند با یکدیگر و با اپلیکیشنهای موجود سازگار باشند.
توابع و رویدادهای کلیدی:
name()– نام توکنsymbol()– نماد اختصاریdecimals()– تعداد اعشارtotalSupply()– مقدار کل توکنهای ایجاد شدهbalanceOf(address)– موجودی یک آدرسtransfer(to, amount)– انتقال مستقیمapprove(spender, amount)– اجازه خرج به آدرس دیگرtransferFrom(from, to, amount)– انتقال با مجوز قبلیallowance(owner, spender)– مقدار مجاز باقیمانده
رویدادهای مهم:
TransferApproval
آمادهسازی محیط توسعه
1- یک پوشه جدید برای پروژه ایجاد کنید: mkdir mytoken && cd mytoken
2- نصبHardhat:
npm install --save-dev hardhat
3- اجرای تنظیم اولیه Hardhat:
npx hardhat
4- نصب کتابخانه OpenZeppelin:
npm install @openzeppelin/contracts
5- تنظیم شبکه تستی در Metamask
6- دریافت اتر تستی از فاست
نوشتن قرارداد هوشمند ERC20
در این مرحله، با استفاده از کتابخانه معتبر OpenZeppelin، قرارداد را مینویسیم.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
contract MyToken is ERC20 {
constructor(uint256 initialSupply) ERC20("MyToken", "MTK") {
_mint(msg.sender, initialSupply * (10 ** decimals()));
}
}
توضیح کد:
- خط اول مشخصکننده مجوز استفاده از کد (MIT License)
- نسخه کامپایلر Solidity: 0.8.17
- واردکردن قرارداد ERC20 از OpenZeppelin
- سازنده (
constructor) مقدار عرضه اولیه را به آدرس سازنده توکن اختصاص میدهد - تابع
_mintبرای ایجاد توکنهای جدید استفاده شده است
استقرار قرارداد روی شبکه
روش ساده با Remix:
- بازکردن Remix IDE
- ایجاد فایل
MyToken.solو چسباندن کد بالا - انتخاب کامپایلر مناسب و کامپایل پروژه
- انتخاب محیط
Injected Web3و اتصال به Metamask - واردکردن پارامتر عرضه اولیه (مثلاً 1000000)
- کلیک بر روی Deploy و تأیید تراکنش
روش حرفهای با Hardhat:
const hre = require("hardhat");
async function main() {
const MyToken = await hre.ethers.getContractFactory("MyToken");
const token = await MyToken.deploy(1000000);
await token.deployed();
console.log(`MyToken deployed to: ${token.address}`);
}
main().catch((error) => {
console.error(error);
process.exitCode = 1;
});
تست عملکرد توکن
- بررسی موجودی با تابع
balanceOfدر کیف پول - ارسال تراکنش آزمایشی با
transferبه یک آدرس دیگر - تست مجوز با
approveو سپسtransferFrom - مشاهده رویدادهای ثبتشده در تراکنشها با استفاده از Etherscan Testnet
نکات امنیتی و بهینهسازی
- همیشه از کتابخانههای معتبر مثل OpenZeppelin استفادهکنید
- قبل از استقرار روی شبکه اصلی، قرارداد را روی شبکه تستی اجرا و بررسی کنید
- از کدهای غیرضروری و توابع بدون محدودیت دسترسی پرهیز کنید
- برای نسخههای بعدی امکان ارتقاء قرارداد را در نظر بگیرید
انتشار روی شبکه اصلی
- تأمین اتر مورد نیاز برای هزینه گس
- تنظیم شبکه اصلی در Metamask
- استقرار قرارداد روی Mainnet
- ثبت قرارداد در Etherscan برای شفافیت
- ارسال درخواست لیست شدن در کیف پولها و صرافیها
جمعبندی
در این مقاله، صفر تا صد آموزش ساخت توکن ERC20 را بهصورت پروژهمحور یاد گرفتیم. از آمادهسازی ابزارها و پیشنیازها شروع کردیم، استاندارد ERC20 را مرور کردیم، قرارداد هوشمند را نوشتیم، روی شبکه تست مستقر کردیم و عملکردش را آزمایش کردیم.
با رعایت نکات امنیتی و بهینهسازی، اکنون میتوانید توکن خود را با خیال راحت روی شبکه اصلی اتریوم منتشر کنید.
برای مطالعه بیشتر:
- مستندات ERC20
- آموزش رسمی OpenZeppelin
- آموزش Hardhat
- آموزش پروژه محور قرارداد هوشمند سالیدتی اسمارت لرنینگ چین
دعوت به عمل: تجربه ساخت توکن خود را در بخش نظرات وبلاگ به اشتراک بگذارید!
پرسشهای متداول
آیا ساخت توکن ERC20 هزینه دارد؟
روی شبکه تستی خیر، اما روی شبکه اصلی باید هزینه گس پرداخت شود.
آیا میتوانم توکن ساخته شده را بفروشم؟
بله، پس از لیست شدن در یک صرافی یا ایجاد بازار شخصی، میتوانید توکن خود را معامله کنید.
تفاوت ERC20 و ERC721 چیست؟
ERC20 برای توکنهای قابلتعویض (fungible) است، در حالی که ERC721 برای توکنهای غیرقابلتعویض (NFT) استفاده میشود.
برچسب:OpenZeppelin Contracts, آموزش Hardhat, آموزش Remix IDE, آموزش برنامهنویسی بلاکچین, آموزش بلاکچین پروژهمحور, آموزش ساخت توکن ERC20, استاندارد ERC20, استقرار قرارداد در شبکه اتریوم, ایجاد و انتشار توکن, تست توکن در شبکه آزمایشی, دیپلوی قرارداد هوشمند, ساخت رمزارز در اتریوم, قرارداد هوشمند Solidity, کیف پول Metamask



