ఎథీరియం ఖాతాలు
ఒక ఎథీరియం ఖాతా అనేది ఈథర్ (ETH) బ్యాలెన్స్ ఉన్న ఒక ఎంటిటీ, ఇది ఎథీరియంపై సందేశాలను పంపగలదు. ఖాతాలు వినియోగదారు నియంత్రణలో ఉండవచ్చు లేదా స్మార్ట్ కాంట్రాక్ట్లుగా డిప్లాయ్ చేయబడవచ్చు.
ముందస్తు అవసరాలు
ఈ పేజీని మీరు మరింత బాగా అర్థం చేసుకోవడంలో సహాయపడటానికి, ముందుగా మా ఎథీరియం పరిచయం చదవాలని మేము సిఫార్సు చేస్తున్నాము.
ఖాతా రకాలు
ఎథీరియం రెండు ఖాతా రకాలను కలిగి ఉంది:
- బాహ్య యాజమాన్య ఖాతా (EOA) – ప్రైవేట్ కీలు ఉన్న ఎవరిచేతైనా నియంత్రించబడుతుంది
- కాంట్రాక్ట్ ఖాతా – నెట్వర్క్కు డిప్లాయ్ చేయబడిన స్మార్ట్ కాంట్రాక్ట్, ఇది కోడ్ ద్వారా నియంత్రించబడుతుంది. స్మార్ట్ కాంట్రాక్ట్ల గురించి తెలుసుకోండి
రెండు ఖాతా రకాలకు ఈ సామర్థ్యం ఉంటుంది:
- ETH మరియు టోకెన్లను స్వీకరించడం, ఉంచుకోవడం మరియు పంపడం
- డిప్లాయ్ చేయబడిన స్మార్ట్ కాంట్రాక్ట్లతో ఇంటరాక్ట్ అవ్వడం
ముఖ్యమైన తేడాలు
బాహ్య యాజమాన్య ఖాతా
- ఖాతాను సృష్టించడానికి ఎటువంటి ఖర్చు ఉండదు
- లావాదేవీలను ప్రారంభించగలదు
- బాహ్య యాజమాన్య ఖాతాల మధ్య లావాదేవీలు కేవలం ETH/టోకెన్ బదిలీలు మాత్రమే కాగలవు
- ఖాతా కార్యకలాపాలను నియంత్రించే పబ్లిక్ మరియు ప్రైవేట్ కీల క్రిప్టోగ్రాఫిక్ జతతో రూపొందించబడింది
కాంట్రాక్ట్
- మీరు నెట్వర్క్ నిల్వను ఉపయోగిస్తున్నందున కాంట్రాక్ట్ను సృష్టించడానికి ఖర్చు అవుతుంది
- లావాదేవీని స్వీకరించిన దానికి ప్రతిస్పందనగా మాత్రమే సందేశాలను పంపగలదు
- బాహ్య ఖాతా నుండి కాంట్రాక్ట్ ఖాతాకు జరిగే లావాదేవీలు కోడ్ను ట్రిగ్గర్ చేయగలవు, ఇది టోకెన్లను బదిలీ చేయడం లేదా కొత్త కాంట్రాక్ట్ను సృష్టించడం వంటి అనేక విభిన్న చర్యలను అమలు చేయగలదు
- కాంట్రాక్ట్ ఖాతాలకు ప్రైవేట్ కీలు ఉండవు. బదులుగా, అవి స్మార్ట్ కాంట్రాక్ట్ కోడ్ యొక్క లాజిక్ ద్వారా నియంత్రించబడతాయి
ఖాతా పరిశీలన
ఎథీరియం ఖాతాలు నాలుగు ఫీల్డ్లను కలిగి ఉంటాయి:
nonce– బాహ్య యాజమాన్య ఖాతా నుండి పంపబడిన లావాదేవీల సంఖ్యను లేదా కాంట్రాక్ట్ ఖాతా ద్వారా సృష్టించబడిన కాంట్రాక్ట్ల సంఖ్యను సూచించే కౌంటర్. ప్రతి ఖాతాకు ఇచ్చిన నాన్స్తో ఒక లావాదేవీ మాత్రమే అమలు చేయబడుతుంది, ఇది సంతకం చేయబడిన లావాదేవీలు పదేపదే ప్రసారం చేయబడి మరియు తిరిగి అమలు చేయబడే రీప్లే దాడుల నుండి రక్షిస్తుంది.balance– ఈ చిరునామా స్వంతం చేసుకున్న Wei సంఖ్య. Wei అనేది ETH యొక్క డినామినేషన్ మరియు ప్రతి ETHకి 1e+18 Wei ఉంటాయి.codeHash– ఈ హాష్ ఈథీరియం వర్చువల్ మెషీన్ (EVM)లో ఖాతా యొక్క _కోడ్_ని సూచిస్తుంది. కాంట్రాక్ట్ ఖాతాలు విభిన్న కార్యకలాపాలను నిర్వహించగల కోడ్ ఫ్రాగ్మెంట్లను ప్రోగ్రామ్ చేసి ఉంటాయి. ఖాతాకు సందేశ పిలుపు వస్తే ఈ EVM కోడ్ అమలు చేయబడుతుంది. ఇతర ఖాతా ఫీల్డ్ల వలె కాకుండా, దీనిని మార్చలేము. అటువంటి కోడ్ ఫ్రాగ్మెంట్లన్నీ తర్వాత తిరిగి పొందడం కోసం వాటి సంబంధిత హాష్ల క్రింద స్థితి డేటాబేస్లో ఉంటాయి. ఈ హాష్ విలువను codeHash అని పిలుస్తారు. బాహ్య యాజమాన్య ఖాతాల కోసం, codeHash ఫీల్డ్ అనేది ఖాళీ స్ట్రింగ్ యొక్క హాష్.storageRoot– కొన్నిసార్లు స్టోరేజ్ హాష్ అని పిలుస్తారు. ఖాతా యొక్క నిల్వ కంటెంట్లను (256-బిట్ పూర్ణాంక విలువల మధ్య మ్యాపింగ్) ఎన్కోడ్ చేసే మెర్కిల్ ప్యాట్రిసియా ట్రై యొక్క రూట్ నోడ్ యొక్క 256-బిట్ హాష్, 256-బిట్ పూర్ణాంక కీల యొక్క కేకాక్-256-బిట్ హాష్ నుండి పునరావృత పొడవు ఉపసర్గ (RLP)-ఎన్కోడ్ చేయబడిన 256-బిట్ పూర్ణాంక విలువలకు మ్యాపింగ్గా ట్రైలో ఎన్కోడ్ చేయబడింది. ఈ ట్రై ఈ ఖాతా యొక్క నిల్వ కంటెంట్ల హాష్ను ఎన్కోడ్ చేస్తుంది మరియు డిఫాల్ట్గా ఖాళీగా ఉంటుంది.
Ethereum EVM illustrated (కొత్త ట్యాబ్లో తెరవబడుతుంది) నుండి స్వీకరించబడిన రేఖాచిత్రం
బాహ్య యాజమాన్య ఖాతాలు మరియు కీ జతలు
ఒక ఖాతా పబ్లిక్ మరియు ప్రైవేట్ అనే క్రిప్టోగ్రాఫిక్ కీల జతతో రూపొందించబడింది. లావాదేవీ వాస్తవానికి పంపినవారిచే సంతకం చేయబడిందని నిరూపించడానికి మరియు ఫోర్జరీలను నిరోధించడానికి ఇవి సహాయపడతాయి. లావాదేవీలపై సంతకం చేయడానికి మీరు మీ ప్రైవేట్ కీని ఉపయోగిస్తారు, కాబట్టి ఇది మీ ఖాతాతో అనుబంధించబడిన నిధులపై మీకు కస్టడీని మంజూరు చేస్తుంది. మీరు నిజంగా క్రిప్టోకరెన్సీని ఎప్పుడూ పట్టుకోరు, మీరు ప్రైవేట్ కీలను పట్టుకుంటారు – నిధులు ఎల్లప్పుడూ ఎథీరియం లెడ్జర్పై ఉంటాయి.
మీరు ఎల్లప్పుడూ లావాదేవీ పంపినవారిని ధృవీకరించగలరు కాబట్టి ఇది హానికరమైన వ్యక్తులు నకిలీ లావాదేవీలను ప్రసారం చేయకుండా నిరోధిస్తుంది.
ఆలిస్ తన స్వంత ఖాతా నుండి బాబ్ ఖాతాకు ఈథర్ను పంపాలనుకుంటే, ఆలిస్ లావాదేవీ అభ్యర్థనను సృష్టించి, ధృవీకరణ కోసం దానిని నెట్వర్క్కు పంపాలి. ఎథీరియం పబ్లిక్-కీ గూఢలిపి శాస్త్రాన్ని ఉపయోగించడం వల్ల ఆలిస్ తాను వాస్తవానికి లావాదేవీ అభ్యర్థనను ప్రారంభించినట్లు నిరూపించగలదని నిర్ధారిస్తుంది. క్రిప్టోగ్రాఫిక్ యంత్రాంగాలు లేకుండా, హానికరమైన విరోధి ఈవ్ "ఆలిస్ ఖాతా నుండి ఈవ్ ఖాతాకు 5 ETH పంపండి" లాంటి అభ్యర్థనను బహిరంగంగా ప్రసారం చేయవచ్చు మరియు అది ఆలిస్ నుండి రాలేదని ఎవరూ ధృవీకరించలేరు.
ఖాతా సృష్టి
మీరు ఖాతాను సృష్టించాలనుకున్నప్పుడు, చాలా లైబ్రరీలు మీకు యాదృచ్ఛిక ప్రైవేట్ కీని రూపొందిస్తాయి.
ప్రైవేట్ కీ 64 హెక్స్ అక్షరాలతో రూపొందించబడింది మరియు పాస్వర్డ్తో ఎన్క్రిప్ట్ చేయబడుతుంది.
ఉదాహరణ:
fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036415f
దీర్ఘవృత్తాకార వక్రరేఖ డిజిటల్ సంతకం అల్గారిథమ్ (Elliptic Curve Digital Signature Algorithm) (కొత్త ట్యాబ్లో తెరవబడుతుంది)ని ఉపయోగించి ప్రైవేట్ కీ నుండి పబ్లిక్ కీ రూపొందించబడుతుంది. పబ్లిక్ కీ యొక్క కేకాక్-256 హాష్లోని చివరి 20 బైట్లను తీసుకుని, ప్రారంభంలో 0xని జోడించడం ద్వారా మీరు మీ ఖాతా కోసం పబ్లిక్ చిరునామాను పొందుతారు.
దీని అర్థం బాహ్య యాజమాన్య ఖాతా (EOA) 42-అక్షరాల చిరునామాను కలిగి ఉంటుంది (20-బైట్ విభాగం అంటే 40 హెక్సాడెసిమల్ అక్షరాలు మరియు 0x ఉపసర్గ).
ఉదాహరణ:
0x5e97870f263700f46aa00d967821199b9bc5a120
కొత్త ఖాతాను రూపొందించడానికి Clef (కొత్త ట్యాబ్లో తెరవబడుతుంది) అనే సంతకం చేసే సాధనాన్ని ఎలా ఉపయోగించాలో కింది ఉదాహరణ చూపుతుంది. Clef అనేది ఎథీరియం క్లయింట్, Geth (కొత్త ట్యాబ్లో తెరవబడుతుంది)తో బండిల్ చేయబడిన ఖాతా నిర్వహణ మరియు సంతకం చేసే సాధనం. clef newaccount కమాండ్ కొత్త కీ జతను సృష్టిస్తుంది మరియు వాటిని ఎన్క్రిప్ట్ చేయబడిన కీస్టోర్లో సేవ్ చేస్తుంది.
> clef newaccount --keystore <path>
Please enter a password for the new account to be created:
> <password>
------------
INFO [10-28|16:19:09.156] Your new key was generated address=0x5e97870f263700f46aa00d967821199b9bc5a120
WARN [10-28|16:19:09.306] Please backup your key file path=/home/user/go-ethereum/data/keystore/UTC--2022-10-28T15-19-08.000825927Z--5e97870f263700f46aa00d967821199b9bc5a120
WARN [10-28|16:19:09.306] Please remember your password!
Generated account 0x5e97870f263700f46aa00d967821199b9bc5a120
Geth డాక్యుమెంటేషన్ (కొత్త ట్యాబ్లో తెరవబడుతుంది)
మీ ప్రైవేట్ కీ నుండి కొత్త పబ్లిక్ కీలను పొందడం సాధ్యమవుతుంది, కానీ మీరు పబ్లిక్ కీల నుండి ప్రైవేట్ కీని పొందలేరు. మీ ప్రైవేట్ కీలను సురక్షితంగా ఉంచడం చాలా ముఖ్యం మరియు పేరు సూచించినట్లుగా, ప్రైవేట్గా (PRIVATE) ఉంచాలి.
సంతకాన్ని అవుట్పుట్ చేసే సందేశాలు మరియు లావాదేవీలపై సంతకం చేయడానికి మీకు ప్రైవేట్ కీ అవసరం. ఇతరులు మీ పబ్లిక్ కీని పొందడానికి సంతకాన్ని తీసుకోవచ్చు, తద్వారా సందేశం యొక్క రచయితను నిరూపించవచ్చు. మీ అప్లికేషన్లో, నెట్వర్క్కు లావాదేవీలను పంపడానికి మీరు JavaScript లైబ్రరీని ఉపయోగించవచ్చు.
కాంట్రాక్ట్ ఖాతాలు
కాంట్రాక్ట్ ఖాతాలు కూడా 42 అక్షరాల హెక్సాడెసిమల్ చిరునామాను కలిగి ఉంటాయి:
ఉదాహరణ:
0x06012c8cf97bead5deae237070f9587f8e7a266d
ఎథీరియం బ్లాక్చైన్కు కాంట్రాక్ట్ డిప్లాయ్ చేయబడినప్పుడు సాధారణంగా కాంట్రాక్ట్ చిరునామా ఇవ్వబడుతుంది. సృష్టికర్త చిరునామా మరియు ఆ చిరునామా నుండి పంపబడిన లావాదేవీల సంఖ్య (“నాన్స్”) నుండి చిరునామా వస్తుంది. ఈ విధంగా CREATE ఆపరేషన్ చిరునామాను పొందుతుంది.
కాంట్రాక్ట్లను CREATE2 (కొత్త ట్యాబ్లో తెరవబడుతుంది)తో కూడా డిప్లాయ్ చేయవచ్చు, ఇది సృష్టికర్త చిరునామా, సృష్టికర్త ఎంచుకునే విలువ (“సాల్ట్”) మరియు కాంట్రాక్ట్ సృష్టి కోడ్ యొక్క హాష్ నుండి చిరునామాను పొందుతుంది. ఇందులో నాన్స్ ప్రమేయం ఉండదు, కాబట్టి కాంట్రాక్ట్ ఉనికిలోకి రాకముందే చిరునామాను లెక్కించవచ్చు మరియు ఈలోగా సృష్టికర్త ఎన్ని ఇతర లావాదేవీలను పంపినప్పటికీ అది అలాగే ఉంటుంది. ఇది ఇంకా డిప్లాయ్ చేయబడని కాంట్రాక్ట్ను సూచించడాన్ని సాధ్యం చేస్తుంది.
ధృవీకర్త కీలు
ఎథీరియం ప్రూఫ్-ఆఫ్-వర్క్ (PoW) నుండి ప్రూఫ్-ఆఫ్-స్టేక్ (PoS) ఆధారిత ఏకాభిప్రాయానికి మారినప్పుడు ప్రవేశపెట్టబడిన మరొక రకమైన కీ కూడా ఎథీరియంలో ఉంది. ఇవి 'BLS' కీలు మరియు ధృవీకర్తలను గుర్తించడానికి ఇవి ఉపయోగించబడతాయి. నెట్వర్క్ ఏకాభిప్రాయానికి రావడానికి అవసరమైన బ్యాండ్విడ్త్ను తగ్గించడానికి ఈ కీలను సమర్థవంతంగా సమగ్రపరచవచ్చు. ఈ కీ అగ్రిగేషన్ లేకుండా ధృవీకర్తకు కనీస స్టేక్ చాలా ఎక్కువగా ఉంటుంది.
వాలెట్లపై ఒక గమనిక
ఖాతా అనేది వాలెట్ కాదు. వాలెట్ అనేది మీ ఎథీరియం ఖాతాతో, అంటే బాహ్య యాజమాన్య ఖాతా లేదా కాంట్రాక్ట్ ఖాతాతో ఇంటరాక్ట్ అవ్వడానికి మిమ్మల్ని అనుమతించే ఇంటర్ఫేస్ లేదా అప్లికేషన్.
దృశ్యమాన డెమో
హాష్ ఫంక్షన్లు మరియు కీ జతల గురించి ఆస్టిన్ వివరించడాన్ని చూడండి.
మరింత చదవడానికి
మీకు సహాయపడిన కమ్యూనిటీ వనరు గురించి తెలుసా? ఈ పేజీని సవరించి, దాన్ని జోడించండి!