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

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

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

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

  • Solidity
  • Vyper

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

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

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

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

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

Solidity

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

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

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

Vyper

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

v0.4.0 నుండి, Vyper మాడ్యూల్ సిస్టమ్ (కొత్త ట్యాబ్‌లో తెరవబడుతుంది)కి మద్దతు ఇస్తుంది. క్లాస్ ఇన్‌హెరిటెన్స్ ద్వారా కాకుండా కంపోజిషన్ ద్వారా కోడ్ పునర్వినియోగం సాధించబడుతుంది.

మరింత సమాచారం కోసం, Vyper హేతుబద్ధతను చదవండి (కొత్త ట్యాబ్‌లో తెరవబడుతుంది).

ఉదాహరణ

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

Yul మరియు Yul+

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

Yul

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

Yul+

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

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

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

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

Fe

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

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

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

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

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

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

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

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

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

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

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

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

భాషా పోలికలు

ప్రాథమిక సింటాక్స్, కాంట్రాక్ట్ జీవితచక్రం, ఇంటర్‌ఫేస్‌లు, ఆపరేటర్‌లు, డేటా స్ట్రక్చర్‌లు, ఫంక్షన్‌లు, కంట్రోల్ ఫ్లో మరియు మరిన్నింటి పోలికల కోసం Auditless వారి ఈ చీట్‌షీట్‌ని (కొత్త ట్యాబ్‌లో తెరవబడుతుంది) చూడండి

తదుపరి పఠనం