ఎథీరియం ఆర్కైవ్ నోడ్
ఆర్కైవ్ నోడ్ అనేది అన్ని చారిత్రక స్థితుల ఆర్కైవ్ను నిర్మించడానికి కాన్ఫిగర్ చేయబడిన ఎథీరియం క్లయింట్ యొక్క ఒక ఇన్స్టాన్స్. ఇది కొన్ని ఉపయోగ సందర్భాలకు ఉపయోగకరమైన సాధనం, కానీ పూర్తి నోడ్ కంటే రన్ చేయడం కొంచెం కష్టంగా ఉండవచ్చు.
ముందస్తు అవసరాలు
మీరు ఎథీరియం నోడ్ భావన, దాని ఆర్కిటెక్చర్, సమకాలీకరణ వ్యూహాలు, వాటిని రన్ చేయడం మరియు ఉపయోగించడం వంటి పద్ధతులను అర్థం చేసుకోవాలి.
ఆర్కైవ్ నోడ్ అంటే ఏమిటి
ఆర్కైవ్ నోడ్ యొక్క ప్రాముఖ్యతను గ్రహించడానికి, "స్థితి" భావనను స్పష్టం చేద్దాం. ఎథీరియంను లావాదేవీ-ఆధారిత స్థితి యంత్రం (transaction-based state machine) అని పిలవవచ్చు. ఇది ఖాతాలు మరియు అప్లికేషన్లను కలిగి ఉంటుంది, ఇవి లావాదేవీలను అమలు చేస్తూ వాటి స్థితిని మారుస్తాయి. ప్రతి ఖాతా మరియు కాంట్రాక్ట్ గురించిన సమాచారంతో కూడిన గ్లోబల్ డేటా స్థితి అని పిలువబడే ట్రై (trie) డేటాబేస్లో నిల్వ చేయబడుతుంది. ఇది అమలు పొర (EL) క్లయింట్ ద్వారా నిర్వహించబడుతుంది మరియు వీటిని కలిగి ఉంటుంది:
- ఖాతా బ్యాలెన్స్లు మరియు నాన్స్లు (nonces)
- కాంట్రాక్ట్ కోడ్ మరియు నిల్వ
- ఏకాభిప్రాయం-సంబంధిత డేటా, ఉదా., స్టేకింగ్ డిపాజిట్ కాంట్రాక్ట్
నెట్వర్క్తో ఇంటరాక్ట్ అవ్వడానికి, కొత్త బ్లాక్లను ధృవీకరించడానికి మరియు ఉత్పత్తి చేయడానికి, ఎథీరియం క్లయింట్లు అత్యంత ఇటీవలి మార్పులను (చైన్ యొక్క టిప్) మరియు తద్వారా ప్రస్తుత స్థితిని ఎప్పటికప్పుడు తెలుసుకోవాలి. పూర్తి నోడ్గా కాన్ఫిగర్ చేయబడిన అమలు పొర క్లయింట్ నెట్వర్క్ యొక్క తాజా స్థితిని ధృవీకరిస్తుంది మరియు అనుసరిస్తుంది, కానీ గత కొన్ని స్థితులను మాత్రమే కాష్ చేస్తుంది, ఉదాహరణకు, గత 128 బ్లాక్లతో అనుబంధించబడిన స్థితి, తద్వారా ఇది చైన్ రీఆర్గ్లను (reorgs) నిర్వహించగలదు మరియు ఇటీవలి డేటాకు వేగవంతమైన ప్రాప్యతను అందిస్తుంది. ఇన్కమింగ్ లావాదేవీలను ధృవీకరించడానికి మరియు నెట్వర్క్ను ఉపయోగించడానికి అన్ని క్లయింట్లకు ఇటీవలి స్థితి అవసరం.
మీరు స్థితిని ఇచ్చిన బ్లాక్ వద్ద ఒక క్షణిక నెట్వర్క్ స్నాప్షాట్గా మరియు ఆర్కైవ్ను చరిత్ర రీప్లేగా ఊహించుకోవచ్చు.
చారిత్రక స్థితులను సురక్షితంగా కత్తిరించవచ్చు (pruned) ఎందుకంటే నెట్వర్క్ పనిచేయడానికి అవి అవసరం లేదు మరియు క్లయింట్ పాత డేటా అంతా ఉంచడం అనవసరంగా పునరావృతమవుతుంది. కొన్ని ఇటీవలి బ్లాక్లకు ముందు ఉన్న స్థితులు (ఉదా., హెడ్కు 128 బ్లాక్ల ముందు) సమర్థవంతంగా విసిరివేయబడతాయి. పూర్తి నోడ్లు చారిత్రక బ్లాక్చైన్ డేటాను (బ్లాక్లు మరియు లావాదేవీలు) మరియు అభ్యర్థనపై పాత స్థితులను పునరుత్పత్తి చేయడానికి ఉపయోగించే అప్పుడప్పుడు చారిత్రక స్నాప్షాట్లను మాత్రమే ఉంచుతాయి. EVMలో గత లావాదేవీలను తిరిగి అమలు చేయడం ద్వారా వారు దీన్ని చేస్తారు, కావలసిన స్థితి సమీప స్నాప్షాట్ నుండి చాలా దూరంలో ఉన్నప్పుడు ఇది గణనపరంగా డిమాండ్ చేయవచ్చు.
అయితే, దీని అర్థం పూర్తి నోడ్లో చారిత్రక స్థితిని యాక్సెస్ చేయడం చాలా గణనను వినియోగిస్తుంది. క్లయింట్ గత లావాదేవీలన్నింటినీ అమలు చేయవలసి ఉంటుంది మరియు జెనెసిస్ (genesis) నుండి ఒక చారిత్రక స్థితిని లెక్కించవలసి ఉంటుంది. ఆర్కైవ్ నోడ్లు అత్యంత ఇటీవలి స్థితులను మాత్రమే కాకుండా ప్రతి బ్లాక్ తర్వాత సృష్టించబడిన ప్రతి చారిత్రక స్థితిని నిల్వ చేయడం ద్వారా దీనిని పరిష్కరిస్తాయి. ఇది ప్రాథమికంగా పెద్ద డిస్క్ స్పేస్ అవసరంతో ట్రేడ్-ఆఫ్ చేస్తుంది.
అన్ని చారిత్రక డేటాను ఉంచడానికి మరియు అందించడానికి నెట్వర్క్ ఆర్కైవ్ నోడ్లపై ఆధారపడదని గమనించడం ముఖ్యం. పైన చెప్పినట్లుగా, అన్ని చారిత్రక మధ్యంతర స్థితులను పూర్తి నోడ్లో పొందవచ్చు. లావాదేవీలు ఏదైనా పూర్తి నోడ్ ద్వారా నిల్వ చేయబడతాయి (ప్రస్తుతం 400G కంటే తక్కువ) మరియు మొత్తం ఆర్కైవ్ను నిర్మించడానికి రీప్లే చేయబడతాయి.
ఉపయోగ సందర్భాలు
లావాదేవీలను పంపడం, కాంట్రాక్ట్లను అమలు చేయడం, ఏకాభిప్రాయాన్ని ధృవీకరించడం మొదలైన ఎథీరియం యొక్క సాధారణ వినియోగానికి చారిత్రక స్థితులకు ప్రాప్యత అవసరం లేదు. నెట్వర్క్తో ప్రామాణిక పరస్పర చర్య కోసం వినియోగదారులకు ఆర్కైవ్ నోడ్ ఎప్పుడూ అవసరం లేదు.
స్థితి ఆర్కైవ్ యొక్క ప్రధాన ప్రయోజనం చారిత్రక స్థితుల గురించిన ప్రశ్నలకు శీఘ్ర ప్రాప్యత. ఉదాహరణకు, ఆర్కైవ్ నోడ్ వెంటనే ఇలాంటి ఫలితాలను అందిస్తుంది:
- బ్లాక్ 15537393 వద్ద ఖాతా 0x1337... యొక్క ETH బ్యాలెన్స్ ఎంత?
- బ్లాక్ 1920000 వద్ద కాంట్రాక్ట్ 0x లో టోకెన్ 0x యొక్క బ్యాలెన్స్ ఎంత?
పైన వివరించినట్లుగా, పూర్తి నోడ్ CPUని ఉపయోగించే మరియు సమయం తీసుకునే EVM అమలు ద్వారా ఈ డేటాను రూపొందించాలి. ఆర్కైవ్ నోడ్లు వాటిని డిస్క్లో యాక్సెస్ చేస్తాయి మరియు వెంటనే ప్రతిస్పందనలను అందిస్తాయి. ఇది మౌలిక సదుపాయాలలోని కొన్ని భాగాలకు ఉపయోగకరమైన లక్షణం, ఉదాహరణకు:
- బ్లాక్ ఎక్స్ప్లోరర్ల వంటి సర్వీస్ ప్రొవైడర్లు
- పరిశోధకులు
- భద్రతా విశ్లేషకులు
- Dapp డెవలపర్లు
- ఆడిటింగ్ మరియు సమ్మతి (compliance)
చారిత్రక డేటాను యాక్సెస్ చేయడానికి అనుమతించే వివిధ ఉచిత సేవలు కూడా ఉన్నాయి. ఆర్కైవ్ నోడ్ను రన్ చేయడం మరింత కష్టతరం కాబట్టి, ఈ యాక్సెస్ చాలా వరకు పరిమితం చేయబడింది మరియు అప్పుడప్పుడు యాక్సెస్ చేయడానికి మాత్రమే పని చేస్తుంది. మీ ప్రాజెక్ట్కు చారిత్రక డేటాకు నిరంతర ప్రాప్యత అవసరమైతే, మీరు స్వయంగా ఒకదాన్ని రన్ చేయడాన్ని పరిగణించాలి.
అమలులు మరియు వినియోగం
ఈ సందర్భంలో ఆర్కైవ్ నోడ్ అంటే వినియోగదారుని ఎదుర్కొనే అమలు పొర క్లయింట్ల ద్వారా అందించబడే డేటా, ఎందుకంటే వారు స్థితి డేటాబేస్ను నిర్వహిస్తారు మరియు జేసన్-ఆర్పీసీ ఎండ్పాయింట్లను అందిస్తారు. కాన్ఫిగరేషన్ ఎంపికలు, సమకాలీకరణ సమయం మరియు డేటాబేస్ పరిమాణం క్లయింట్ను బట్టి మారవచ్చు. వివరాల కోసం, దయచేసి మీ క్లయింట్ అందించిన డాక్యుమెంటేషన్ను చూడండి.
మీ స్వంత ఆర్కైవ్ నోడ్ను ప్రారంభించడానికి ముందు, క్లయింట్ల మధ్య వ్యత్యాసాలు మరియు ముఖ్యంగా వివిధ హార్డ్వేర్ అవసరాల గురించి తెలుసుకోండి. చాలా క్లయింట్లు ఈ ఫీచర్ కోసం ఆప్టిమైజ్ చేయబడలేదు మరియు వాటి ఆర్కైవ్లకు 12TB కంటే ఎక్కువ స్థలం అవసరం. దీనికి విరుద్ధంగా, ఎరిగోన్ వంటి అమలులు అదే డేటాను 3TB లోపు నిల్వ చేయగలవు, ఇది ఆర్కైవ్ నోడ్ను రన్ చేయడానికి అత్యంత ప్రభావవంతమైన మార్గంగా చేస్తుంది.
సిఫార్సు చేయబడిన పద్ధతులు
నోడ్ను రన్ చేయడానికి సాధారణ సిఫార్సులతో పాటు, ఆర్కైవ్ నోడ్ హార్డ్వేర్ మరియు నిర్వహణపై మరింత డిమాండ్ చేయవచ్చు. ఎరిగోన్ యొక్క ముఖ్య లక్షణాలను (opens in a new tab) పరిగణనలోకి తీసుకుంటే, అత్యంత ఆచరణాత్మక విధానం ఎరిగోన్ క్లయింట్ అమలును ఉపయోగించడం.
హార్డ్వేర్
క్లయింట్ డాక్యుమెంటేషన్లో ఇచ్చిన మోడ్ కోసం హార్డ్వేర్ అవసరాలను ఎల్లప్పుడూ ధృవీకరించుకోండి. ఆర్కైవ్ నోడ్లకు అతిపెద్ద అవసరం డిస్క్ స్పేస్. క్లయింట్పై ఆధారపడి, ఇది 3TB నుండి 12TB వరకు మారుతుంది. పెద్ద మొత్తంలో డేటా కోసం HDD మెరుగైన పరిష్కారంగా పరిగణించబడినప్పటికీ, దానిని సమకాలీకరించడం మరియు చైన్ యొక్క హెడ్ను నిరంతరం నవీకరించడం కోసం SSD డ్రైవ్లు అవసరం. SATA (opens in a new tab) డ్రైవ్లు సరిపోతాయి కానీ అవి నమ్మదగిన నాణ్యతతో ఉండాలి, కనీసం TLC (opens in a new tab) అయినా ఉండాలి. డిస్క్లను డెస్క్టాప్ కంప్యూటర్ లేదా తగినన్ని స్లాట్లు ఉన్న సర్వర్లో అమర్చవచ్చు. అధిక అప్టైమ్ నోడ్ను రన్ చేయడానికి ఇటువంటి అంకితమైన పరికరాలు అనువైనవి. దీన్ని ల్యాప్టాప్లో రన్ చేయడం పూర్తిగా సాధ్యమే కానీ పోర్టబిలిటీ అదనపు ఖర్చుతో వస్తుంది.
మొత్తం డేటా ఒకే వాల్యూమ్లో సరిపోవాలి, కాబట్టి డిస్క్లను కలపాలి, ఉదా., RAID0 (opens in a new tab) లేదా LVM తో. ZFS (opens in a new tab) ని ఉపయోగించడాన్ని పరిగణించడం కూడా విలువైనదే కావచ్చు, ఎందుకంటే ఇది "కాపీ-ఆన్-రైట్ (Copy-on-write)" కి మద్దతు ఇస్తుంది, ఇది ఎటువంటి తక్కువ స్థాయి లోపాలు లేకుండా డేటా డిస్క్కు సరిగ్గా వ్రాయబడిందని నిర్ధారిస్తుంది.
ప్రమాదవశాత్తు డేటాబేస్ పాడవకుండా నిరోధించడంలో మరింత స్థిరత్వం మరియు భద్రత కోసం, ముఖ్యంగా ప్రొఫెషనల్ సెటప్లో, మీ సిస్టమ్ మద్దతు ఇస్తే ECC మెమరీని (opens in a new tab) ఉపయోగించడాన్ని పరిగణించండి. RAM పరిమాణం సాధారణంగా పూర్తి నోడ్కు ఉన్నట్లే ఉండాలని సలహా ఇస్తారు, అయితే ఎక్కువ RAM సమకాలీకరణను వేగవంతం చేయడంలో సహాయపడుతుంది.
ప్రారంభ సమకాలీకరణ సమయంలో, ఆర్కైవ్ మోడ్లోని క్లయింట్లు జెనెసిస్ నుండి ప్రతి లావాదేవీని అమలు చేస్తాయి. అమలు వేగం ఎక్కువగా CPU ద్వారా పరిమితం చేయబడుతుంది, కాబట్టి వేగవంతమైన CPU ప్రారంభ సమకాలీకరణ సమయానికి సహాయపడుతుంది. సగటు వినియోగదారు కంప్యూటర్లో, ప్రారంభ సమకాలీకరణకు ఒక నెల వరకు పట్టవచ్చు.
తదుపరి పఠనం
- ఎథీరియం పూర్తి నోడ్ వర్సెస్ ఆర్కైవ్ నోడ్ (opens in a new tab) - క్విక్నోడ్ (QuickNode), సెప్టెంబర్ 2022
- మీ స్వంత ఎథీరియం ఆర్కైవ్ నోడ్ను నిర్మించడం (opens in a new tab) - థామస్ జే రష్ (Thomas Jay Rush), ఆగస్టు 2021
- ఎరిగోన్, ఎరిగోన్ యొక్క RPC మరియు ట్రూబ్లాక్స్ (TrueBlocks) (స్క్రాప్ మరియు API) లను సేవలుగా ఎలా సెటప్ చేయాలి (opens in a new tab) – మాగ్నస్ హాన్సన్ (Magnus Hansson), నవీకరించబడింది సెప్టెంబర్ 2022