وظائف solidity 101، نحن دائمًا نسمع الكثير عن أنه من النظر إلى الشيفرة يمكنك تخمين كل وظائف رمز معين، لكن كيف تقرأ هذه الوظائف وماذا تعني؟
لقد أعددت قائمة ببعض الوظائف الشائعة، من إجراءات بسيطة إلى سيناريوهات معقدة، بصفتك مطورًا يمكنك بناء عقودك باستخدام الوظائف المحددة وهذه بعض منها
1. السك (mint):
```solidity
function mint(address to, uint256 amount) public onlyOwner {
_mint(to, amount);
}
```
هذه الوظيفة تنشئ توكنات جديدة وتضيفها إلى رصيد المستلم، مما يزيد فعليًا من العرض الإجمالي.
2. الحرق (burn):
```solidity
function burn(uint256 amount) public {
_burn(msg.sender, amount);
}
```
يسمح للملاك بتدمير كمية محددة من توكناتهم، مما يقلل من العرض الإجمالي.
3. النقل المفوض (approve and transferFrom):
```solidity
function approve(address delegate, uint256 numTokens) public returns (bool) {
allowed[msg.sender][delegate] = numTokens;
return true;
}
function transferFrom(address owner, address buyer, uint256 numTokens) public returns (bool) {
require(numTokens <= balances[owner]);
require(numTokens <= allowed[owner][msg.sender]);
balances[owner] -= numTokens;
allowed[owner][msg.sender] -= numTokens;
balances[buyer] += numTokens;
return true;
}
```
يخول مالكو التوكنات الآخرين لنقل عدد محدد من التوكنات نيابة عنهم.
4. استحقاق التوكنات (vest):
```solidity
function vest(address beneficiary, uint256 amount, uint256 releaseTime) public onlyOwner {
// منطق الاستحقاق هنا
}
```
يقفل التوكنات لمستفيد حتى وقت محدد، مما يضمن عدم إمكانية نقلها حتى ذلك الحين.
5. توزيع الأرباح (distributeDividends):
```solidity
function distributeDividends() public payable {
// منطق توزيع الأرباح هنا
}
```
يوزع الأرباح على حاملي التوكنات، غالبًا بشكل متناسب مع ممتلكاتهم.
#Write2Earn #TrendingTopic
لقد أعددت قائمة ببعض الوظائف الشائعة، من إجراءات بسيطة إلى سيناريوهات معقدة، بصفتك مطورًا يمكنك بناء عقودك باستخدام الوظائف المحددة وهذه بعض منها
1. السك (mint):
```solidity
function mint(address to, uint256 amount) public onlyOwner {
_mint(to, amount);
}
```
هذه الوظيفة تنشئ توكنات جديدة وتضيفها إلى رصيد المستلم، مما يزيد فعليًا من العرض الإجمالي.
2. الحرق (burn):
```solidity
function burn(uint256 amount) public {
_burn(msg.sender, amount);
}
```
يسمح للملاك بتدمير كمية محددة من توكناتهم، مما يقلل من العرض الإجمالي.
3. النقل المفوض (approve and transferFrom):
```solidity
function approve(address delegate, uint256 numTokens) public returns (bool) {
allowed[msg.sender][delegate] = numTokens;
return true;
}
function transferFrom(address owner, address buyer, uint256 numTokens) public returns (bool) {
require(numTokens <= balances[owner]);
require(numTokens <= allowed[owner][msg.sender]);
balances[owner] -= numTokens;
allowed[owner][msg.sender] -= numTokens;
balances[buyer] += numTokens;
return true;
}
```
يخول مالكو التوكنات الآخرين لنقل عدد محدد من التوكنات نيابة عنهم.
4. استحقاق التوكنات (vest):
```solidity
function vest(address beneficiary, uint256 amount, uint256 releaseTime) public onlyOwner {
// منطق الاستحقاق هنا
}
```
يقفل التوكنات لمستفيد حتى وقت محدد، مما يضمن عدم إمكانية نقلها حتى ذلك الحين.
5. توزيع الأرباح (distributeDividends):
```solidity
function distributeDividends() public payable {
// منطق توزيع الأرباح هنا
}
```
يوزع الأرباح على حاملي التوكنات، غالبًا بشكل متناسب مع ممتلكاتهم.
#Write2Earn #TrendingTopic
