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

திறன் ஒப்பந்தங்களை மேம்படுத்துதல்

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

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

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

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

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

திறன் ஒப்பந்த மேம்படுத்தல் என்றால் என்ன?

திறன் ஒப்பந்த மேம்படுத்தல் என்பது ஒப்பந்தத்தின் நிலையைப் பாதுகாக்கும் அதே வேளையில் திறன் ஒப்பந்தத்தின் வணிக தர்க்கத்தை மாற்றுவதை உள்ளடக்குகிறது. மேம்படுத்தும் திறன் மற்றும் மாற்றும் திறன் ஆகியவை ஒன்றல்ல என்பதைத் தெளிவுபடுத்துவது முக்கியம், குறிப்பாக திறன் ஒப்பந்தங்களின் சூழலில்.

எத்திரியம் பிணையத்தில் உள்ள ஒரு முகவரிக்கு நிலைநிறுத்தப்பட்ட நிரலை உங்களால் இன்னும் மாற்ற முடியாது. ஆனால் பயனர்கள் திறன் ஒப்பந்தத்துடன் தொடர்பு கொள்ளும்போது செயல்படுத்தப்படும் குறியீட்டை உங்களால் மாற்ற முடியும்.

பின்வரும் முறைகள் மூலம் இதைச் செய்யலாம்:

  1. திறன் ஒப்பந்தத்தின் பல பதிப்புகளை உருவாக்குதல் மற்றும் பழைய ஒப்பந்தத்திலிருந்து ஒப்பந்தத்தின் புதிய நிகழ்வுக்கு நிலையை (அதாவது, தரவை) நகர்த்துதல்.

  2. வணிக தர்க்கம் மற்றும் நிலையைச் சேமிக்க தனித்தனி ஒப்பந்தங்களை உருவாக்குதல்.

  3. மாற்றவியலாத பதிலி ஒப்பந்தத்திலிருந்து மாற்றக்கூடிய தர்க்க ஒப்பந்தத்திற்கு செயல்பாட்டு அழைப்புகளைப் பிரதிநிதித்துவப்படுத்த பதிலி வடிவங்களைப் பயன்படுத்துதல்.

  4. குறிப்பிட்ட செயல்பாடுகளைச் செயல்படுத்த நெகிழ்வான செயற்கைக்கோள் ஒப்பந்தங்களுடன் இடைமுகமாகச் செயல்படும் மற்றும் அவற்றைச் சார்ந்திருக்கும் மாற்றவியலாத முக்கிய ஒப்பந்தத்தை உருவாக்குதல்.

  5. பதிலி ஒப்பந்தத்திலிருந்து தர்க்க ஒப்பந்தங்களுக்கு செயல்பாட்டு அழைப்புகளைப் பிரதிநிதித்துவப்படுத்த வைர வடிவத்தைப் பயன்படுத்துதல்.

மேம்படுத்தல் வழிமுறை #1: ஒப்பந்த நகர்வு

ஒப்பந்த நகர்வு என்பது பதிப்பாக்கத்தை அடிப்படையாகக் கொண்டது—அதாவது ஒரே மென்பொருளின் தனித்துவமான நிலைகளை உருவாக்கி நிர்வகிக்கும் யோசனை. ஒப்பந்த நகர்வு என்பது ஏற்கனவே உள்ள திறன் ஒப்பந்தத்தின் புதிய நிகழ்வை நிலைநிறுத்துவதையும், சேமிப்பகம் மற்றும் நிலுவைகளைப் புதிய ஒப்பந்தத்திற்கு மாற்றுவதையும் உள்ளடக்குகிறது.

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

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

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

ஒப்பந்த நகர்வு பற்றி மேலும். (opens in a new tab)

மேம்படுத்தல் வழிமுறை #2: தரவுப் பிரிப்பு

திறன் ஒப்பந்தங்களை மேம்படுத்துவதற்கான மற்றொரு முறை, வணிக தர்க்கம் மற்றும் தரவு சேமிப்பகத்தை தனித்தனி ஒப்பந்தங்களாகப் பிரிப்பதாகும். அதாவது பயனர்கள் தர்க்க ஒப்பந்தத்துடன் தொடர்பு கொள்கிறார்கள், அதே நேரத்தில் தரவு சேமிப்பக ஒப்பந்தத்தில் சேமிக்கப்படுகிறது.

பயனர்கள் செயலியுடன் தொடர்பு கொள்ளும்போது செயல்படுத்தப்படும் குறியீட்டை தர்க்க ஒப்பந்தம் கொண்டுள்ளது. இது சேமிப்பக ஒப்பந்தத்தின் முகவரியையும் கொண்டுள்ளது மற்றும் தரவைப் பெறவும் அமைக்கவும் அதனுடன் தொடர்பு கொள்கிறது.

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

இயல்பாக, சேமிப்பக ஒப்பந்தம் மாற்றவியலாதது—ஆனால் அது சுட்டிக்காட்டும் தர்க்க ஒப்பந்தத்தை புதிய செயலாக்கத்துடன் நீங்கள் மாற்றலாம். இது EVM-இல் இயங்கும் குறியீட்டை மாற்றும், அதே நேரத்தில் சேமிப்பகம் மற்றும் நிலுவைகளை அப்படியே வைத்திருக்கும்.

இந்த மேம்படுத்தல் முறையைப் பயன்படுத்த, சேமிப்பக ஒப்பந்தத்தில் தர்க்க ஒப்பந்தத்தின் முகவரியைப் புதுப்பிக்க வேண்டும். முன்னர் விளக்கப்பட்ட காரணங்களுக்காக புதிய தர்க்க ஒப்பந்தத்தை சேமிப்பக ஒப்பந்தத்தின் முகவரியுடன் நீங்கள் கட்டமைக்க வேண்டும்.

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

மேம்படுத்தல் வழிமுறை #3: பதிலி வடிவங்கள்

வணிக தர்க்கம் மற்றும் தரவை தனித்தனி ஒப்பந்தங்களில் வைத்திருக்க பதிலி வடிவமும் தரவுப் பிரிப்பைப் பயன்படுத்துகிறது. இருப்பினும், பதிலி வடிவத்தில், சேமிப்பக ஒப்பந்தம் (பதிலி என்று அழைக்கப்படுகிறது) குறியீடு செயலாக்கத்தின் போது தர்க்க ஒப்பந்தத்தை அழைக்கிறது. இது தரவுப் பிரிப்பு முறையின் தலைகீழ் ஆகும், அங்கு தர்க்க ஒப்பந்தம் சேமிப்பக ஒப்பந்தத்தை அழைக்கிறது.

பதிலி வடிவத்தில் இதுதான் நடக்கிறது:

  1. பயனர்கள் பதிலி ஒப்பந்தத்துடன் தொடர்பு கொள்கிறார்கள், இது தரவைச் சேமிக்கிறது, ஆனால் வணிக தர்க்கத்தைக் கொண்டிருக்கவில்லை.

  2. பதிலி ஒப்பந்தம் தர்க்க ஒப்பந்தத்தின் முகவரியைச் சேமிக்கிறது மற்றும் delegatecall செயல்பாட்டைப் பயன்படுத்தி அனைத்து செயல்பாட்டு அழைப்புகளையும் தர்க்க ஒப்பந்தத்திற்கு (வணிக தர்க்கத்தைக் கொண்டுள்ளது) பிரதிநிதித்துவப்படுத்துகிறது.

  3. அழைப்பு தர்க்க ஒப்பந்தத்திற்கு அனுப்பப்பட்ட பிறகு, தர்க்க ஒப்பந்தத்திலிருந்து திரும்பிய தரவு மீட்டெடுக்கப்பட்டு பயனருக்குத் திருப்பித் தரப்படும்.

பதிலி வடிவங்களைப் பயன்படுத்த delegatecall செயல்பாடு பற்றிய புரிதல் தேவை. அடிப்படையில், delegatecall என்பது ஒரு ஒப்பந்தத்தை மற்றொரு ஒப்பந்தத்தை அழைக்க அனுமதிக்கும் ஒரு செயல்பாட்டுக் குறியீடு ஆகும், அதே நேரத்தில் உண்மையான குறியீடு செயலாக்கம் அழைக்கும் ஒப்பந்தத்தின் சூழலில் நடக்கிறது. பதிலி வடிவங்களில் delegatecall ஐப் பயன்படுத்துவதன் ஒரு உட்குறிப்பு என்னவென்றால், பதிலி ஒப்பந்தம் அதன் சேமிப்பகத்தில் படித்து எழுதுகிறது மற்றும் ஒரு உள் செயல்பாட்டை அழைப்பது போல தர்க்க ஒப்பந்தத்தில் சேமிக்கப்பட்ட தர்க்கத்தைச் செயல்படுத்துகிறது.

Solidity ஆவணத்திலிருந்து (opens in a new tab):

delegatecall எனப்படும் செய்தி அழைப்பின் ஒரு சிறப்பு மாறுபாடு உள்ளது, இது இலக்கு முகவரியில் உள்ள குறியீடு அழைக்கும் ஒப்பந்தத்தின் சூழலில் (அதாவது, முகவரியில்) செயல்படுத்தப்படுகிறது மற்றும் msg.sender மற்றும் msg.value அவற்றின் மதிப்புகளை மாற்றாது என்பதைத் தவிர செய்தி அழைப்பிற்கு ஒத்ததாகும். இதன் பொருள் ஒரு ஒப்பந்தம் இயக்க நேரத்தில் வேறு முகவரியிலிருந்து குறியீட்டை மாறும் வகையில் ஏற்ற முடியும். சேமிப்பகம், தற்போதைய முகவரி மற்றும் இருப்பு ஆகியவை இன்னும் அழைக்கும் ஒப்பந்தத்தையே குறிக்கின்றன, குறியீடு மட்டுமே அழைக்கப்பட்ட முகவரியிலிருந்து எடுக்கப்படுகிறது.

ஒரு பயனர் ஒரு செயல்பாட்டை அழைக்கும் போதெல்லாம் delegatecall ஐ அழைக்க பதிலி ஒப்பந்தத்திற்குத் தெரியும், ஏனெனில் அதில் fallback செயல்பாடு கட்டமைக்கப்பட்டுள்ளது. Solidity நிரலாக்கத்தில் ஒரு செயல்பாட்டு அழைப்பு ஒப்பந்தத்தில் குறிப்பிடப்பட்டுள்ள செயல்பாடுகளுடன் பொருந்தாதபோது பின்னடைவுச் செயல்பாடு (opens in a new tab) செயல்படுத்தப்படுகிறது.

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

பதிலி ஒப்பந்தம் இயல்பாகவே மாற்றவியலாதது, ஆனால் புதுப்பிக்கப்பட்ட வணிக தர்க்கத்துடன் புதிய தர்க்க ஒப்பந்தங்களை உருவாக்க முடியும். மேம்படுத்தலைச் செய்வது என்பது பதிலி ஒப்பந்தத்தில் குறிப்பிடப்பட்டுள்ள தர்க்க ஒப்பந்தத்தின் முகவரியை மாற்றுவதாகும்.

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

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

பதிலி வடிவங்கள் பற்றி மேலும் (opens in a new tab).

மேம்படுத்தல் வழிமுறை #4: உத்தி வடிவம்

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

இந்த வழக்கில் உள்ள முக்கிய ஒப்பந்தம் முக்கிய வணிக தர்க்கத்தைக் கொண்டுள்ளது, ஆனால் சில செயல்பாடுகளைச் செயல்படுத்த பிற திறன் ஒப்பந்தங்களுடன் ("செயற்கைக்கோள் ஒப்பந்தங்கள்") இடைமுகமாகச் செயல்படுகிறது. இந்த முக்கிய ஒப்பந்தம் ஒவ்வொரு செயற்கைக்கோள் ஒப்பந்தத்திற்கான முகவரியையும் சேமிக்கிறது மற்றும் செயற்கைக்கோள் ஒப்பந்தத்தின் வெவ்வேறு செயலாக்கங்களுக்கு இடையில் மாறலாம்.

நீங்கள் ஒரு புதிய செயற்கைக்கோள் ஒப்பந்தத்தை உருவாக்கலாம் மற்றும் புதிய முகவரியுடன் முக்கிய ஒப்பந்தத்தை உள்ளமைக்கலாம். திறன் ஒப்பந்தத்திற்கான உத்திகளை மாற்ற (அதாவது, புதிய தர்க்கத்தைச் செயல்படுத்த) இது உங்களை அனுமதிக்கிறது.

முன்னர் விவாதிக்கப்பட்ட பதிலி வடிவத்தைப் போலவே இருந்தாலும், உத்தி வடிவம் வேறுபட்டது, ஏனெனில் பயனர்கள் தொடர்பு கொள்ளும் முக்கிய ஒப்பந்தம் வணிக தர்க்கத்தைக் கொண்டுள்ளது. இந்த வடிவத்தைப் பயன்படுத்துவது முக்கிய உள்கட்டமைப்பைப் பாதிக்காமல் திறன் ஒப்பந்தத்தில் வரையறுக்கப்பட்ட மாற்றங்களை அறிமுகப்படுத்துவதற்கான வாய்ப்பை உங்களுக்கு வழங்குகிறது.

முக்கிய குறைபாடு என்னவென்றால், இந்த வடிவம் பெரும்பாலும் சிறிய மேம்படுத்தல்களை வெளியிடுவதற்கு மட்டுமே பயனுள்ளதாக இருக்கும். மேலும், முக்கிய ஒப்பந்தம் சமரசம் செய்யப்பட்டால் (எ.கா., ஹேக் மூலம்), இந்த மேம்படுத்தல் முறையை உங்களால் பயன்படுத்த முடியாது.

மேம்படுத்தல் வழிமுறை #5: வைர வடிவம்

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

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

ஒரு பயனர் செயல்பாட்டு அழைப்பைச் செய்யும்போது, அந்தச் செயல்பாட்டைச் செயல்படுத்துவதற்குப் பொறுப்பான முகப்பைக் கண்டறிய பதிலி ஒப்பந்தம் வரைபடத்தைச் சரிபார்க்கிறது. பின்னர் அது delegatecall ஐ (பின்னடைவுச் செயல்பாட்டைப் பயன்படுத்தி) அழைக்கிறது மற்றும் அழைப்பை பொருத்தமான தர்க்க ஒப்பந்தத்திற்குத் திருப்பி விடுகிறது.

பாரம்பரிய பதிலி மேம்படுத்தல் வடிவங்களை விட வைர மேம்படுத்தல் வடிவம் சில நன்மைகளைக் கொண்டுள்ளது:

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

  2. அனைத்து திறன் ஒப்பந்தங்களும் (பதிலி வடிவங்களில் பயன்படுத்தப்படும் தர்க்க ஒப்பந்தங்கள் உட்பட) 24KB அளவு வரம்பைக் கொண்டுள்ளன, இது ஒரு வரம்பாக இருக்கலாம்—குறிப்பாக அதிக செயல்பாடுகள் தேவைப்படும் சிக்கலான ஒப்பந்தங்களுக்கு. பல தர்க்க ஒப்பந்தங்களில் செயல்பாடுகளைப் பிரிப்பதன் மூலம் இந்தச் சிக்கலைத் தீர்ப்பதை வைர வடிவம் எளிதாக்குகிறது.

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

வைர வடிவம் பற்றி மேலும் (opens in a new tab).

திறன் ஒப்பந்தங்களை மேம்படுத்துவதன் நன்மைகள் மற்றும் தீமைகள்

நன்மைகள்தீமைகள்
திறன் ஒப்பந்த மேம்படுத்தல் நிலைநிறுத்தத்திற்குப் பிந்தைய கட்டத்தில் கண்டறியப்பட்ட பாதிப்புகளைச் சரிசெய்வதை எளிதாக்கும்.திறன் ஒப்பந்தங்களை மேம்படுத்துவது குறியீடு மாற்றவியலாமை என்ற கருத்தை மறுக்கிறது, இது பரவலாக்கம் மற்றும் பாதுகாப்பிற்கான தாக்கங்களைக் கொண்டுள்ளது.
பரவலாக்கப்பட்ட செயலிகளில் புதிய அம்சங்களைச் சேர்க்க டெவலப்பர்கள் தர்க்க மேம்படுத்தல்களைப் பயன்படுத்தலாம்.திறன் ஒப்பந்தங்களை தன்னிச்சையாக மாற்ற மாட்டார்கள் என்று பயனர்கள் டெவலப்பர்களை நம்ப வேண்டும்.
பிழைகளை விரைவாகச் சரிசெய்ய முடியும் என்பதால் திறன் ஒப்பந்த மேம்படுத்தல்கள் இறுதிப் பயனர்களுக்கான பாதுகாப்பை மேம்படுத்தும்.திறன் ஒப்பந்தங்களில் மேம்படுத்தல் செயல்பாட்டை நிரலாக்கம் செய்வது மற்றொரு சிக்கலான அடுக்கைச் சேர்க்கிறது மற்றும் முக்கியமான குறைபாடுகளின் சாத்தியத்தை அதிகரிக்கிறது.
ஒப்பந்த மேம்படுத்தல்கள் டெவலப்பர்களுக்கு வெவ்வேறு அம்சங்களைப் பரிசோதிக்கவும் காலப்போக்கில் dapp-களை மேம்படுத்தவும் அதிக இடமளிக்கின்றன.திறன் ஒப்பந்தங்களை மேம்படுத்துவதற்கான வாய்ப்பு, மேம்பாட்டுக் கட்டத்தில் உரிய கவனம் செலுத்தாமல் திட்டங்களை விரைவாகத் தொடங்க டெவலப்பர்களை ஊக்குவிக்கலாம்.
திறன் ஒப்பந்தங்களில் பாதுகாப்பற்ற அணுகல் கட்டுப்பாடு அல்லது மையப்படுத்தல் தீங்கிழைக்கும் நபர்கள் அங்கீகரிக்கப்படாத மேம்படுத்தல்களைச் செய்வதை எளிதாக்கும்.

திறன் ஒப்பந்தங்களை மேம்படுத்துவதற்கான பரிசீலனைகள்

  1. அங்கீகரிக்கப்படாத திறன் ஒப்பந்த மேம்படுத்தல்களைத் தடுக்க பாதுகாப்பான அணுகல் கட்டுப்பாடு/அங்கீகார வழிமுறைகளைப் பயன்படுத்தவும், குறிப்பாக பதிலி வடிவங்கள், உத்தி வடிவங்கள் அல்லது தரவுப் பிரிப்பைப் பயன்படுத்தினால். ஒப்பந்தத்தின் உரிமையாளர் மட்டுமே அதை அழைக்க முடியும் என்பது போல, மேம்படுத்தல் செயல்பாட்டிற்கான அணுகலைக் கட்டுப்படுத்துவது ஒரு எடுத்துக்காட்டு.

  2. திறன் ஒப்பந்தங்களை மேம்படுத்துவது ஒரு சிக்கலான செயலாகும், மேலும் பாதிப்புகள் அறிமுகப்படுத்தப்படுவதைத் தடுக்க அதிக அளவிலான விடாமுயற்சி தேவைப்படுகிறது.

  3. மேம்படுத்தல்களைச் செயல்படுத்தும் செயல்முறையைப் பரவலாக்குவதன் மூலம் நம்பிக்கை அனுமானங்களைக் குறைக்கவும். சாத்தியமான உத்திகளில் மேம்படுத்தல்களைக் கட்டுப்படுத்த பல-கையொப்பப் பணப்பை ஒப்பந்தத்தைப் பயன்படுத்துதல் அல்லது மேம்படுத்தலை அங்கீகரிக்க DAO-இன் உறுப்பினர்கள் வாக்களிக்கக் கோருதல் ஆகியவை அடங்கும்.

  4. ஒப்பந்தங்களை மேம்படுத்துவதில் உள்ள செலவுகள் குறித்து விழிப்புடன் இருங்கள். எடுத்துக்காட்டாக, ஒப்பந்த நகர்வின் போது பழைய ஒப்பந்தத்திலிருந்து புதிய ஒப்பந்தத்திற்கு நிலையை (எ.கா., பயனர் நிலுவைகள்) நகலெடுப்பதற்கு ஒன்றுக்கு மேற்பட்ட பரிவர்த்தனைகள் தேவைப்படலாம், அதாவது அதிக எரிவாயு கட்டணம்.

  5. பயனர்களைப் பாதுகாக்க நேரப்பூட்டுகளை (timelocks) செயல்படுத்துவதைக் கவனியுங்கள். நேரப்பூட்டு என்பது ஒரு அமைப்பில் ஏற்படும் மாற்றங்களில் செயல்படுத்தப்படும் தாமதத்தைக் குறிக்கிறது. மேம்படுத்தல்களைக் கட்டுப்படுத்த பல-கையொப்ப ஆளுகை அமைப்புடன் நேரப்பூட்டுகளை இணைக்கலாம்: முன்மொழியப்பட்ட நடவடிக்கை தேவையான ஒப்புதல் வரம்பை அடைந்தால், முன்வரையறுக்கப்பட்ட தாமதக் காலம் முடியும் வரை அது செயல்படுத்தப்படாது.

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

வளங்கள்

ஓப்பன்செப்பெலின் மேம்படுத்தல் செருகுநிரல்கள் - மேம்படுத்தக்கூடிய திறன் ஒப்பந்தங்களை நிலைநிறுத்துவதற்கும் பாதுகாப்பதற்குமான கருவிகளின் தொகுப்பு.

பயிற்சிகள்

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