آموزش پروژه محور solidity
دانلود ویدیو
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
// https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.0.0/contracts/token/ERC20/IERC20.sol
interface IERC20 {
function totalSupply() external view returns (uint);
function balanceOf(address account) external view returns (uint);
function transfer(address recipient, uint amount) external returns (bool);
function allowance(address owner, address spender) external view returns (uint);
function transferFrom(
address sender,
address recipient,
uint amount
) external returns (bool);
event Transfer(address indexed from, address indexed to, uint value);
event Approval(address indexed owner, address indexed spender, uint value);
}
زبان برنامهنویسی Solidity یک زبان برنامهنویسی است که برای توسعه قراردادهای هوشمند (smart contracts) در پلتفرم بلاکچین اتریوم (Ethereum) استفاده میشود. Solidity زبانی مبتنی بر JavaScript است که برای تعریف و اجرای قراردادهای هوشمند در بلاکچین اتریوم استفاده میشود. با استفاده از Solidity، میتوانید قراردادهای هوشمند را برنامهریزی کنید که به صورت خودکار بر روی بلاکچین اجرا شوند. این قراردادهای هوشمند معمولاً برای ایجاد و اجرای قوانین و شرایطی که بین طرفین تعاملات بلاکچین باید رعایت شود، استفاده میشوند. Solidity از مفاهیمی مانند متغیرها، توابع، مدیریت حافظه، مدیریت زمان و مدیریت استثناءها پشتیبانی میکند. همچنین، Solidity امکاناتی را برای تعامل با قراردادهای هوشمند دیگر، کالبکها (callbacks)، رویدادها (events) و مدیریت وجوه ارزی (token) نیز فراهم میکند. با استفاده از Solidity، میتوانید قراردادهای هوشمندی را برای مجموعهای از کاربران تعریف کنید که بر اساس شرایط و قوانین معینی، تعاملاتی را با یکدیگر انجام دهند.