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

స్మార్ట్ కాంట్రాక్ట్ భాషలు

ఎథీరియం గురించిన ఒక గొప్ప విషయం ఏమిటంటే, డెవలపర్‌లకు అనుకూలమైన భాషలను ఉపయోగించి స్మార్ట్ కాంట్రాక్ట్‌లను ప్రోగ్రామ్ చేయవచ్చు. మీకు Python లేదా ఏదైనా కర్లీ-బ్రాకెట్ భాష (opens in a new tab)తో అనుభవం ఉంటే, మీకు తెలిసిన సింటాక్స్‌తో కూడిన భాషను మీరు కనుగొనవచ్చు.

అత్యంత చురుకైన మరియు నిర్వహించబడుతున్న రెండు భాషలు:

  • Solidity
  • Vyper

Solidity మరియు Vyper రెండింటిలోనూ కాంట్రాక్ట్‌లను సృష్టించడానికి మరియు పరీక్షించడానికి Remix IDE ఒక సమగ్ర డెవలప్‌మెంట్ వాతావరణాన్ని అందిస్తుంది. కోడింగ్ ప్రారంభించడానికి ఇన్-బ్రౌజర్ Remix IDEని ప్రయత్నించండి (opens in a new tab).

మరింత అనుభవజ్ఞులైన డెవలపర్‌లు ఎథీరియం వర్చువల్ మెషీన్ (EVM) కోసం ఇంటర్మీడియట్ భాష అయిన Yul లేదా Yulకి పొడిగింపు అయిన Yul+ని కూడా ఉపయోగించాలనుకోవచ్చు.

మీకు ఆసక్తి ఉండి, ఇంకా భారీ అభివృద్ధిలో ఉన్న కొత్త భాషలను పరీక్షించడంలో సహాయపడాలనుకుంటే, మీరు ప్రస్తుతం ప్రారంభ దశలో ఉన్న అభివృద్ధి చెందుతున్న స్మార్ట్ కాంట్రాక్ట్ భాష అయిన Feతో ప్రయోగాలు చేయవచ్చు.

ముందస్తు అవసరాలు

ప్రోగ్రామింగ్ భాషల గురించి, ముఖ్యంగా JavaScript లేదా Python గురించి మునుపటి జ్ఞానం, స్మార్ట్ కాంట్రాక్ట్ భాషలలోని తేడాలను అర్థం చేసుకోవడంలో మీకు సహాయపడుతుంది. భాషా పోలికలలోకి లోతుగా వెళ్లే ముందు స్మార్ట్ కాంట్రాక్ట్‌లను ఒక కాన్సెప్ట్‌గా అర్థం చేసుకోవాలని కూడా మేము సిఫార్సు చేస్తున్నాము. స్మార్ట్ కాంట్రాక్ట్‌ల పరిచయం.

Solidity

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

ఉదాహరణ కాంట్రాక్ట్

ఈ ఉదాహరణ మీకు Solidity కాంట్రాక్ట్ సింటాక్స్ ఎలా ఉంటుందో ఒక అవగాహనను ఇస్తుంది. ఫంక్షన్‌లు మరియు వేరియబుల్స్ యొక్క మరింత వివరణాత్మక వర్ణన కోసం, డాక్స్‌ని చూడండి (opens in a new tab).

Vyper

  • పైథానిక్ ప్రోగ్రామింగ్ భాష
  • స్ట్రాంగ్ టైపింగ్
  • చిన్న మరియు అర్థమయ్యే కంపైలర్ కోడ్
  • సమర్థవంతమైన బైట్‌కోడ్ ఉత్పత్తి
  • కాంట్రాక్ట్‌లను మరింత సురక్షితంగా మరియు ఆడిట్ చేయడానికి సులభతరం చేసే లక్ష్యంతో ఉద్దేశపూర్వకంగా Solidity కంటే తక్కువ ఫీచర్‌లను కలిగి ఉంది. Vyper వీటికి మద్దతు ఇవ్వదు:
    • మాడిఫైయర్‌లు
    • ఇన్‌హెరిటెన్స్
    • ఇన్‌లైన్ అసెంబ్లీ
    • ఫంక్షన్ ఓవర్‌లోడింగ్
    • ఆపరేటర్ ఓవర్‌లోడింగ్
    • రికర్సివ్ కాలింగ్
    • అనంతమైన-పొడవు లూప్‌లు
    • బైనరీ ఫిక్స్‌డ్ పాయింట్‌లు

మరింత సమాచారం కోసం, Vyper హేతుబద్ధతను చదవండి (opens in a new tab).

ఉదాహరణ

ఈ ఉదాహరణ మీకు Vyper కాంట్రాక్ట్ సింటాక్స్ ఎలా ఉంటుందో ఒక అవగాహనను ఇస్తుంది. ఫంక్షన్‌లు మరియు వేరియబుల్స్ యొక్క మరింత వివరణాత్మక వర్ణన కోసం, డాక్స్‌ని చూడండి (opens in a new tab).

Yul మరియు Yul+

మీరు ఎథీరియంకి కొత్త అయితే మరియు స్మార్ట్ కాంట్రాక్ట్ భాషలతో ఇంకా ఎలాంటి కోడింగ్ చేయకపోతే, Solidity లేదా Vyperతో ప్రారంభించాలని మేము సిఫార్సు చేస్తున్నాము. మీరు స్మార్ట్ కాంట్రాక్ట్ భద్రతా ఉత్తమ పద్ధతులు మరియు EVMతో పనిచేయడం గురించిన ప్రత్యేకతలతో పరిచయం పెంచుకున్న తర్వాత మాత్రమే Yul లేదా Yul+ని పరిశీలించండి.

Yul

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

Yul+

  • Yulకి తక్కువ-స్థాయి, అత్యంత సమర్థవంతమైన పొడిగింపు.
  • ప్రారంభంలో ఆశావాద రోలప్ కాంట్రాక్ట్ కోసం రూపొందించబడింది.
  • Yul+ని Yulకి ప్రయోగాత్మక అప్‌గ్రేడ్ ప్రతిపాదనగా చూడవచ్చు, దానికి కొత్త ఫీచర్‌లను జోడిస్తుంది.

ఉదాహరణ కాంట్రాక్ట్

కింది సాధారణ ఉదాహరణ పవర్ ఫంక్షన్‌ను అమలు చేస్తుంది. దీన్ని solc --strict-assembly --bin input.yul ఉపయోగించి కంపైల్ చేయవచ్చు. ఉదాహరణను input.yul ఫైల్‌లో నిల్వ చేయాలి.

మీకు ఇప్పటికే స్మార్ట్ కాంట్రాక్ట్‌లతో మంచి అనుభవం ఉంటే, Yulలో పూర్తి ERC-20 అమలును ఇక్కడ (opens in a new tab) కనుగొనవచ్చు.

Fe

  • ఎథీరియం వర్చువల్ మెషీన్ (EVM) కోసం స్టాటికల్లీ టైప్ చేయబడిన భాష.
  • Python మరియు Rust ద్వారా ప్రేరణ పొందింది.
  • ఎథీరియం పర్యావరణ వ్యవస్థకు కొత్త అయిన డెవలపర్‌లకు కూడా -- నేర్చుకోవడానికి సులభంగా ఉండాలని లక్ష్యంగా పెట్టుకుంది.
  • Fe అభివృద్ధి ఇంకా ప్రారంభ దశలోనే ఉంది, ఈ భాష జనవరి 2021లో దాని ఆల్ఫా విడుదలను కలిగి ఉంది.

ఉదాహరణ కాంట్రాక్ట్

కిందిది Feలో అమలు చేయబడిన ఒక సాధారణ కాంట్రాక్ట్.

ఎలా ఎంచుకోవాలి

మరేదైనా ప్రోగ్రామింగ్ భాష మాదిరిగానే, ఇది ఎక్కువగా సరైన పని కోసం సరైన సాధనాన్ని ఎంచుకోవడంతో పాటు వ్యక్తిగత ప్రాధాన్యతలకు సంబంధించినది.

మీరు ఇంకా ఏ భాషలనూ ప్రయత్నించకపోతే పరిగణించవలసిన కొన్ని విషయాలు ఇక్కడ ఉన్నాయి:

Solidity గురించి గొప్ప విషయం ఏమిటి?

  • మీరు అనుభవశూన్యుడు అయితే, అక్కడ అనేక ట్యుటోరియల్స్ మరియు అభ్యాస సాధనాలు ఉన్నాయి. కోడింగ్ ద్వారా నేర్చుకోండి విభాగంలో దాని గురించి మరింత చూడండి.
  • మంచి డెవలపర్ టూలింగ్ అందుబాటులో ఉంది.
  • Solidity పెద్ద డెవలపర్ కమ్యూనిటీని కలిగి ఉంది, అంటే మీరు మీ ప్రశ్నలకు చాలా త్వరగా సమాధానాలను కనుగొనే అవకాశం ఉంది.

Vyper గురించి గొప్ప విషయం ఏమిటి?

  • స్మార్ట్ కాంట్రాక్ట్‌లను వ్రాయాలనుకునే Python డెవలపర్‌లు ప్రారంభించడానికి గొప్ప మార్గం.
  • Vyper తక్కువ సంఖ్యలో ఫీచర్‌లను కలిగి ఉంది, ఇది ఆలోచనల యొక్క శీఘ్ర ప్రోటోటైపింగ్‌కు గొప్పగా చేస్తుంది.
  • Vyper ఆడిట్ చేయడానికి సులభంగా మరియు గరిష్టంగా మానవులు చదవగలిగేలా ఉండాలని లక్ష్యంగా పెట్టుకుంది.

Yul మరియు Yul+ గురించి గొప్ప విషయం ఏమిటి?

  • సరళమైన మరియు ఫంక్షనల్ తక్కువ-స్థాయి భాష.
  • ముడి EVMకి మరింత దగ్గరగా వెళ్లడానికి అనుమతిస్తుంది, ఇది మీ కాంట్రాక్ట్‌ల గ్యాస్ వినియోగాన్ని ఆప్టిమైజ్ చేయడంలో సహాయపడుతుంది.

భాషా పోలికలు

ప్రాథమిక సింటాక్స్, కాంట్రాక్ట్ జీవితచక్రం, ఇంటర్‌ఫేస్‌లు, ఆపరేటర్‌లు, డేటా స్ట్రక్చర్‌లు, ఫంక్షన్‌లు, కంట్రోల్ ఫ్లో మరియు మరిన్నింటి పోలికల కోసం Auditless ద్వారా ఈ చీట్‌షీట్‌ని (opens in a new tab) తనిఖీ చేయండి.

తదుపరి పఠనం