ప్రధాన కంటెంట్‌కు దాటవేయి

మీ మొదటి స్మార్ట్ కాంట్రాక్ట్‌ను డిప్లాయ్ చేయడం

స్మార్ట్ కాంట్రాక్ట్‌లు
Remix
Solidity
డిప్లాయ్ చేయడం
ప్రారంభ స్థాయి
jdourlens
3 ఏప్రిల్, 2020
3 నిమిషాల పఠనం

ఎథీరియం బ్లాక్‌చైన్‌లో మీ మొదటి స్మార్ట్ కాంట్రాక్ట్‌ను డిప్లాయ్ చేయడానికి మరియు దానితో ఇంటరాక్ట్ అవ్వడానికి మీరు కూడా మా లాగే ఉత్సాహంగా ఉన్నారని నేను అనుకుంటున్నాను.

చింతించకండి, ఇది మన మొదటి స్మార్ట్ కాంట్రాక్ట్ కాబట్టి, మనం దీనిని లోకల్ టెస్ట్ నెట్‌వర్క్‌లో డిప్లాయ్ చేస్తాము, కాబట్టి దీన్ని డిప్లాయ్ చేయడానికి మీకు ఎలాంటి ఖర్చు ఉండదు మరియు మీరు కోరుకున్నంతగా దీనితో ప్రయోగాలు చేయవచ్చు.

మన కాంట్రాక్ట్‌ను రాయడం

మొదటి దశ Remix ని సందర్శించి (opens in a new tab) కొత్త ఫైల్‌ను సృష్టించడం. Remix ఇంటర్‌ఫేస్ ఎగువ ఎడమ భాగంలో కొత్త ఫైల్‌ను జోడించి, మీకు కావలసిన ఫైల్ పేరును నమోదు చేయండి.

Adding a new file in the Remix interface

కొత్త ఫైల్‌లో, మనం కింది కోడ్‌ను పేస్ట్ చేస్తాము.

మీకు ప్రోగ్రామింగ్ అలవాటు ఉంటే, ఈ ప్రోగ్రామ్ ఏమి చేస్తుందో మీరు సులభంగా ఊహించవచ్చు. ఇక్కడ లైన్ బై లైన్ వివరణ ఉంది:

  • లైన్ 4: మనం Counter పేరుతో ఒక కాంట్రాక్ట్‌ను నిర్వచిస్తాము.
  • లైన్ 7: మన కాంట్రాక్ట్ 0 తో ప్రారంభమయ్యే count అనే పేరు గల ఒక అన్‌సైన్డ్ ఇంటిజర్‌ను నిల్వ చేస్తుంది.
  • లైన్ 10: మొదటి ఫంక్షన్ కాంట్రాక్ట్ యొక్క స్థితిని సవరిస్తుంది మరియు మన వేరియబుల్ count ని increment() చేస్తుంది.
  • లైన్ 15: రెండవ ఫంక్షన్ కేవలం స్మార్ట్ కాంట్రాక్ట్ వెలుపల count వేరియబుల్ విలువను చదవడానికి ఉపయోగపడే ఒక గెట్టర్ (getter). గమనించండి, మనం మన count వేరియబుల్‌ను పబ్లిక్‌గా నిర్వచించినందున ఇది అవసరం లేదు కానీ ఒక ఉదాహరణగా చూపబడింది.

మన మొదటి సాధారణ స్మార్ట్ కాంట్రాక్ట్ కోసం ఇంతే. మీకు తెలిసినట్లుగా, ఇది Java లేదా C++ వంటి OOP (ఆబ్జెక్ట్-ఓరియెంటెడ్ ప్రోగ్రామింగ్) భాషల నుండి వచ్చిన క్లాస్ లాగా కనిపిస్తుంది. ఇప్పుడు మన కాంట్రాక్ట్‌తో ప్రయోగాలు చేయడానికి సమయం ఆసన్నమైంది.

మన కాంట్రాక్ట్‌ను డిప్లాయ్ చేయడం

మనం మన మొట్టమొదటి స్మార్ట్ కాంట్రాక్ట్‌ను రాసినందున, దానితో ప్రయోగాలు చేయడానికి ఇప్పుడు మనం దానిని బ్లాక్‌చైన్‌కు డిప్లాయ్ చేస్తాము.

స్మార్ట్ కాంట్రాక్ట్‌ను బ్లాక్‌చైన్‌లో డిప్లాయ్ చేయడం అంటే వాస్తవానికి గ్రహీతలను పేర్కొనకుండా కంపైల్ చేయబడిన స్మార్ట్ కాంట్రాక్ట్ కోడ్‌ను కలిగి ఉన్న లావాదేవీని పంపడమే.

మనం ముందుగా ఎడమ వైపున ఉన్న కంపైల్ చిహ్నంపై క్లిక్ చేయడం ద్వారా కాంట్రాక్ట్‌ను కంపైల్ చేస్తాము:

The compile icon in the Remix toolbar

ఆపై కంపైల్ బటన్‌పై క్లిక్ చేయండి:

The compile button in the Remix solidity compiler

మీరు టెక్స్ట్ ఎడిటర్‌లో కంటెంట్‌ను సేవ్ చేసినప్పుడు కాంట్రాక్ట్ ఎల్లప్పుడూ కంపైల్ అయ్యేలా “Auto compile” ఎంపికను ఎంచుకోవచ్చు.

ఆపై "deploy and run transactions" స్క్రీన్‌కు నావిగేట్ చేయండి:

The deploy icon in the Remix toolbar

మీరు "deploy and run transactions" స్క్రీన్‌పైకి వచ్చిన తర్వాత, మీ కాంట్రాక్ట్ పేరు కనిపిస్తుందో లేదో ఒకటికి రెండుసార్లు తనిఖీ చేసి, Deploy పై క్లిక్ చేయండి. మీరు పేజీ ఎగువన చూడగలిగినట్లుగా, ప్రస్తుత పర్యావరణం “JavaScript VM”, అంటే మనం వేగంగా మరియు ఎలాంటి ఫీజులు లేకుండా పరీక్షించడానికి మన స్మార్ట్ కాంట్రాక్ట్‌ను లోకల్ టెస్ట్ బ్లాక్‌చైన్‌లో డిప్లాయ్ చేస్తాము మరియు ఇంటరాక్ట్ అవుతాము.

The deploy button in the Remix solidity compiler

మీరు “Deploy” బటన్‌ను క్లిక్ చేసిన తర్వాత, మీ కాంట్రాక్ట్ దిగువన కనిపించడాన్ని మీరు చూస్తారు. దాన్ని విస్తరించడానికి ఎడమవైపు ఉన్న బాణం గుర్తుపై క్లిక్ చేయండి, తద్వారా మనం మన కాంట్రాక్ట్ కంటెంట్‌ను చూస్తాము. ఇది మన వేరియబుల్ counter, మన increment() ఫంక్షన్ మరియు గెట్టర్ getCounter().

మీరు count లేదా getCount బటన్‌పై క్లిక్ చేస్తే, అది వాస్తవానికి కాంట్రాక్ట్ యొక్క count వేరియబుల్ కంటెంట్‌ను తిరిగి పొందుతుంది మరియు దానిని ప్రదర్శిస్తుంది. మనం ఇంకా increment ఫంక్షన్‌ను కాల్ చేయనందున, అది 0 ని ప్రదర్శించాలి.

The function button in the Remix solidity compiler

ఇప్పుడు బటన్‌పై క్లిక్ చేయడం ద్వారా increment ఫంక్షన్‌ను కాల్ చేద్దాం. విండో దిగువన జరిగిన లావాదేవీల లాగ్‌లు (logs) కనిపించడాన్ని మీరు చూస్తారు. మీరు increment బటన్‌కు బదులుగా డేటాను తిరిగి పొందడానికి బటన్‌ను నొక్కినప్పుడు లాగ్‌లు భిన్నంగా ఉండటాన్ని మీరు గమనిస్తారు. ఎందుకంటే బ్లాక్‌చైన్‌లో డేటాను చదవడానికి ఎలాంటి లావాదేవీలు (రాయడం) లేదా ఫీజులు అవసరం లేదు. ఎందుకంటే బ్లాక్‌చైన్ స్థితిని సవరించడానికి మాత్రమే లావాదేవీ చేయాల్సి ఉంటుంది:

A log of transactions

మన increment() ఫంక్షన్‌ను కాల్ చేయడానికి లావాదేవీని రూపొందించే ఇంక్రిమెంట్ బటన్‌ను నొక్కిన తర్వాత, మనం తిరిగి count లేదా getCount బటన్‌లపై క్లిక్ చేస్తే, count వేరియబుల్ 0 కంటే పెద్దదిగా ఉండటంతో మన స్మార్ట్ కాంట్రాక్ట్ యొక్క కొత్తగా అప్‌డేట్ చేయబడిన స్థితిని మనం చదువుతాము.

Newly updated state of the smart contract

తదుపరి ట్యుటోరియల్‌లో, మీ స్మార్ట్ కాంట్రాక్ట్‌లకు ఈవెంట్‌లను ఎలా జోడించవచ్చో మనం కవర్ చేస్తాము. ఈవెంట్‌లను లాగింగ్ చేయడం అనేది మీ స్మార్ట్ కాంట్రాక్ట్‌ను డీబగ్ చేయడానికి మరియు ఫంక్షన్‌ను కాల్ చేస్తున్నప్పుడు ఏమి జరుగుతుందో అర్థం చేసుకోవడానికి అనుకూలమైన మార్గం.