سالیدیتی (Solidity) یک زبان برنامهنویسی سطح بالا است که برای نوشتن قراردادهای هوشمند در بلاکچین طراحی شده است، در این آموزش به نحوه ایجاد توکن در سالیدیتی میپردازیم.
این زبان مشابه زبانهای برنامهنویسی سنتی مانند جاوااسکریپت و C++ است و به توسعهدهندگان امکان میدهد تا قراردادهایی که قابلیت اجرا و نظارت خودکار بر تراکنشها و فرآیندهای بلاکچین را دارند، بنویسند. سالیدیتی به طور خاص برای ساخت اپلیکیشنهای غیرمتمرکز (DApps) و مدیریت توکنها یا ارزهای دیجیتال استفاده میشود. از ویژگیهای مهم این زبان میتوان به قابلیتهای امنیتی بالا، اجرای تراکنشهای بدون نیاز به واسطه و پشتیبانی از توابع پیچیده اشاره کرد.
1. نصب محیط توسعه
برای ایجاد توکن در سالیدیتی، به یک محیط کدنویسی مانند Remix نیاز دارید. میتوانید به آدرس Remix بروید و از آن به صورت آنلاین استفاده کنید.
2. کدنویسی توکن
در فایل جدیدی به نام SimpleToken.sol
، کد زیر را وارد کنید:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract SimpleToken {
string public name = “CodityToken”;
string public symbol = “CDT”;
uint8 public decimals = 18;
uint256 public totalSupply;
mapping(address => uint256) public balanceOf;
event Transfer(address indexed from, address indexed to, uint256 value);
constructor(uint256 _initialSupply) {
totalSupply = _initialSupply * (10 ** uint256(decimals));
balanceOf[msg.sender] = totalSupply;
}
function transfer(address _to, uint256 _value) public returns (bool success) {
require(balanceOf[msg.sender] >= _value, “Insufficient balance”);
balanceOf[msg.sender] -= _value;
balanceOf[_to] += _value;
emit Transfer(msg.sender, _to, _value);
return true;
}
}
3. توضیحات کد
- name، symbol و decimals: مشخصات توکن مانند نام، نماد و تعداد ارقام اعشاری.
- totalSupply: مقدار کل توکنهای موجود.
- balanceOf: نگهداری موجودی کاربران.
- transfer: انتقال توکن بین آدرسها.
4. استقرار قرارداد
برای استقرار این قرارداد:
- کد را در Remix کپی کنید.
- گزینه Deploy را انتخاب کنید و مقدار اولیه عرضه توکن (مثلاً 1000) را وارد کنید.
- بعد از زدن Deploy کیف پول براتون باز میشه و باید روی confirm کلیک کنید تا هزینه تراکنش و کم کنه و قرارداد روی شبکه Deoply بشه.
5. نتیجه نهایی
اکنون شما یک توکن ساده و قابل انتقال در شبکه اتریوم دارید. این قرارداد پایه میتواند با افزودن ویژگیهایی مانند قابلیت خرید و فروش یا توکنهای غیرقابل تعویض (NFT) توسعه یابد.