सॉलिडिटी - विशेष चर
विशेष चर विश्व स्तर पर उपलब्ध चर हैं और ब्लॉकचेन के बारे में जानकारी प्रदान करते हैं। निम्नलिखित विशेष चर की सूची है -
अनु क्रमांक। | विशेष चर और विवरण |
---|---|
1 | blockhash(uint blockNumber) returns (bytes32) दिए गए ब्लॉक का हैश - वर्तमान, ब्लॉक को छोड़कर केवल 256 सबसे हाल के लिए काम करता है। |
2 | block.coinbase (address payable) वर्तमान ब्लॉक की खान का पता। |
3 | block.difficulty (uint) वर्तमान ब्लॉक कठिनाई। |
4 | block.gaslimit (uint) करंट ब्लॉक गैसलिमिट। |
5 | block.number (uint) वर्तमान ब्लॉक संख्या। |
6 | block.timestamp यूनिक्स युग के बाद से सेकंड के रूप में वर्तमान ब्लॉक टाइमस्टैम्प। |
7 | gasleft() returns (uint256) शेष गैस। |
8 | msg.data (bytes calldata) पूर्ण कैलता। |
9 | msg.sender (address payable) संदेश भेजने वाला (वर्तमान कॉल)। |
10 | msg.sig (bytes4) कालदत्ता के पहले चार बाइट्स (यानी फ़ंक्शन पहचानकर्ता) |
1 1 | msg.value (uint) संदेश के साथ भेजे गए वी की संख्या। |
12 | now (uint) वर्तमान ब्लॉक टाइमस्टैम्प (ब्लॉक के लिए उपनाम)। |
13 | tx.gasprice (uint) लेन-देन की गैस की कीमत। |
14 | tx.origin (address payable) लेन-देन का प्रेषक (पूर्ण कॉल श्रृंखला)। |
उदाहरण
सॉलिडिटी में प्रेषक का पता प्राप्त करने के लिए एक विशेष चर मैसेंजर का उपयोग देखने के लिए निम्न कोड का प्रयास करें।
pragma solidity ^0.5.0;
contract LedgerBalance {
mapping(address => uint) public balances;
function updateBalance(uint newBalance) public {
balances[msg.sender] = newBalance;
}
}
contract Updater {
function updateBalance() public returns (uint) {
LedgerBalance ledgerBalance = new LedgerBalance();
ledgerBalance.updateBalance(10);
return ledgerBalance.balances(address(this));
}
}
सॉलिडिटी फर्स्ट एप्लीकेशन चैप्टर में दिए गए चरणों का उपयोग करके उपरोक्त प्रोग्राम को चलाएं ।
पहला क्लिक करें updateBalance मान को 10 के रूप में सेट करने के लिए बटन तब लॉग में देखें जो डिकोडेड आउटपुट को दिखाएगा -
उत्पादन
{
"0": "uint256: 10"
}