Solidity
از اولین قدم تا محصول واقعی
Solidity را با ساخت Escrow امن یاد بگیر؛ از type و payable تا access control، CEI، reentrancy، Foundry، fuzz، invariant و deployment.
این پروژه را در 21 قدم کوتاه میسازی. هر درس فقط یک موضوع تازه دارد و با نمونه قابل دیدن تمام میشود.
21 قدم کوتاه و مرتب
هر درس فقط یک مفهوم تازه دارد: اول خیلی ساده میخوانی، بعد مثال میبینی، کد را تغییر میدهی و با آزمون کوتاه مطمئن میشوی.
Remix و اولین قرارداد Solidity
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
نوعها و state variable
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
Ether units و payable
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
Function و visibility
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
Validation با custom error
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
Enum برای چرخه وضعیت
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
Struct و mapping
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
Array و calldata
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
Event و log
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
Access control و modifier
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
ارسال Ether و CEI
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
Reentrancy guard و pull payment
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
Inheritance و library
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
Interface و قرارداد بیرونی
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
Storage، memory و calldata
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
Gas و اندازه storage
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
تست با Foundry
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
Fuzz و invariant
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
Deploy و verify روی testnet
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
ممیزی و عملیات امن
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
پروژه؛ قرارداد Escrow امن
همه آموختهها را به یک پروژه کامل و قابل ارائه تبدیل کن.
قرارداد Escrow با state machine، pull payment و آزمون امنیتی
این پروژه یک نمونه تزئینی نیست. مدل داده، قوانین، حالت خطا، آزمون و مسیر انتشار را قدمبهقدم کامل میکنی.
- تعریف مسئله و کاربر واقعی
- ساخت نسخه کوچک اما انتهابهانتها
- آزمون مسیر موفق، مرزی و خطا
- آمادهسازی خروجی برای ارائه و بازخورد
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;
contract Greeting {
string public message = unicode"سلام بلاکچین";
}