Ethereum தனியார் நெட்வொர்க் - உங்கள் சொந்த Ethereum Blockchain ஐ உருவாக்கவும்!



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

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

Ethereum அபிவிருத்தியில் ஆர்வமா? லைவ் பாருங்கள் .





Ethereum பிரைவேட் நெட்வொர்க் பயிற்சி

இந்த டுடோரியலில் நான் உள்ளடக்கும் தலைப்புகள் இவை:

Ethereum பிரைவேட் நெட்வொர்க் என்றால் என்ன?

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



தனியார் மற்றும் பொது -இதெரியம் தனியார் நெட்வொர்க் பயிற்சி - எடுரேகா

Ethereum பிரைவேட் நெட்வொர்க் ஏன் பயன்படுத்தப்படுகிறது?

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

Ethereum பிரைவேட் நெட்வொர்க்கின் அம்சங்கள்

முந்தைய பிரிவில் குறிப்பிட்டுள்ளபடி, Ethereum Private Network சோதனை நோக்கத்திற்காக பயன்படுத்தப்படுகிறது. ஏற்கனவே பொது சோதனை நெட்வொர்க்குகள் கிடைக்கும்போது புதிய நெட்வொர்க்கை உருவாக்குவதில் யாராவது ஏன் சிரமப்படுவார்கள்? சரி, கீழே பட்டியலிடப்பட்டுள்ளபடி Ethereum பிரைவேட் நெட்வொர்க் அதன் சொந்த அம்சங்களைக் கொண்டுள்ளது:



  • இது விநியோகிக்கப்பட்ட தரவுத்தளமாக செயல்படுகிறது
  • Ethereum தனியார் நெட்வொர்க்கில் உள்ள Blockchain தனிப்பட்ட தரவுகளைக் கொண்டிருக்கலாம் (ஏனெனில் பிணையம் பொதுவில் இல்லை)
  • அணுகல் அனுமதி அடிப்படையிலானதாக இருக்கலாம்
  • பரிவர்த்தனைகள் செய்வது இலவசம்
  • கணக்குகளை ஈத்தர்களுடன் ஒதுக்கலாம்மெய்நிகர் ஈத்தர்களை வாங்குவது கூட தேவையில்லை

நகரும் போது, ​​இந்த Ethereum பிரைவேட் நெட்வொர்க் டுடோரியலின் ஒரு பகுதியைப் பெறுவோம்.

உபுண்டுவில் Ethereum ஐ நிறுவுகிறது

Ethereum பிரைவேட் நெட்வொர்க்கை உருவாக்க, முதலில் எங்கள் கணினியில் Ethereum நிறுவப்பட்டிருக்க வேண்டும். Ethereum Private Network Tutorial இன் இந்த பிரிவில், உபுண்டுவில் Ethereum ஐ எவ்வாறு நிறுவுவது என்பதை நீங்கள் கற்றுக் கொள்வீர்கள்.

Ethereum ஐ நிறுவ, பின்வரும் கட்டளைகளை ஒரு முனையத்தில் இயக்கவும்:

$ sudo apt-get install software-properties-common $ sudo add-apt-repository -y ppa: ethereum / ethereum $ sudo apt-get update $ sudo apt-get install ethereum

முடிந்தது! இது உங்கள் கணினியில் Ethereum ஐ நிறுவும்.

தனியார் நெட்வொர்க் உருவாக்கத்துடன் தொடங்கலாம்.

டெமோ: Ethereum பிரைவேட் நெட்வொர்க்கை உருவாக்குதல் மற்றும் ஒரு பரிவர்த்தனை செய்தல்

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

Ethereum தனியார் நெட்வொர்க்கிற்கான கணக்குகளை உருவாக்குதல்

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

$ mkdir private-ethereum $ cd private-ethereum

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

இரண்டு கணக்குகளை உருவாக்க, பின்வரும் கட்டளையை இரண்டு முறை இயக்கவும்:

ஜாவா பாதையை மாற்றுவது எப்படி
$ geth --datadir ./datadir கணக்கு புதியது

உள்ளிடவும் கடவுச்சொல் ஒவ்வொரு கணக்கிற்கும் கேட்கப்படும் போது. இந்த கடவுச்சொற்றொடரை மறந்துவிடாதீர்கள்!

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

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

ஆதியாகமம் கோப்பை உருவாக்குதல்

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

முதலில், பெயரிடப்பட்ட கோப்பை உருவாக்கவும் genis.json

$ நானோ மரபணு. json

இப்போது அந்த கோப்பில் பின்வரும் குறியீட்டை நகலெடுத்து ஒட்டவும்:

config 'config': chain 'chainId': 2019, 'homeplaceBlock': 0, 'eip155Block': 0, 'eip158Block': 0, 'byzantiumBlock': 0}, 'சிரமம்': '400', 'gasLimit': ' 2000000 ',' ஒதுக்கீடு ': 82' 82c440bba462220c9b54600e584373014706c177 ': {' இருப்பு ':' 100000000000000000000000 '},' 9db5b590fdecc10cdb04b85a3503e94e61b200000000000000000

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

அதை சேமித்து வெளியேறவும்.

ஆதியாகமம் கோப்பின் உள்ளடக்கங்களை சுருக்கமாக விளக்குகிறேன்:

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

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

தரவு கோப்பகத்தை நிறுவுதல்

Blockchain ஐத் தொடங்குவதற்கு முன், தரவு கோப்பகத்தை உடனடியாக நிறுவ வேண்டும். தரவு அடைவு என்பது பிளாக்செயின் தொடர்பான தரவு சேமிக்கப்படும் அடைவு. தரவு கோப்பகத்தை உடனடிப்படுத்த, பின்வரும் கட்டளையை இயக்கவும்:

$ geth --datadir ./myDataDir init ./genesis.json

வெற்றிகரமான நிறுவலில், பின்வரும் வெளியீட்டை நீங்கள் காண வேண்டும்:

தரவு அடைவு உடனடி மூலம், இப்போது நாம் Blockchain ஐ தொடங்கலாம்.

Ethereum Private Blockchain ஐத் தொடங்குகிறது

Blockchain ஐத் தொடங்க, பின்வரும் கட்டளையை இயக்கவும்:

$ geth --datadir ./myDataDir --networkid 1114 console 2 >> Eth.log

முடிந்தது! உங்கள் தனிப்பட்ட Ethereum Blockchain இயங்குகிறது.

மேலே உள்ள கட்டளையில், அனைத்து பதிவுகளையும் ஒரு தனி கோப்பில் அனுப்புகிறோம் Eth.log . புதிய கோப்பு கிடைக்கவில்லை எனில் கெத் தானாகவே அதை உருவாக்கும்.

இந்த குறியீட்டின் வெளியீடு இதுபோன்றதாக இருக்க வேண்டும்:

இப்போது, ​​நாங்கள் நுழைந்தோம் கெத் பணியகம் எங்களுடைய பிளாக்செயினுக்கு கட்டளைகளை இயக்க முடியும்.

பதிவுகள் படித்தல்

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

ஒரு தனி முனையத்திலிருந்து பதிவுகளைப் படிப்போம், எனவே முதலில் ஒரு புதிய முனையத்தைத் திறப்போம். முதலில்,க்கு மாறவும் தனியார்-எதேரியம் அடைவு பின்னர் பதிவுகள் படிக்க பின்வரும் கட்டளையை இயக்கவும்:

$ tail -f Eth.log

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

மாதிரி காட்சி கட்டுப்படுத்தி ஜாவா உதாரணம்

தனியார் நெட்வொர்க்கிற்கு கணக்குகளை இறக்குமதி செய்கிறது

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

நாங்கள் ஒரு கணக்கை உருவாக்கும்போது, ​​கணக்கின் அனைத்து விவரங்களும் a இல் சேமிக்கப்படும் UTC கோப்பு கணக்கு உருவாக்கத்தின் போது குறிப்பிடப்பட்ட கோப்பகத்தில் (பாதை: ./datadir/keystore ). கணக்குகளை இறக்குமதி செய்ய, இந்த கோப்புகளை நகலெடுத்து ஒட்ட வேண்டும் கீஸ்டோர் தரவு கோப்பகத்தின் கீழ் அடைவு(பாதை: ./myDataDir/keystore )

அவ்வளவுதான்! கணக்குகள் இறக்குமதி செய்யப்படுகின்றன. எளிமையானது, இல்லையா? இறக்குமதியைச் சரிபார்க்க, பின்வரும் கட்டளையை இயக்குவோம் கெத் பணியகம்.

> eth.accounts

இது கிடைக்கக்கூடிய அனைத்து கணக்குகளின் பட்டியலையும் காண்பிக்கும்.

இந்த கணக்குகளின் இருப்பை சரிபார்க்க, பின்வரும் கட்டளையைப் பயன்படுத்துவோம்:

> web3.fromWei (eth.getBalance (), 'ஈதர்')

ஒரு பரிவர்த்தனை செய்ய தேவையான அனைத்தையும் நாங்கள் தயாராக உள்ளோம். ஏன் காத்திருக்க வேண்டும்? அதைச் செய்வோம்!

ஒரு பரிவர்த்தனை செய்தல்

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

ஈத்தர்களை அனுப்புவதற்கான தொடரியல் பின்வருமாறு:

> eth.sendTransaction ({from: ”address”, to: ”address”, value: web3.toWei (தொகை, 'ஈதர்')})

பின்வரும் கட்டளையைப் பயன்படுத்தி கணக்கு 1 இலிருந்து கணக்கு 2 க்கு 1000 ஈதர்களை அனுப்புவோம்:

> eth.sendTransaction ({from: eth.accounts [0], to: eth.accounts [1], மதிப்பு: web3.toWei (1000, 'ஈதர்')})

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

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

personal.unlockAccount (eth.accounts [0], '')

இப்போது நாம் ஈத்தர்களை அனுப்புவோம்வெற்றிகரமாக:

> eth.sendTransaction ({from: eth.accounts [0], to: eth.accounts [1], மதிப்பு: web3.toWei (1000, 'ஈதர்')})

இது ஒரு பரிவர்த்தனை ஐடியைத் தர வேண்டும்.

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

பரிவர்த்தனையைச் சரிபார்க்க, இரு கணக்குகளிலும் நிலுவைத் தொகையைச் சரிபார்க்கலாம்.

> web3.fromWei (eth.getBalance ('0x82c440bba462220c9b54600e584373014706c177'), 'ஈதர்')
> web3.fromWei (eth.getBalance ('0x9db5b590fdecc10cdb04b85a3503e94e61b207ca'), 'ஈதர்')

ஆம்! 1000 ஈத்தர்களைக் காணலாம்ஒரு கணக்கிலிருந்து மற்றொரு கணக்கிற்கு அனுப்பப்பட்டன!

வாழ்த்துக்கள்! நீங்கள் ஒரு Ethereum Private Network ஐ உருவாக்கி ஒரு பரிவர்த்தனை செய்துள்ளீர்கள். இந்த Ethereum பிரைவேட் நெட்வொர்க் டுடோரியல் தகவலறிந்ததாகவும், Ethereum பிரைவேட் நெட்வொர்க்கைப் பற்றி புரிந்துகொள்ள உங்களுக்கு உதவியதாகவும் நம்புகிறேன். இப்போது, ​​மேலே சென்று புதிதாக உருவாக்கப்பட்ட தனியார் நெட்வொர்க்குடன் பரிசோதனை செய்ய முயற்சிக்கவும்.

எங்களுக்கு ஒரு கேள்வி கிடைத்ததா? தயவுசெய்து அதை இடுங்கள் நாங்கள் உங்களிடம் திரும்பி வருவோம்.

c ++ இல் செயல்பாடு ஓவர்லோடிங்

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