ఈవెంట్లతో స్మార్ట్ కాంట్రాక్ట్ల నుండి డేటాను లాగింగ్ చేయడం
Solidityలో, ఈవెంట్లు అనేవి స్మార్ట్ కాంట్రాక్టులు ప్రేరేపించగల సంకేతాలు. డాప్స్, లేదా Ethereum JSON-RPC APIకి కనెక్ట్ చేయబడిన ఏదైనా, ఈ ఈవెంట్లను వినగలవు మరియు తదనుగుణంగా వ్యవహరించగలవు. ఒక ఈవెంట్ను ఇండెక్స్ కూడా చేయవచ్చు, తద్వారా ఈవెంట్ చరిత్రను తరువాత శోధించవచ్చు.
ఈవెంట్లు
ఈ ఆర్టికల్ రాసే సమయంలో Ethereum బ్లాక్చెయిన్లో అత్యంత సాధారణ ఈవెంట్ Transfer ఈవెంట్, ఇది ఎవరైనా టోకెన్లను బదిలీ చేసినప్పుడు ERC20 టోకెన్ల ద్వారా విడుదల చేయబడుతుంది.
1event Transfer(address indexed from, address indexed to, uint256 value);ఈవెంట్ సిగ్నేచర్ కాంట్రాక్ట్ కోడ్లో డిక్లేర్ చేయబడుతుంది మరియు emit కీవర్డ్తో విడుదల చేయబడుతుంది. ఉదాహరణకు, బదిలీ ఈవెంట్, బదిలీని ఎవరు పంపారు (from), ఎవరికి (to) మరియు ఎన్ని టోకెన్లు బదిలీ చేయబడ్డాయి (value) అనే వివరాలను లాగ్ చేస్తుంది.
మనం మన Counter స్మార్ట్ కాంట్రాక్ట్కు తిరిగి వెళ్లి, ప్రతిసారీ విలువ మారినప్పుడు లాగ్ చేయాలని నిర్ణయించుకుంటే. ఈ కాంట్రాక్ట్ను డిప్లాయ్ చేయడానికి బదులుగా, దానిని విస్తరించి మరో కాంట్రాక్ట్ను నిర్మించడానికి ఆధారంగా ఉపయోగపడేలా ఉద్దేశించారు కాబట్టి: దీనిని అబ్స్ట్రాక్ట్ కాంట్రాక్ట్ అని అంటారు. మన కౌంటర్ ఉదాహరణ విషయంలో, అది ఇలా కనిపిస్తుంది:
1pragma solidity 0.5.17;23contract Counter {45 event ValueChanged(uint oldValue, uint256 newValue);67 // Private variable of type unsigned int to keep the number of counts8 uint256 private count = 0;910 // Function that increments our counter11 function increment() public {12 count += 1;13 emit ValueChanged(count - 1, count);14 }1516 // Getter to get the count value17 function getCount() public view returns (uint256) {18 return count;19 }2021}అన్నీ చూపించుగమనించండి:
-
లైన్ 5: మనం మన ఈవెంట్ను మరియు అది ఏమి కలిగి ఉందో, అంటే పాత విలువ మరియు కొత్త విలువను డిక్లేర్ చేస్తాము.
-
లైన్ 13: మనం మన కౌంట్ వేరియబుల్ను పెంచినప్పుడు, మనం ఈవెంట్ను విడుదల చేస్తాము.
మనం ఇప్పుడు కాంట్రాక్ట్ను డిప్లాయ్ చేసి, increment ఫంక్షన్ను కాల్ చేస్తే, logs అనే పేరుగల అర్రేలో కొత్త లావాదేవీపై మీరు క్లిక్ చేసినప్పుడు Remix దానిని ఆటోమేటిక్గా ప్రదర్శిస్తుందని మనం చూస్తాము.
మీ స్మార్ట్ కాంట్రాక్ట్లను డీబగ్గింగ్ చేయడానికి లాగ్లు చాలా ఉపయోగకరంగా ఉంటాయి, కానీ మీరు వివిధ వ్యక్తులు ఉపయోగించే అప్లికేషన్లను రూపొందించినప్పుడు మరియు మీ స్మార్ట్ కాంట్రాక్ట్ ఎలా ఉపయోగించబడుతుందో ట్రాక్ చేయడానికి మరియు అర్థం చేసుకోవడానికి విశ్లేషణలను సులభతరం చేయడానికి కూడా అవి ముఖ్యమైనవి. లావాదేవీల ద్వారా ఉత్పత్తి చేయబడిన లాగ్లు ప్రముఖ బ్లాక్ ఎక్స్ప్లోరర్లలో ప్రదర్శించబడతాయి మరియు మీరు వాటిని నిర్దిష్ట ఈవెంట్లను వినడానికి మరియు అవి జరిగినప్పుడు చర్య తీసుకోవడానికి ఆఫ్చైన్ స్క్రిప్ట్లను సృష్టించడానికి కూడా ఉపయోగించవచ్చు.
పేజీ చివరి అప్డేట్: 12 ఫిబ్రవరి, 2025
