ప్రధాన కంటెంట్‌కి స్కిప్ చేయండి
Change page

స్మార్ట్ కాంట్రాక్ట్ గ్రంథాలయాలు

పేజీ చివరి అప్‌డేట్: 21 ఆగస్టు, 2025

మీరు మీ ప్రాజెక్ట్‌లో ప్రతి స్మార్ట్ కాంట్రాక్ట్‌ను మొదటి నుండి వ్రాయవలసిన అవసరం లేదు. అనేక ఓపెన్ సోర్స్ స్మార్ట్ కాంట్రాక్ట్ గ్రంథాలయాలు అందుబాటులో ఉన్నాయి, అవి మీ ప్రాజెక్ట్ కోసం పునర్వినియోగ నిర్మాణ బ్లాక్‌లను అందిస్తాయి, ఇది మిమ్మల్ని తిరిగి కొత్తగా కనిపెట్టకుండా కాపాడగలదు.

అవసరాలు

స్మార్ట్ కాంట్రాక్ట్ గ్రంథాలయాలలోకి వెళ్ళే ముందు, స్మార్ట్ కాంట్రాక్ట్ యొక్క నిర్మాణంపై మంచి అవగాహన కలిగి ఉండటం మంచిది. మీరు ఇంకా అలా చేయకపోతే స్మార్ట్ కాంట్రాక్ట్ అనాటమీకి వెళ్లండి.

ఒక గ్రంథాలయంలో ఏముంది

మీరు సాధారణంగా స్మార్ట్ కాంట్రాక్ట్ గ్రంథాలయాలలో రెండు రకాల నిర్మాణ బ్లాకులను కనుగొనవచ్చు: మీరు మీ కాంట్రాక్టులకు జోడించగల పునర్వినియోగ ప్రవర్తనలు మరియు వివిధ ప్రమాణాల అమలులు.

ప్రవర్తనలు

స్మార్ట్ కాంట్రాక్టులను వ్రాసేటప్పుడు, ఒక కాంట్రాక్ట్‌లో రక్షిత కార్యకలాపాలను నిర్వహించడానికి admin చిరునామాను కేటాయించడం లేదా ఊహించని సమస్య ఏర్పడినప్పుడు అత్యవసర పాజ్ బటన్‌ను జోడించడం వంటి ఒకే రకమైన నమూనాలను మీరు పదే పదే వ్రాసే అవకాశం ఉంది.

స్మార్ట్ కాంట్రాక్ట్ గ్రంథాలయాలు సాధారణంగా ఈ ప్రవర్తనల యొక్క పునర్వినియోగ అమలులను Solidityలో లైబ్రరీలుగా (opens in a new tab) లేదా ఇన్హెరిటెన్స్ (opens in a new tab) ద్వారా అందిస్తాయి.

ఒక ఉదాహరణగా, OpenZeppelin కాంట్రాక్ట్స్ లైబ్రరీ (opens in a new tab) నుండి Ownable కాంట్రాక్ట్ (opens in a new tab) యొక్క సరళీకృత సంస్కరణ క్రింద ఉంది, ఇది ఒక చిరునామాను కాంట్రాక్ట్ యజమానిగా నియమిస్తుంది మరియు ఆ యజమానికి మాత్రమే ఒక పద్ధతికి యాక్సెస్‌ను పరిమితం చేయడానికి ఒక మాడిఫైయర్‌ను అందిస్తుంది.

1contract Ownable {
2 address public owner;
3
4 constructor() internal {
5 owner = msg.sender;
6 }
7
8 modifier onlyOwner() {
9 require(owner == msg.sender, "Ownable: పిలుపుదారు యజమాని కాదు");
10 _;
11 }
12}
అన్నీ చూపించు

మీ కాంట్రాక్ట్‌లో ఇలాంటి నిర్మాణ బ్లాక్‌ను ఉపయోగించడానికి, మీరు మొదట దానిని దిగుమతి చేసుకోవాలి, ఆపై మీ స్వంత కాంట్రాక్టులలో దాని నుండి విస్తరించాలి. ఇది మీ స్వంత ఫంక్షన్‌లను సురక్షితంగా చేయడానికి బేస్ Ownable కాంట్రాక్ట్ అందించిన మాడిఫైయర్‌ను ఉపయోగించడానికి మిమ్మల్ని అనుమతిస్తుంది.

1import ".../Ownable.sol"; // దిగుమతి చేసుకున్న లైబ్రరీకి పాత్
2
3contract MyContract is Ownable {
4 // కింది ఫంక్షన్‌ను యజమాని మాత్రమే పిలవగలరు
5 function secured() onlyOwner public {
6 msg.sender.transfer(1 ether);
7 }
8}

మరొక ప్రసిద్ధ ఉదాహరణ SafeMath (opens in a new tab) లేదా DsMath (opens in a new tab). ఇవి లైబ్రరీలు (బేస్ కాంట్రాక్టులకు విరుద్ధంగా), ఇవి ఓవర్‌ఫ్లో తనిఖీలతో అంకగణిత ఫంక్షన్‌లను అందిస్తాయి, ఇవి భాష ద్వారా అందించబడవు. మీ కాంట్రాక్ట్‌ను ఓవర్‌ఫ్లోల నుండి రక్షించడానికి స్థానిక అంకగణిత కార్యకలాపాలకు బదులుగా ఈ లైబ్రరీలలో దేనినైనా ఉపయోగించడం మంచి పద్ధతి, లేకపోతే వినాశకరమైన పరిణామాలు ఉండవచ్చు!

ప్రమాణాలు

కంపోజబిలిటీ మరియు ఇంటర్‌ఆపరేబిలిటీని సులభతరం చేయడానికి, ఇతీరియము సంఘం ERCల రూపంలో అనేక ప్రమాణాలను నిర్వచించింది. మీరు వాటి గురించి ప్రమాణాలు విభాగంలో మరింత చదవవచ్చు.

మీ కాంట్రాక్టులలో భాగంగా ERCని చేర్చినప్పుడు, మీ స్వంతంగా రూపొందించడానికి ప్రయత్నించే బదులు ప్రామాణిక అమలుల కోసం చూడటం మంచిది. అనేక స్మార్ట్ కాంట్రాక్ట్ గ్రంథాలయాలు అత్యంత ప్రజాదరణ పొందిన ERCల కోసం అమలులను కలిగి ఉంటాయి. ఉదాహరణకు, సర్వవ్యాప్త ERC20 ఫంగిబుల్ టోకెన్ ప్రమాణం HQ20 (opens in a new tab), DappSys (opens in a new tab) మరియు OpenZeppelin (opens in a new tab)లలో కనుగొనవచ్చు. అదనంగా, కొన్ని ERCలు ERCలోనే భాగంగా ప్రామాణిక అమలులను కూడా అందిస్తాయి.

కొన్ని ERCలు స్వతంత్రంగా ఉండవని, కానీ ఇతర ERCలకు అదనంగా ఉంటాయని పేర్కొనడం విలువైనది. ఉదాహరణకు, ERC2612 (opens in a new tab) దాని వినియోగాన్ని మెరుగుపరచడానికి ERC20కి ఒక పొడిగింపును జోడిస్తుంది.

లైబ్రరీని ఎలా జోడించాలి

మీ ప్రాజెక్ట్‌లో ఒక లైబ్రరీని ఎలా చేర్చాలనే దానిపై నిర్దిష్ట సూచనల కోసం మీరు చేర్చుతున్న లైబ్రరీ యొక్క డాక్యుమెంటేషన్‌ను ఎల్లప్పుడూ చూడండి. అనేక Solidity కాంట్రాక్ట్ లైబ్రరీలు npm ఉపయోగించి ప్యాకేజ్ చేయబడ్డాయి, కాబట్టి మీరు వాటిని npm install చేయవచ్చు. కాంట్రాక్టులను కంపైల్ చేయడానికి చాలా సాధనాలు స్మార్ట్ కాంట్రాక్ట్ లైబ్రరీల కోసం మీ node_modulesలో చూస్తాయి, కాబట్టి మీరు ఈ క్రింది విధంగా చేయవచ్చు:

1// ఇది మీ node_modules నుండి @openzeppelin/contracts లైబ్రరీని లోడ్ చేస్తుంది
2import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
3
4contract MyNFT is ERC721 {
5 constructor() ERC721("MyNFT", "MNFT") public { }
6}

మీరు ఉపయోగించే పద్ధతితో సంబంధం లేకుండా, ఒక లైబ్రరీని చేర్చేటప్పుడు, ఎల్లప్పుడూ భాష వెర్షన్‌పై దృష్టి పెట్టండి. ఉదాహరణకు, మీరు మీ కాంట్రాక్టులను Solidity 0.5లో వ్రాస్తుంటే, మీరు Solidity 0.6 కోసం ఒక లైబ్రరీని ఉపయోగించలేరు.

ఎప్పుడు ఉపయోగించాలి

మీ ప్రాజెక్ట్ కోసం స్మార్ట్ కాంట్రాక్ట్ లైబ్రరీని ఉపయోగించడం వల్ల అనేక ప్రయోజనాలు ఉన్నాయి. అన్నింటికన్నా ముందు, ఇది మీ సిస్టమ్‌లో చేర్చగల రెడీ-టు-యూజ్ నిర్మాణ బ్లాక్‌లను అందించడం ద్వారా మీ సమయాన్ని ఆదా చేస్తుంది, అంతేకాక వాటిని మీరే కోడ్ చేయవలసిన అవసరం ఉండదు.

భద్రత కూడా ఒక పెద్ద ప్రయోజనం. ఓపెన్ సోర్స్ స్మార్ట్ కాంట్రాక్ట్ లైబ్రరీలు కూడా తరచుగా ఎక్కువగా పరిశీలించబడతాయి. వాటిపై అనేక ప్రాజెక్టులు ఆధారపడి ఉన్నందున, వాటిని నిరంతరం సమీక్షలో ఉంచడానికి సంఘం నుండి బలమైన ప్రోత్సాహం ఉంది. పునర్వినియోగ కాంట్రాక్ట్ లైబ్రరీల కంటే అప్లికేషన్ కోడ్‌లో లోపాలను కనుగొనడం చాలా సాధారణం. కొన్ని లైబ్రరీలు అదనపు భద్రత కోసం బాహ్య ఆడిట్‌లకు (opens in a new tab) కూడా లోనవుతాయి.

అయినప్పటికీ, స్మార్ట్ కాంట్రాక్ట్ లైబ్రరీలను ఉపయోగించడం వల్ల మీకు పరిచయం లేని కోడ్‌ను మీ ప్రాజెక్ట్‌లో చేర్చడం అనే ప్రమాదం ఉంటుంది. ఒక కాంట్రాక్ట్‌ను దిగుమతి చేసి, దాన్ని నేరుగా మీ ప్రాజెక్ట్‌లో చేర్చడం ఉత్సాహంగా ఉంటుంది, కానీ ఆ కాంట్రాక్ట్ ఏమి చేస్తుందో సరైన అవగాహన లేకుండా, ఊహించని ప్రవర్తన కారణంగా మీరు అనుకోకుండా మీ సిస్టమ్‌లో ఒక సమస్యను ప్రవేశపెట్టవచ్చు. మీరు దిగుమతి చేస్తున్న కోడ్ యొక్క డాక్యుమెంటేషన్‌ను ఎల్లప్పుడూ చదివారని నిర్ధారించుకోండి మరియు దాన్ని మీ ప్రాజెక్ట్‌లో భాగంగా చేసుకునే ముందు కోడ్‌ను కూడా సమీక్షించండి!

చివరగా, ఒక లైబ్రరీని చేర్చాలా వద్దా అని నిర్ణయించుకునేటప్పుడు, దాని మొత్తం వినియోగాన్ని పరిగణించండి. విస్తృతంగా ఆమోదించబడిన దానికి పెద్ద కమ్యూనిటీ మరియు సమస్యల కోసం దానిని పరిశీలించే ఎక్కువ మంది వ్యక్తులు ఉండటం వంటి ప్రయోజనాలు ఉన్నాయి. స్మార్ట్ కాంట్రాక్టులతో నిర్మించేటప్పుడు భద్రత మీ ప్రాథమిక దృష్టిగా ఉండాలి!

OpenZeppelin కాంట్రాక్టులు - సురక్షితమైన స్మార్ట్ కాంట్రాక్ట్ అభివృద్ధి కోసం అత్యంత ప్రజాదరణ పొందిన లైబ్రరీ.

DappSys - స్మార్ట్-కాంట్రాక్టుల కోసం సురక్షితమైన, సరళమైన, సౌకర్యవంతమైన నిర్మాణ-బ్లాకులు.

HQ20 - వాస్తవ ప్రపంచం కోసం పూర్తి-ఫీచర్లతో కూడిన పంపిణీ చేయబడిన అప్లికేషన్‌లను రూపొందించడంలో మీకు సహాయపడటానికి కాంట్రాక్టులు, లైబ్రరీలు మరియు ఉదాహరణలతో కూడిన ఒక Solidity ప్రాజెక్ట్.

thirdweb Solidity SDK - కస్టమ్ స్మార్ట్ కాంట్రాక్టులను సమర్థవంతంగా నిర్మించడానికి అవసరమైన సాధనాలను అందిస్తుంది

మరింత సమాచారం

మీకు సహాయపడిన కమ్యూనిటీ వనరు గురించి తెలుసా? ఈ పేజీని సవరించి, దాన్ని జోడించండి!

ఈ ఆర్టికల్ ఉపయోగపడిందా?