முக்கிய உள்ளடக்கத்திற்குச் செல்லவும்
Change page

ஸ்மார்ட் ஒப்பந்த மொழிகள்

பக்கம் கடைசியாகப் புதுப்பிக்கப்பட்டது: 25 பிப்ரவரி, 2026

Ethereum பற்றிய ஒரு சிறந்த அம்சம் என்னவென்றால், ஸ்மார்ட் ஒப்பந்தங்களை ஒப்பீட்டளவில் டெவலப்பர்களுக்கு எளிதான மொழிகளைப் பயன்படுத்தி நிரலாக்கம் செய்யலாம். உங்களுக்கு Python அல்லது ஏதேனும் சுருள்-அடைப்புக்குறி மொழியில் (curly-bracket language) (opens in a new tab) அனுபவம் இருந்தால், உங்களுக்குப் பரிச்சயமான தொடரியல் (syntax) கொண்ட ஒரு மொழியை நீங்கள் கண்டறியலாம்.

மிகவும் சுறுசுறுப்பான மற்றும் பராமரிக்கப்படும் இரண்டு மொழிகள்:

  • Solidity
  • Vyper

Solidity மற்றும் Vyper ஆகிய இரண்டிலும் ஒப்பந்தங்களை உருவாக்குவதற்கும் சோதிப்பதற்கும் Remix IDE ஒரு விரிவான மேம்பாட்டு சூழலை வழங்குகிறது. குறியீட்டை எழுதத் தொடங்க உலாவியில் உள்ள Remix IDE-ஐ முயற்சிக்கவும் (opens in a new tab).

அதிக அனுபவம் வாய்ந்த டெவலப்பர்கள் Ethereum Virtual Machine-க்கான இடைநிலை மொழியான Yul அல்லது Yul-இன் நீட்டிப்பான Yul+-ஐப் பயன்படுத்த விரும்பலாம்.

நீங்கள் ஆர்வமாக இருந்து, இன்னும் தீவிர மேம்பாட்டில் உள்ள புதிய மொழிகளைச் சோதிக்க உதவ விரும்பினால், தற்போது ஆரம்ப கட்டத்தில் உள்ள வளர்ந்து வரும் ஸ்மார்ட் ஒப்பந்த மொழியான Fe-ஐ நீங்கள் பரிசோதிக்கலாம்.

முன்நிபந்தனைகள்

நிரலாக்க மொழிகள், குறிப்பாக JavaScript அல்லது Python பற்றிய முன் அறிவு, ஸ்மார்ட் ஒப்பந்த மொழிகளில் உள்ள வேறுபாடுகளைப் புரிந்துகொள்ள உங்களுக்கு உதவும். மொழி ஒப்பீடுகளைப் பற்றி ஆழமாக ஆராய்வதற்கு முன், ஸ்மார்ட் ஒப்பந்தங்களை ஒரு கருத்தாகப் புரிந்துகொள்ளுமாறு நாங்கள் பரிந்துரைக்கிறோம். ஸ்மார்ட் ஒப்பந்தங்கள் அறிமுகம்.

Solidity

  • ஸ்மார்ட் ஒப்பந்தங்களைச் செயல்படுத்துவதற்கான பொருள் சார்ந்த (Object-oriented), உயர்நிலை மொழி.
  • C++ ஆல் மிகவும் ஆழமாக ஈர்க்கப்பட்ட சுருள்-அடைப்புக்குறி மொழி.
  • நிலையான தட்டச்சு (statically typed) செய்யப்பட்டது (ஒரு மாறியின் வகை தொகுக்கும் நேரத்தில் (compile time) அறியப்படுகிறது).
  • ஆதரிப்பவை:
    • மரபுரிமை (Inheritance) (நீங்கள் பிற ஒப்பந்தங்களை நீட்டிக்கலாம்).
    • நூலகங்கள் (Libraries) (வெவ்வேறு ஒப்பந்தங்களிலிருந்து நீங்கள் அழைக்கக்கூடிய மறுபயன்பாட்டு குறியீட்டை உருவாக்கலாம் - பிற பொருள் சார்ந்த நிரலாக்க மொழிகளில் உள்ள நிலையான வகுப்பில் உள்ள நிலையான செயல்பாடுகளைப் போல).
    • சிக்கலான பயனர் வரையறுக்கப்பட்ட வகைகள் (Complex user-defined types).

எடுத்துக்காட்டு ஒப்பந்தம்

இந்த எடுத்துக்காட்டு Solidity ஒப்பந்தத் தொடரியல் எப்படி இருக்கும் என்பதைப் பற்றிய புரிதலை உங்களுக்கு வழங்கும். செயல்பாடுகள் மற்றும் மாறிகள் பற்றிய விரிவான விளக்கத்திற்கு, ஆவணங்களைப் பார்க்கவும் (opens in a new tab).

Vyper

  • பைத்தானிக் (Pythonic) நிரலாக்க மொழி
  • வலுவான தட்டச்சு (Strong typing)
  • சிறிய மற்றும் புரிந்துகொள்ளக்கூடிய கம்பைலர் குறியீடு
  • திறமையான பைட் குறியீடு (bytecode) உருவாக்கம்
  • ஒப்பந்தங்களை மிகவும் பாதுகாப்பானதாகவும் தணிக்கை செய்ய எளிதானதாகவும் மாற்றும் நோக்கத்துடன் Solidity-ஐ விட வேண்டுமென்றே குறைவான அம்சங்களைக் கொண்டுள்ளது. Vyper இவற்றை ஆதரிக்காது:
    • மாற்றிகள் (Modifiers)
    • மரபுரிமை (Inheritance)
    • இன்லைன் அசெம்பிளி (Inline assembly)
    • செயல்பாடு ஓவர்லோடிங் (Function overloading)
    • ஆபரேட்டர் ஓவர்லோடிங் (Operator overloading)
    • சுழல்நிலை அழைப்பு (Recursive calling)
    • முடிவிலி நீள சுழல்கள் (Infinite-length loops)
    • பைனரி நிலையான புள்ளிகள் (Binary fixed points)

மேலும் தகவலுக்கு, Vyper-இன் பகுத்தறிவைப் படிக்கவும் (opens in a new tab).

எடுத்துக்காட்டு

இந்த எடுத்துக்காட்டு Vyper ஒப்பந்தத் தொடரியல் எப்படி இருக்கும் என்பதைப் பற்றிய புரிதலை உங்களுக்கு வழங்கும். செயல்பாடுகள் மற்றும் மாறிகள் பற்றிய விரிவான விளக்கத்திற்கு, ஆவணங்களைப் பார்க்கவும் (opens in a new tab).

Yul மற்றும் Yul+

நீங்கள் Ethereum-க்கு புதியவராக இருந்து, ஸ்மார்ட் ஒப்பந்த மொழிகளில் இதுவரை எந்தக் குறியீட்டையும் எழுதவில்லை என்றால், Solidity அல்லது Vyper-உடன் தொடங்குமாறு பரிந்துரைக்கிறோம். ஸ்மார்ட் ஒப்பந்தப் பாதுகாப்புச் சிறந்த நடைமுறைகள் மற்றும் EVM-உடன் பணிபுரியும் விவரங்கள் உங்களுக்குப் பரிச்சயமான பிறகு மட்டுமே Yul அல்லது Yul+-ஐப் பார்க்கவும்.

Yul

  • Ethereum-க்கான இடைநிலை மொழி.
  • EVM மற்றும் Ethereum சுவையிலான WebAssembly-ஆன Ewasm (opens in a new tab)-ஐ ஆதரிக்கிறது, மேலும் இது இரு தளங்களுக்கும் பயன்படுத்தக்கூடிய பொதுவான வகுப்பியாக வடிவமைக்கப்பட்டுள்ளது.
  • EVM மற்றும் Ewasm தளங்கள் இரண்டிற்கும் சமமாகப் பயனளிக்கக்கூடிய உயர்மட்ட மேம்படுத்தல் நிலைகளுக்கான நல்ல இலக்கு.

Yul+

  • Yul-க்கான குறைந்த-நிலை, மிகவும் திறமையான நீட்டிப்பு.
  • ஆரம்பத்தில் ஒரு ஆப்டிமிஸ்டிக் ரோலப் (optimistic rollup) ஒப்பந்தத்திற்காக வடிவமைக்கப்பட்டது.
  • Yul+-ஐ Yul-க்கான ஒரு பரிசோதனை மேம்படுத்தல் முன்மொழிவாகக் கருதலாம், இது அதில் புதிய அம்சங்களைச் சேர்க்கிறது.

எடுத்துக்காட்டு ஒப்பந்தம்

பின்வரும் எளிய எடுத்துக்காட்டு ஒரு பவர் (power) செயல்பாட்டைச் செயல்படுத்துகிறது. இதை solc --strict-assembly --bin input.yul ஐப் பயன்படுத்தித் தொகுக்கலாம். இந்த எடுத்துக்காட்டு input.yul கோப்பில் சேமிக்கப்பட வேண்டும்.

நீங்கள் ஏற்கனவே ஸ்மார்ட் ஒப்பந்தங்களில் நல்ல அனுபவம் பெற்றிருந்தால், Yul-இல் முழுமையான ERC20 செயலாக்கத்தை இங்கே (opens in a new tab) காணலாம்.

Fe

  • Ethereum Virtual Machine (EVM)-க்கான நிலையான தட்டச்சு செய்யப்பட்ட மொழி.
  • Python மற்றும் Rust-ஆல் ஈர்க்கப்பட்டது.
  • Ethereum சுற்றுச்சூழல் அமைப்புக்குப் புதிய டெவலப்பர்களுக்கும் கூட -- கற்றுக்கொள்ள எளிதாக இருக்க வேண்டும் என்பதை நோக்கமாகக் கொண்டுள்ளது.
  • Fe மேம்பாடு இன்னும் ஆரம்ப கட்டத்தில் உள்ளது, இந்த மொழி ஜனவரி 2021 இல் அதன் ஆல்பா வெளியீட்டைக் கொண்டிருந்தது.

எடுத்துக்காட்டு ஒப்பந்தம்

பின்வருவது Fe-இல் செயல்படுத்தப்பட்ட ஒரு எளிய ஒப்பந்தமாகும்.

எப்படித் தேர்ந்தெடுப்பது

வேறு எந்த நிரலாக்க மொழியையும் போலவே, இது பெரும்பாலும் சரியான வேலைக்குச் சரியான கருவியைத் தேர்ந்தெடுப்பது மற்றும் தனிப்பட்ட விருப்பங்களைப் பொறுத்தது.

நீங்கள் இதுவரை எந்த மொழியையும் முயற்சிக்கவில்லை என்றால் கருத்தில் கொள்ள வேண்டிய சில விஷயங்கள் இங்கே:

Solidity-இன் சிறப்பம்சங்கள் என்ன?

  • நீங்கள் ஒரு தொடக்கக்காரராக இருந்தால், பல பயிற்சிகள் மற்றும் கற்றல் கருவிகள் உள்ளன. குறியீட்டு முறை மூலம் கற்றுக்கொள்ளுங்கள் பிரிவில் அதைப் பற்றி மேலும் பார்க்கவும்.
  • நல்ல டெவலப்பர் கருவிகள் கிடைக்கின்றன.
  • Solidity ஒரு பெரிய டெவலப்பர் சமூகத்தைக் கொண்டுள்ளது, அதாவது உங்கள் கேள்விகளுக்கான பதில்களை நீங்கள் மிக விரைவாகக் கண்டறியலாம்.

Vyper-இன் சிறப்பம்சங்கள் என்ன?

  • ஸ்மார்ட் ஒப்பந்தங்களை எழுத விரும்பும் Python டெவலப்பர்கள் தொடங்குவதற்கு இது ஒரு சிறந்த வழியாகும்.
  • Vyper குறைந்த எண்ணிக்கையிலான அம்சங்களைக் கொண்டுள்ளது, இது யோசனைகளை விரைவாக முன்மாதிரி (prototyping) செய்வதற்குச் சிறந்ததாக அமைகிறது.
  • Vyper தணிக்கை செய்ய எளிதானதாகவும் அதிகபட்சமாக மனிதர்கள் படிக்கக்கூடியதாகவும் இருக்க வேண்டும் என்பதை நோக்கமாகக் கொண்டுள்ளது.

Yul மற்றும் Yul+-இன் சிறப்பம்சங்கள் என்ன?

  • எளிமையான மற்றும் செயல்பாட்டு குறைந்த-நிலை மொழி.
  • மூல EVM-க்கு மிக நெருக்கமாகச் செல்ல அனுமதிக்கிறது, இது உங்கள் ஒப்பந்தங்களின் எரிவாயு (gas) பயன்பாட்டை மேம்படுத்த உதவும்.

மொழி ஒப்பீடுகள்

அடிப்படைத் தொடரியல், ஒப்பந்த வாழ்க்கைச் சுழற்சி, இடைமுகங்கள், ஆபரேட்டர்கள், தரவு கட்டமைப்புகள், செயல்பாடுகள், கட்டுப்பாட்டு ஓட்டம் மற்றும் பலவற்றின் ஒப்பீடுகளுக்கு, Auditless-இன் இந்தச் சீட் ஷீட்டைப் (cheatsheet) (opens in a new tab) பார்க்கவும்.

மேலும் படிக்க

இந்தக் கட்டுரை பயனுள்ளதாக இருந்ததா?