பரவலாக்கப்பட்ட ஸ்கூட்டர் வாடகைக்கான மென்பொருளை உருவாக்கவும். இது எளிதாக இருக்கும் என்று யார் சொன்னது?

இந்த கட்டுரையில் நான் எப்படி ஸ்மார்ட் ஒப்பந்தங்களில் பரவலாக்கப்பட்ட ஸ்கூட்டர் வாடகையை உருவாக்க முயற்சித்தோம் மற்றும் எங்களுக்கு ஏன் மையப்படுத்தப்பட்ட சேவை தேவை என்பதைப் பற்றி பேசுவேன்.

பரவலாக்கப்பட்ட ஸ்கூட்டர் வாடகைக்கான மென்பொருளை உருவாக்கவும். இது எளிதாக இருக்கும் என்று யார் சொன்னது?

அது எப்படி ஆரம்பித்தது

நவம்பர் 2018 இல், இன்டர்நெட் ஆஃப் திங்ஸ் மற்றும் பிளாக்செயினுக்கு அர்ப்பணிக்கப்பட்ட ஹேக்கத்தானில் நாங்கள் பங்கேற்றோம். இந்த ஹேக்கத்தானின் ஸ்பான்சரிடமிருந்து ஸ்கூட்டர் எங்களிடம் இருந்ததால், ஸ்கூட்டர் பகிர்வை ஒரு யோசனையாக எங்கள் குழு தேர்ந்தெடுத்தது. முன்மாதிரியானது, NFC வழியாக ஸ்கூட்டரைத் தொடங்க உங்களை அனுமதிக்கும் மொபைல் அப்ளிகேஷனைப் போல் இருந்தது. சந்தைப்படுத்தல் பார்வையில், இந்த யோசனையானது "பிரகாசமான எதிர்காலம்" பற்றிய கதையால் ஆதரிக்கப்பட்டது, அங்கு ஒரு திறந்த சுற்றுச்சூழல் அமைப்புடன், எவரும் ஒரு குத்தகைதாரர் அல்லது நில உரிமையாளராக முடியும், இவை அனைத்தும் ஸ்மார்ட் ஒப்பந்தங்களின் அடிப்படையில்.

எங்கள் பங்குதாரர்கள் இந்த யோசனையை மிகவும் விரும்பினர், மேலும் கண்காட்சிகளில் காட்சிக்கு முன்மாதிரியாக மாற்ற முடிவு செய்தனர். 2019 இல் Mobile World Congress மற்றும் Bosch Connected World இல் பல வெற்றிகரமான ஆர்ப்பாட்டங்களுக்குப் பிறகு, உண்மையான பயனர்களான Deutsche Telekom ஊழியர்களுடன் ஸ்கூட்டர் வாடகையை சோதிக்க முடிவு செய்யப்பட்டது. எனவே முழு அளவிலான எம்விபியை உருவாக்கத் தொடங்கினோம்.

ஊன்றுகோல் மீது பிளாக்செயின்

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

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

பரவலாக்கப்பட்ட ஸ்கூட்டர் வாடகைக்கான மென்பொருளை உருவாக்கவும். இது எளிதாக இருக்கும் என்று யார் சொன்னது?

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

மேலே உள்ள எல்லாவற்றிலும் தளத்தின் ஈரப்பதம் சேர்க்கப்பட்டுள்ளது. எடுத்துக்காட்டாக, ERC-20 டோக்கன்களிலிருந்து மாறுபட்ட தர்க்கத்துடன் கூடிய ஸ்மார்ட் ஒப்பந்தத்தை நீங்கள் எழுதினால், பிழை கையாளுதல் சிக்கல்களைச் சந்திப்பீர்கள். வழக்கமாக, உள்ளீடு தவறாக இருந்தால் அல்லது எங்கள் முறைகள் சரியாக வேலை செய்யவில்லை என்றால், பதில் ஒரு பிழைக் குறியீட்டைப் பெறுவோம். Ethereum விஷயத்தில், இந்த செயல்பாட்டைச் செய்ய செலவழித்த வாயுவின் அளவைத் தவிர வேறு எதையும் நாம் பெற முடியாது. எரிவாயு என்பது பரிவர்த்தனைகள் மற்றும் கணக்கீடுகளுக்கு செலுத்த வேண்டிய ஒரு நாணயம்: உங்கள் குறியீட்டில் அதிக செயல்பாடுகள் இருந்தால், நீங்கள் அதிகமாக செலுத்துவீர்கள். குறியீடு ஏன் வேலை செய்யவில்லை என்பதைப் புரிந்து கொள்ள, சாத்தியமான எல்லா பிழைகளையும் உருவகப்படுத்துவதன் மூலம் முதலில் அதைச் சோதித்து, செலவழிக்கப்பட்ட வாயுவை பிழைக் குறியீடாக ஹார்ட்கோட் செய்யவும். ஆனால் உங்கள் குறியீட்டை மாற்றினால், இந்த பிழை கையாளுதல் உடைந்து விடும்.

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

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

பரவலாக்கப்பட்ட ஸ்கூட்டர் வாடகைக்கான மென்பொருளை உருவாக்கவும். இது எளிதாக இருக்கும் என்று யார் சொன்னது?

துளை உள்ள சீட்டு: சுய-இறையாண்மை அடையாளம்

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

"இதற்கும் துளையில் உள்ள சீட்டுக்கும் என்ன சம்பந்தம்?" - நீங்கள் கேட்க. பெர்லின் மற்றும் பானில் உள்ள எங்கள் சொந்த ஊழியர்களுக்கு உள் சோதனைக்கான சேவையை நாங்கள் தொடங்கினோம், மேலும் ஜெர்மன் தொழிற்சங்கங்களின் வடிவத்தில் சிரமங்களை எதிர்கொண்டோம். ஜெர்மனியில், நிறுவனங்கள் ஊழியர்களின் நடமாட்டத்தை கண்காணிக்க தடை விதிக்கப்பட்டுள்ளது, மேலும் தொழிற்சங்கங்கள் இதை கட்டுப்படுத்துகின்றன. இந்த கட்டுப்பாடுகள் பயனர் அடையாளத் தரவின் மையப்படுத்தப்பட்ட சேமிப்பிற்கு முற்றுப்புள்ளி வைக்கின்றன, ஏனெனில் இந்த விஷயத்தில் நாங்கள் ஊழியர்களின் இருப்பிடத்தை அறிவோம். அதே நேரத்தில், ஸ்கூட்டர்கள் திருடப்பட வாய்ப்புள்ளதால், அவற்றைச் சரிபார்க்காமல் இருக்க முடியவில்லை. ஆனால் சுய-இறையாண்மை அடையாளத்திற்கு நன்றி, எங்கள் பயனர்கள் கணினியை அநாமதேயமாகப் பயன்படுத்தினர், மேலும் ஸ்கூட்டர் வாடகையைத் தொடங்கும் முன் அவர்களின் ஓட்டுநர் உரிமத்தை சரிபார்த்தது. இதன் விளைவாக, நாங்கள் அநாமதேய பயனர் அளவீடுகளைச் சேமித்துள்ளோம்; எங்களிடம் ஆவணங்கள் அல்லது தனிப்பட்ட தரவு எதுவும் இல்லை: அவை அனைத்தும் இயக்கிகளின் சாதனங்களில் உள்ளன. எனவே, SSI க்கு நன்றி, எங்கள் திட்டத்தில் உள்ள சிக்கலுக்கான தீர்வு தோன்றுவதற்கு முன்பே தயாராக இருந்தது.

சாதனம் எனக்கு சிக்கல்களைக் கொடுத்தது

கிரிப்டோகிராஃபியில் நிபுணத்துவம் மற்றும் நிறைய நேரம் தேவைப்படுவதால், சுய-இறையாண்மை அடையாளத்தை நாங்கள் செயல்படுத்தவில்லை. அதற்குப் பதிலாக, எங்கள் கூட்டாளர்களான Jolocom இன் தயாரிப்பைப் பயன்படுத்தி, அவர்களின் மொபைல் வாலட் மற்றும் சேவைகளை எங்கள் தளத்தில் ஒருங்கிணைத்தோம். துரதிர்ஷ்டவசமாக, இந்த தயாரிப்பு ஒரு குறிப்பிடத்தக்க குறைபாட்டைக் கொண்டுள்ளது: முக்கிய வளர்ச்சி மொழி Node.js ஆகும்.

இந்த டெக்னாலஜி ஸ்டாக் ஸ்கூட்டரில் கட்டமைக்கப்பட்ட வன்பொருளின் தேர்வை பெரிதும் கட்டுப்படுத்துகிறது. அதிர்ஷ்டவசமாக, திட்டத்தின் ஆரம்பத்திலேயே, நாங்கள் ராஸ்பெர்ரி பை ஜீரோவைத் தேர்ந்தெடுத்தோம், மேலும் முழு அளவிலான மைக்ரோகம்ப்யூட்டரின் அனைத்து நன்மைகளையும் நாங்கள் பயன்படுத்திக் கொண்டோம். இது ஸ்கூட்டரில் பருமனான Node.js ஐ இயக்க அனுமதித்தது. கூடுதலாக, ஆயத்த கருவிகளைப் பயன்படுத்தி VPN வழியாக கண்காணிப்பு மற்றும் தொலைநிலை அணுகலைப் பெற்றோம்.

முடிவில்

அனைத்து "வலி" மற்றும் பிரச்சனைகள் இருந்தபோதிலும், திட்டம் தொடங்கப்பட்டது. நாங்கள் திட்டமிட்டபடி எல்லாம் வேலை செய்யவில்லை, ஆனால் ஸ்கூட்டர்களை வாடகைக்கு எடுத்து ஓட்டுவது உண்மையில் சாத்தியம்.

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

ஆதாரம்: www.habr.com

கருத்தைச் சேர்