లో , స్మార్ట్ కాంట్రాక్టులు అంటే ఏమిటి, విభిన్న స్మార్ట్ కాంట్రాక్ట్ భాషలు మరియు స్మార్ట్ కాంట్రాక్ట్ డెవలప్మెంట్ ఎన్విరాన్మెంట్ను ఎలా ఏర్పాటు చేయాలో మీరు తెలుసుకున్నారు. ఈ వ్యాసంలో, మీ మొదటి స్మార్ట్ ఒప్పందాన్ని ఎలా నిర్మించాలో మీరు నేర్చుకుంటారు. నేను ఉపయోగిస్తానుస్మార్ట్ ఒప్పందాన్ని అభివృద్ధి చేయడానికి మరియు పరీక్షించడానికి IDE ను రీమిక్స్ చేయండి.
ఈ స్మార్ట్ కాంట్రాక్ట్ డెవలప్మెంట్ ట్యుటోరియల్లో క్రింద విషయాలు ఉన్నాయి:
మీ స్మార్ట్ కాంట్రాక్టును నిర్మించడం
ఈ బ్లాగ్ సిరీస్లో భాగంగా సాధారణ కొనుగోలు ఆర్డర్ స్మార్ట్ కాంట్రాక్ట్ అభివృద్ధి చేయబడుతుంది. ఈ శ్రేణి అభివృద్ధి చెందుతున్నప్పుడు మరియు సాలిడిటీ ప్రోగ్రామింగ్ భాష యొక్క కొత్త భావనలు ప్రవేశపెట్టినప్పుడు, కొనుగోలు ఆర్డర్ స్మార్ట్ కాంట్రాక్ట్ అభివృద్ధి చెందుతుంది మరియు మెరుగుపడుతుంది.
స్మార్ట్ కాంట్రాక్ట్ యొక్క నిర్మాణం
సాలిడిటీ స్మార్ట్ కాంట్రాక్ట్, సారాంశం, ఈ క్రింది వాటి యొక్క సేకరణ
- సమాచారం - ఇది ఒప్పందం యొక్క ప్రస్తుత స్థితిని నిర్వహిస్తుంది
- ఫంక్షన్ - ఇది ఒప్పందం యొక్క స్థితిని మార్చడానికి తర్కాన్ని వర్తింపజేస్తుంది
సాలిడిటీ స్మార్ట్ ఒప్పందాలు ప్రామాణిక నిర్మాణాన్ని అనుసరిస్తాయి. ఏదైనా స్మార్ట్ కాంట్రాక్ట్ ఈ క్రింది స్టేట్మెంట్తో ప్రారంభమవుతుంది
ప్రాగ్మా డైరెక్టివ్
కొన్ని కంపైలర్ లక్షణాలు లేదా తనిఖీలను ప్రారంభించడానికి “ప్రాగ్మా” కీవర్డ్ ఉపయోగించబడుతుంది. దిగువ స్టేట్మెంట్ సోర్స్ ఫైల్ (స్మార్ట్ కాంట్రాక్ట్) 0.4.0 కన్నా ముందు కంపైలర్తో మరియు 0.6.0 తర్వాత కంపైలర్ వెర్షన్తో కంపైల్ చేయదని నిర్వచిస్తుంది. క్రొత్త కంపైలర్ వెర్షన్ ప్రవేశపెట్టినప్పుడు అనాలోచిత ప్రవర్తన ప్రవేశపెట్టబడదని ఈ ప్రకటన నిర్ధారిస్తుంది.
ప్రాగ్మా దృ solid త్వం> = 0.4.0<=0.6.0
ఒప్పంద ప్రకటన
“కాంట్రాక్ట్” అనే కీవర్డ్ ఉపయోగించి ఒప్పందం ప్రకటించబడింది. ఇది “కొనుగోలు ఆర్డర్” పేరుతో గుర్తించబడిన ఖాళీ ఒప్పందాన్ని ప్రకటిస్తుంది.
ఒప్పందం కొనుగోలు ఆర్డర్ {}
ఒప్పందానికి సంబంధించిన డేటాను నిల్వ చేస్తుంది
ప్రతి ఒప్పందం లేదా సాధారణ పరంగా ప్రతి ప్రోగ్రామ్ కొంత డేటాను నిల్వ చేయాల్సి ఉంటుంది. ప్రోగ్రామ్కు డేటాను జోడించడం వల్ల అది ఒక వశ్యతను అందిస్తుంది. ప్రోగ్రామ్లోని హార్డ్-కోడెడ్ విలువల నుండి వినియోగదారు అందించిన విలువలకు వెళ్లడం ఒక ముఖ్యమైన లక్షణం. డేటాను నిల్వ చేయడానికి, డేటాను లేబుల్ చేయడానికి, డేటాను తిరిగి పొందడానికి మరియు డేటాను మార్చటానికి వేరియబుల్స్ మిమ్మల్ని అనుమతిస్తాయి.
స్మార్ట్ కాంట్రాక్ట్ అభివృద్ధి: వేరియబుల్స్ పరిచయం
దృ solid త్వంలో, వేరియబుల్స్ రెండు రకాలు
- విలువ రకం: ఈ రకమైన వేరియబుల్స్ విలువ ద్వారా పంపబడతాయి, అనగా అవి ఫంక్షన్ ఆర్గ్యుమెంట్లుగా లేదా అసైన్మెంట్లలో ఉపయోగించినప్పుడు అవి ఎల్లప్పుడూ కాపీ చేయబడతాయి. ఉదాహరణకు: పూర్ణాంకాలు, బూలియన్ల చిరునామా మొదలైనవి.
- సూచన రకాలు: ఈ రకమైన వేరియబుల్ సంక్లిష్ట రకాలు మరియు సూచనల ద్వారా పంపబడతాయి, ఈ వేరియబుల్స్ 256 బిట్కు సరిపోవు మరియు వాటిని కాపీ చేయడం ఖరీదైనందున జాగ్రత్తగా నిర్వహించాలి.
స్మార్ట్ కాంట్రాక్ట్కు డేటాను కలుపుతోంది
ఒప్పందానికి కొంత డేటా వేరియబుల్ చేర్చుదాం. ప్రతి కొనుగోలు ఆర్డర్ కోసం, దానితో అనుబంధించబడిన ఉత్పత్తి యొక్క కొంత పరిమాణం ఉండాలి. డేటా రకం పూర్ణాంకం లేదా సంఖ్య ఉండే వేరియబుల్ ప్రొడక్ట్_క్వాంటిటీని చేర్చుదాం.
java addactionlistener (ఇది)
మేము ఇప్పుడు పరిచయం చేస్తున్న వేరియబుల్ సంతకం చేయని పూర్ణాంకం మరియు uint256 చేత ప్రాతినిధ్యం వహిస్తుంది, 256 ఇక్కడ 256 బిట్స్ నిల్వను సూచిస్తుంది.
- యు - సంతకం చేయలేదు (ఈ రకం సానుకూల పూర్ణాంకాలను మాత్రమే సూచిస్తుంది, సానుకూల మరియు ప్రతికూల పూర్ణాంకాలు కాదు)
- INT - పూర్ణాంకం
- 256 - 256 బిట్స్ పరిమాణం
- కనీస విలువ uint256 కేటాయించవచ్చు 0
- గరిష్ట విలువ uint256 2 ^ 256-1 [చాలా పెద్ద సంఖ్య]
ఉత్పత్తి పరిమాణం సానుకూల విలువ మాత్రమే మరియు ప్రస్తుత is హ మేము ఉత్పత్తి పరిమాణానికి చాలా పెద్ద విలువను తీర్చబోతున్నాం.
ప్రకటించిన “ప్రొడక్ట్_క్వాంటిటీ” వేరియబుల్ కాంట్రాక్ట్ స్థితిలో భాగం మరియు అందువల్ల కాంట్రాక్ట్ స్థలంలో కొనసాగుతుంది లేదా నిల్వ చేయబడుతుంది. ప్రస్తుతం, ఈ వేరియబుల్ విలువ 0 కి డిఫాల్ట్ అవుతుంది.
ఒప్పందం కొనుగోలు ఆర్డర్ {uint256 product_quantity}
కన్స్ట్రక్టర్ను నిర్వచించడం
కాంట్రాక్టును అమలు చేసినప్పుడు కన్స్ట్రక్టర్ అంటారు. కన్స్ట్రక్టర్ కొన్ని విలువలతో ఒప్పందాన్ని ప్రారంభిస్తాడు. ప్రస్తుత దృష్టాంతంలో, ఒప్పందాన్ని అమలు చేసినప్పుడు ఉత్పత్తి పరిమాణం 100 కు సెట్ చేయబడింది. ఒక వేరియబుల్ను దాటడం ద్వారా మరియు ఆమోదించిన విలువను ఉపయోగించి ప్రొడక్ట్_క్వాంటిటీని ప్రారంభించడం ద్వారా కూడా పారామీటర్ చేయబడిన కన్స్ట్రక్టర్ను సృష్టించవచ్చు.
ఇక్కడ గమనించవలసిన ముఖ్య విషయం ఏమిటంటే, కన్స్ట్రక్టర్తో అనుబంధించబడిన యాక్సెస్ మాడిఫైయర్ “పబ్లిక్”. పబ్లిక్ కీవర్డ్ ఎవరైనా ఈ ఫంక్షన్ను యాక్సెస్ చేయగలరని నిర్దేశిస్తుంది, ఇది పరిమితం చేయబడిన ఫంక్షన్ కాదు.
కన్స్ట్రక్టర్ () పబ్లిక్ {product_quantity = 100}
విధులను కలుపుతోంది
ఇప్పుడు మన ప్రోగ్రామ్ ఇంటరాక్టివ్గా ఉండటానికి ఫంక్షన్ను చేర్చుదాం. విధులు నియంత్రిత సామర్థ్యాలు, వీటిని ప్రోగ్రామ్కు జోడించవచ్చు. ఏదైనా ఫంక్షన్ కీవర్డ్ ఫంక్షన్ ద్వారా ముందు ఉంటుంది. మొత్తంమీద ఫంక్షన్ డిక్లరేషన్ ఎలా ఉంటుంది' ఫంక్షన్ ”.
ఫంక్షన్ పొందండి
ఏదైనా ప్రోగ్రామ్ కోసం, నిల్వ చేయబడిన విలువను చదవడం చాలా సాధారణ అవసరాలలో ఒకటి. కింది ఒప్పందంలో, మేము “ప్రొడక్ట్_క్వాంటిటీ” విలువను చదవాలి. ఈ సామర్థ్యాన్ని అందించడానికి, రీడ్ ఫంక్షన్ లేదా గెట్ ఫంక్షన్ జోడించబడతాయి. ఈ ఫంక్షన్లో మేము నిల్వ చేసిన విలువకు ఎటువంటి తారుమారు చేయడం లేదు, మేము నిల్వ చేసిన విలువను తిరిగి పొందుతున్నాము.
ఇప్పుడు మన గెట్ ఫంక్షన్ (get_quantity) ను విచ్ఛిన్నం చేద్దాం
లేదు. | కీవర్డ్ | విలువ |
ఒకటి | get_quantity ()para పారామితులు ఏవీ ఆమోదించబడలేదు} | |
2 | ప్రజా{ఎవరైనా ఫంక్షన్ను యాక్సెస్ చేయవచ్చు} | |
3 | వీక్షణthe ఫంక్షన్ కాంట్రాక్ట్ స్థితిని మాత్రమే చదువుతుందని సూచిస్తుంది, కాంట్రాక్ట్ స్థితిని మార్చదు, అందుకే చూడండి} | |
4 | uint256 రకం వేరియబుల్ను తిరిగి ఇస్తుంది function ఫంక్షన్ ద్వారా తిరిగి ఇవ్వబడినదాన్ని నిర్వచించింది} |
ఫంక్షన్ get_quantity () పబ్లిక్ వ్యూ రిటర్న్స్ (uint256) {రిటర్న్ ప్రొడక్ట్_క్వాంటిటీ}
సెట్టర్ విధులు
డేటాను చదవడం అవసరం మరియు మేము దానిని చివరి విభాగంలో సాధించాము, కాని చాలా సందర్భాలలో డేటాను వ్రాయడానికి / నవీకరించడానికి కూడా సామర్థ్యం అవసరం. సెట్టర్ ఫంక్షన్ను జోడించడం ద్వారా ఈ నిర్దిష్ట సామర్ధ్యం అందించబడుతుంది. ఈ ఫంక్షన్ వినియోగదారు నుండి ఇన్పుట్ పరామితి రూపంలో విలువను తీసుకుంటుంది. వినియోగదారు ఫంక్షన్కు అందించిన విలువను ఉపయోగించి వేరియబుల్ “ప్రొడక్ట్_క్వాంటిటీ” యొక్క విలువ / నవీకరించబడింది.
ఇప్పుడు మన సెట్ ఫంక్షన్ (అప్డేట్_క్వాంటిటీ) ను విచ్ఛిన్నం చేద్దాం
జావా దీన్ని ఎప్పుడు ఉపయోగించాలి
ఉత్పత్తి పరిమాణం యొక్క విలువను నవీకరించడానికి ఒక ఫంక్షన్ను కలుపుతోంది
లేదు. | కీవర్డ్ | విలువ |
ఒకటి | update_quantity (uint256 విలువ)int uint256 రకం యొక్క పారామితి విలువ ఆమోదించబడింది} | |
2 | ప్రజా{ఎవరైనా ఫంక్షన్ను యాక్సెస్ చేయవచ్చు} | |
3 | ఫంక్షన్ల ద్వారా రాష్ట్రం నవీకరించబడుతున్నందున అవసరం లేదు | |
4 | uint256 రకం వేరియబుల్ను అందిస్తుంది (ఫంక్షన్ ద్వారా తిరిగి ఇవ్వబడినది నిర్వచించబడింది) |
ఫంక్షన్ update_quantity (uint256 విలువ) పబ్లిక్ {product_quantity = product_quantity + value}
ఇవన్నీ కలిసి ప్లగ్ చేయడం, మొత్తం ఒప్పందం ఎలా ఉండాలి.
ప్రాగ్మా దృ solid త్వం> = 0.4.0<=0.6.0 contract PurchaseOrder{ uint256 product_quantity //state variable /*Called with the contract is deployed and initializes the value*/ constructor() public{ product_quantity = 100 } // Get Function function get_quantity() public view returns(uint256){ return product_quantity } // Set Function function update_quantity(uint256 value) public { product_quantity = product_quantity + value } }
స్మార్ట్ కాంట్రాక్టును అమలు చేయడం
స్మార్ట్ ఒప్పందాన్ని పరీక్షించే సమయం. ఈ స్మార్ట్ ఒప్పందాన్ని పరీక్షించడానికి, మేము ఉపయోగిస్తాము రీమిక్స్ ఆన్లైన్ IDE .
రీమిక్స్ అనేది ఆన్లైన్ ఆట స్థలం ethereum స్మార్ట్ కాంట్రాక్ట్ . రీమిక్స్ పూర్తిగా బ్రౌజర్ ఆధారితమైనది. రీమిక్స్ మీకు ఆన్లైన్ IDE (ఇంటిగ్రేటెడ్ డెవలప్మెంట్ ఎన్విరాన్మెంట్) ను అందిస్తుంది, ఇక్కడ మీరు మీ స్మార్ట్ ఒప్పందాలను వ్రాయగలరు. రీమిక్స్ మీకు ఆన్లైన్ సాలిడిటీ కంపైలర్ సామర్థ్యాన్ని అందిస్తుంది. రీమిక్స్ IDE లోని స్మార్ట్ కాంట్రాక్టును నిర్దిష్ట కంపైలర్ వెర్షన్ను సజావుగా ఉపయోగించి కంపైల్ చేయవచ్చు.
స్మార్ట్ కాంట్రాక్టును త్వరగా పరీక్షించే సామర్థ్యాన్ని రీమిక్స్ కూడా అందిస్తుంది.
మీ స్థానిక మెషీన్లో ఎటువంటి ఇన్స్టాలేషన్ చేయకుండా, స్మార్ట్ కాంట్రాక్ట్ మరియు యూనిట్ టెస్ట్ స్మార్ట్ కాంట్రాక్ట్ను అభివృద్ధి చేయడానికి రీమిక్స్ పూర్తి టూల్సెట్ను అందిస్తుంది. డెవలపర్లు స్మార్ట్ కాంట్రాక్ట్ రాయడంపై దృష్టి పెట్టాలి, మౌలిక సదుపాయాల గురించి ఆందోళన చెందాలి కాబట్టి ఇది దృ solid త్వంతో ప్రారంభించడానికి విపరీతంగా ఉపయోగపడుతుంది.
రీమిక్స్ IDE తో మీకు కావలసిందల్లా స్మార్ట్ కాంట్రాక్ట్ అభివృద్ధితో ప్రారంభించడానికి బ్రౌజర్ మరియు ఇంటర్నెట్ కనెక్షన్. స్మార్ట్ కాంట్రాక్ట్ కోసం ఆలోచన యొక్క శీఘ్ర అభివృద్ధి, పరీక్ష మరియు ధృవీకరణ.
రీమిక్స్ ఇటీవల వారి UI ని అప్గ్రేడ్ చేసింది.
పై చిత్రంలో హైలైట్ చేసిన ఫైల్ ఐకాన్ పై క్లిక్ చేయండి, ఫైల్ ఎక్స్ప్లోరర్ తెరుచుకుంటుంది.
- ప్లస్ చిహ్నంపై క్లిక్ చేస్తే, క్రొత్త ఫైల్ను సృష్టించవచ్చు, PurchaseOrder.sol ఫైల్కు పేరు పెట్టండి
- ఇది PurchaseOrder.sol అనే ఖాళీ ఫైల్ను సృష్టిస్తుంది, ఈ ఫైల్ను క్లిక్ చేసి తెరవండి.
- PurchaseOrder.sol లో మొత్తం కాంట్రాక్టును పేస్ట్ చేద్దాం.
- రెండవ చిహ్నంపై క్లిక్ చేయండి, ఫైల్ ఐకాన్ క్రింద ఎడమ మెనూలో, సాలిడిటీ కంపైలర్ ఎంపిక కనిపిస్తుంది.
- కంపైలర్ లేబుల్ క్రింద, కంపైలర్ వెర్షన్ను ఎంచుకోండి. ప్రస్తుత ఎంచుకున్న సంస్కరణ 0.5.8.
- కంపైలర్ వెర్షన్ యొక్క ఎంపికను పోస్ట్ చేయండి, “కంపైల్ పర్చేజ్ఆర్డర్.సోల్” పై క్లిక్ చేయండి. ఇది స్మార్ట్ కాంట్రాక్టును కంపైల్ చేస్తుంది.
7. స్మార్ట్ కాంట్రాక్ట్ విజయవంతంగా కంపైల్ చేసిన తర్వాత, “కంపైలేషన్ డిటెయిల్స్” బటన్ పై క్లిక్ చేసి, కింది వివరాలు రావాలి. సంకలనం పోస్ట్, రెండు కీలక సమాచారం అందుబాటులో ఉంచబడ్డాయి
- ABI - అప్లికేషన్ బైనరీ ఇంటర్ఫేస్. ఇది ఒక json ఫైల్, ఇది స్మార్ట్ కాంట్రాక్టులో బహిర్గతం చేసిన అన్ని పద్ధతులతో పాటు పద్ధతుల మెటా డేటాతో వివరిస్తుంది. దీనిపై మరిన్ని తదుపరి బ్లాగులలో చర్చించబడతాయి.
- బైట్కోడ్- EVM (Ethereum వర్చువల్ మెషిన్) ఆపరేషన్ కోడ్, స్మార్ట్ కాంట్రాక్ట్ లాజిక్ సంకలనంపై బైట్కోడ్గా మార్చబడుతుంది.
8. స్మార్ట్ కాంట్రాక్టును పరీక్షించడానికి, స్మార్ట్ కాంట్రాక్టును అమలు చేయాల్సిన అవసరం ఉంది. కంపైల్ ఐకాన్ క్రింద, ఎడమ మెనూలోని తదుపరి చిహ్నంపై స్మార్ట్ కాంట్రాక్ట్ క్లిక్ ని అమర్చడానికి. కింది స్క్రీన్ కనిపిస్తుంది. స్మార్ట్ కాంట్రాక్టును పరీక్షించడానికి, స్మార్ట్ కాంట్రాక్టును అమలు చేయాల్సిన అవసరం ఉంది. కంపైల్ ఐకాన్ క్రింద, ఎడమ మెనూలోని తదుపరి చిహ్నంపై స్మార్ట్ కాంట్రాక్ట్ క్లిక్ ని అమర్చడానికి. కింది స్క్రీన్ కనిపిస్తుంది.
విస్తరణ ఎంపిక
విస్తరణ స్క్రీన్, కొన్ని ఎంపికలను అందిస్తుంది, వాటిని ఒక్కొక్కటిగా చూద్దాం.
- పర్యావరణం: అమెజాన్, ఫ్లిప్కార్ట్, న్యూయెగ్ (ఇవన్నీ ఆన్లైన్ రిటైలర్) నుండి ల్యాప్టాప్ కొనడానికి సమానమైన ఎంపిక గురించి ఇది ఆలోచించవచ్చు (మీ అవసరాన్ని బట్టి మీరు ఎక్కడ కొనాలనుకుంటున్నారో మీరు ఎంపిక చేసుకుంటారు. అదేవిధంగా, రీమిక్స్ విషయంలో, స్మార్ట్ కాంట్రాక్టును అమలు చేయడానికి మరియు స్మార్ట్ కాంట్రాక్టును పరీక్షించడానికి మాకు ఒక ఎంపిక ఉంది. ఎన్విరాన్మెంట్ లేబుల్ పక్కన ఉన్న డ్రాప్డౌన్ మూడు ఎంపికలను అందిస్తుంది
- జావాస్క్రిప్ట్ VM - స్థానిక Ethereum సింగిల్ నోడ్ బ్రౌజర్ మెమరీలో తిరుగుతుంది మరియు లావాదేవీకి ఉపయోగించగల 5 ప్రీఫండ్డ్ పరీక్ష ఖాతాలను అందిస్తుంది (విస్తరణ, ఫంక్షన్లను ప్రారంభించడం)
- ఇంజెక్ట్ చేసిన వెబ్ 3 అందించండి - ఇది మెటామాస్క్పై ఆధారపడుతుంది. మెటామాస్క్ ఒక బ్రోకర్ లేదా మిడిల్మ్యాన్ లాంటిది, ఇది వెబ్ అనువర్తనాలను స్మార్ట్ కాంట్రాక్ట్తో ఇంటరాక్ట్ చేయడానికి అనుమతిస్తుంది. మెటామాస్క్ ఐడెంటిటీలను నిర్వహించడానికి మరియు ఎథెరియం నెట్వర్క్కు పంపాల్సిన లావాదేవీలపై సంతకం చేసే సామర్థ్యాన్ని అందిస్తుంది. ఈ మధ్యవర్తి లేదా 3rdస్మార్ట్ కాంట్రాక్ట్ అమలు చేయబడే బ్లాక్చెయిన్ నెట్వర్క్ను నిర్ణయించడానికి పార్టీ మీకు సహాయం చేస్తుంది.
- వెబ్ 3 ప్రొవైడర్ - మీరు స్థానిక Ethereum నోడ్ను నడుపుతున్నట్లయితే మరియు RPC ఎండ్పాయింట్ అందుబాటులో ఉంటే, ఈ ఎంపికను ఉపయోగించవచ్చు. స్థానిక Ethereum నోడ్కు స్మార్ట్ కాంట్రాక్ట్ అమలు చేయబడుతుంది.
- ఖాతాలు: ఎంచుకున్న పర్యావరణం ఆధారంగా ఈ సమాచారం జనాభా. ఉదాహరణకి. జావాస్క్రిప్ట్ VM 5 ప్రీఫండ్డ్ పరీక్ష ఖాతాలను అందిస్తుంది. వెబ్ 3 ప్రొవైడర్ మరియు ఇంజెక్ట్ చేసిన వెబ్ 3 విషయంలో ముందస్తుగా పరీక్ష ఖాతాలను అందించవద్దు.
- గ్యాస్ పరిమితి: ఏదైనా లావాదేవీకి ఇనిషియేటర్ ఖర్చు చేయడానికి సిద్ధంగా ఉన్న గ్యాస్ గరిష్ట మొత్తాన్ని ఇది నిర్వచిస్తుంది. అనంతమైన లూప్ నుండి రక్షించడానికి మరియు అనంతమైన లూప్ పరిస్థితి విషయంలో ఖాతా యొక్క అన్ని నిధులను క్షీణింపజేయడానికి ఇది స్థలం.
- విలువ: స్మార్ట్ కాంట్రాక్టును అమలు చేసేటప్పుడు పంపించాల్సిన విలువ. ఇది ఐచ్ఛిక విలువ.
ఒప్పందాన్ని అమలు చేయడానికి, జావాస్క్రిప్ట్ VM ఎంపికను ఎంచుకోండి, ఖాతాల డ్రాప్ డౌన్ నుండి మొదటి ఖాతాను ఎంచుకోండి, ఖాతా బ్యాలెన్స్ (100 ఈథర్) ను గమనించండి.
కనిపించే స్మార్ట్ కాంట్రాక్ట్ పేరు కొనుగోలు ఆర్డర్ అని నిర్ధారించుకోండి, డిప్లాయ్ పై క్లిక్ చేయండి. జరిగే కీలక చర్యలు
- ఖాతా బ్యాలెన్స్ 100 ఈథర్ నుండి 99.999999 ఈథర్కు మారుతుంది, తీసివేయబడిన మొత్తం స్మార్ట్ కాంట్రాక్టును అమలు చేయడానికి లావాదేవీ ఖర్చు.
- డిప్లోయిడ్ కాంట్రాక్ట్ కింద స్మార్ట్ కాంట్రాక్ట్ కోసం కొత్త టైల్ కనిపిస్తుంది, ఇది కొత్త స్మార్ట్ కాంట్రాక్ట్ యొక్క చిరునామాను కూడా అందిస్తుంది (0x692a70d2e424a56d2c6c27aa97d1a86395877b3a)
- కన్సోల్ విండోలో క్రింది సమాచారం కనిపిస్తుంది
- లావాదేవీ హాష్ - కాంట్రాక్ట్ విస్తరణను ప్రత్యేకంగా గుర్తిస్తుంది
- లావాదేవీ ఖర్చు
- ఒప్పంద చిరునామా
మోహరించిన ఒప్పందంతో సంకర్షణ చెందుతుంది
- అమలు చేయబడిన ఒప్పందం ప్రకారం, క్రింది రెండు పరస్పర పద్ధతులు నవీకరణ_క్వాంటిటీ మరియు get_quantity అందుబాటులో ఉన్నాయి.
- ఈ రెండు పరస్పర పద్ధతులు “కొనుగోలు ఆర్డర్” ఒప్పందంలో నిర్వచించబడిన ప్రజా పద్ధతులు.
- నవీకరణ పరిమాణం “update_quantity” పద్ధతికి ఇన్పుట్ పరామితి అవసరం, అందుకే ఇన్పుట్ బాక్స్.
- పరిమాణాన్ని పొందండి “get_quantity” పద్ధతి ఉత్పత్తి_క్వాంటిటీ విలువను తిరిగి పొందుతుంది.
- Get_quantity ప్రారంభించినప్పుడు ఏమి జరుగుతుందో తనిఖీ చేద్దాం, రిటర్న్ విలువ 100 చూపబడుతుంది, ఇది కన్స్ట్రక్టర్లో ప్రారంభించబడింది. ఇది లావాదేవీ జరగడానికి కారణం కాదు
- అప్డేట్_క్వాంటిటీని ఇన్వోక్ చేసి, 30 ఇన్పుట్గా అందిద్దాం. ఇది లావాదేవీ జరగడానికి కారణమవుతుంది
ఒక్కమాటలో చెప్పాలంటే, కాంట్రాక్ట్ యొక్క స్థితికి వ్రాత ఆపరేషన్కు కారణమయ్యే ఏదైనా ఆపరేషన్ (అనగా కాంట్రాక్ట్ వేరియబుల్స్ను మారుస్తుంది) లావాదేవీకి దారితీస్తుంది.
జావాలో హ్యాష్మ్యాప్ను ఎలా అమలు చేయాలి
ఒప్పందం యొక్క స్థితిని చదివిన ఏదైనా ఆపరేషన్ లావాదేవీకి కారణం కాదు.
స్మార్ట్ కాంట్రాక్ట్ అభివృద్ధి తీర్మానం
దీనితో, మేము మా మొదటి స్మార్ట్ కాంట్రాక్టును సృష్టించాము, దృ solid త్వం యొక్క ఉపరితలంపై గోకడం. స్మార్ట్ కాంట్రాక్టును అమలు చేయడం నుండి లావాదేవీలను ప్రారంభించడం వరకు స్మార్ట్ కాంట్రాక్టును పరీక్షించడానికి ఏమి అవసరమో మేము చూశాము.
స్మార్ట్ కాంట్రాక్ట్ డెవలప్మెంట్ సిరీస్ యొక్క కొనసాగింపుగా ఉన్న తదుపరి బ్లాగులో, స్మార్ట్ కాంట్రాక్ట్ విస్తరణలో లోతుగా డైవ్ చేస్తూ, దృ solid మైన ఫండమెంటల్స్లో లోతుగా నివసించబోతున్నాం.
దానితో, నేను దీనిని ముగించాను స్మార్ట్ కాంట్రాక్ట్ అభివృద్ధి బ్లాగ్. మీరు ఈ బ్లాగును చదివి ఆనందించారని మరియు అది సమాచారంగా ఉందని నేను ఆశిస్తున్నాను.
నేనుf మీరు స్మార్ట్ కాంట్రాక్టులను నేర్చుకోవాలనుకుంటున్నారు, బ్లాక్చెయిన్ డొమైన్లో వృత్తిని పెంచుకోవాలి మరియు ఎథెరియం ప్రోగ్రామింగ్లో నైపుణ్యాన్ని పొందాలి, లైవ్-ఆన్లైన్లో చేరండి ఇక్కడ, మీ అభ్యాస వ్యవధిలో మీకు మార్గనిర్దేశం చేయడానికి 24 * 7 మద్దతుతో వస్తుంది.
మాకు ప్రశ్న ఉందా? దయచేసి దీనిని “స్మార్ట్ కాంట్రాక్ట్ డెవలప్మెంట్” యొక్క వ్యాఖ్యల విభాగంలో పేర్కొనండి మరియు మేము మీ వద్దకు తిరిగి వస్తాముస్టంప్.