diff --git a/public/content/translations/te/developers/docs/nodes-and-clients/node-architecture/index.md b/public/content/translations/te/developers/docs/nodes-and-clients/node-architecture/index.md new file mode 100644 index 00000000000..0d201699378 --- /dev/null +++ b/public/content/translations/te/developers/docs/nodes-and-clients/node-architecture/index.md @@ -0,0 +1,59 @@ +--- +title: "నోడ్ నిర్మాణం" +description: "ఎథేరియం నోడ్స్ ఎలా నిర్వహించబడతాయో దానికి పరిచయం." +lang: te +--- + +ఒక ఎథేరియం నోడ్ రెండు క్లయింట్‌లను కలిగి ఉంటుంది: ఒక [ఎగ్జిక్యూషన్ క్లయింట్](/developers/docs/nodes-and-clients/#execution-clients) మరియు ఒక [ఏకాభిప్రాయం క్లయింట్](/developers/docs/nodes-and-clients/#consensus-clients). ఒక నోడ్ కొత్త బ్లాక్‌ను ప్రతిపాదించాలంటే, అది ఒక [వాలిడేటర్ క్లయింట్‌ను](#validators) కూడా రన్ చేయాలి. + +ఎథేరియం [ప్రూఫ్-ఆఫ్-వర్క్](/developers/docs/consensus-mechanisms/pow/) ను ఉపయోగిస్తున్నప్పుడు, ఒక పూర్తి ఎథేరియం నోడ్‌ను రన్ చేయడానికి ఒక ఎగ్జిక్యూషన్ క్లయింట్ సరిపోయేది. అయితే, [ప్రూఫ్-ఆఫ్-స్టేక్](/developers/docs/consensus-mechanisms/pow/)ను అమలు చేసినప్పటి నుండి, ఎగ్జిక్యూషన్ క్లయింట్‌ను [ఏకాభిప్రాయం క్లయింట్](/developers/docs/nodes-and-clients/#consensus-clients) అని పిలిచే మరొక సాఫ్ట్‌వేర్‌తో పాటు ఉపయోగించాలి. + +కింది రేఖాచిత్రం రెండు ఎథేరియం క్లయింట్‌ల మధ్య సంబంధాన్ని చూపిస్తుంది. రెండు క్లయింట్‌లు వాటి స్వంత పీర్-టు-పీర్ (P2P) నెట్‌వర్క్‌లకు కనెక్ట్ అవుతాయి. ప్రత్యేక P2P నెట్‌వర్క్‌లు అవసరం, ఎందుకంటే ఎగ్జిక్యూషన్ క్లయింట్లు వాటి P2P నెట్‌వర్క్‌లో లావాదేవీలను గాసిప్ చేస్తాయి, తద్వారా వాటి స్థానిక లావాదేవీల పూల్‌ను నిర్వహించుకుంటాయి, అదే సమయంలో ఏకాభిప్రాయం క్లయింట్లు వాటి P2P నెట్‌వర్క్‌లో బ్లాక్‌లను గాసిప్ చేస్తాయి, తద్వారా ఏకాభిప్రాయం మరియు చైన్ వృద్ధి సాధ్యమవుతుంది. + +![](node-architecture-text-background.png) + +_ఎగ్జిక్యూషన్ క్లయింట్ కోసం Erigon, Nethermind, మరియు Besuతో సహా అనేక ఎంపికలు ఉన్నాయి._ + +ఈ రెండు-క్లయింట్ నిర్మాణం పనిచేయాలంటే, ఏకాభిప్రాయం క్లయింట్‌లు లావాదేవీల బండిల్‌లను ఎగ్జిక్యూషన్ క్లయింట్‌కు పంపాలి. లావాదేవీలు ఏ ఎథేరియం నియమాలను ఉల్లంఘించలేదని మరియు ఎథేరియం యొక్క స్టేట్‌కు ప్రతిపాదిత అప్‌డేట్ సరైనదని ధృవీకరించడానికి ఎగ్జిక్యూషన్ క్లయింట్ లావాదేవీలను స్థానికంగా అమలు చేస్తుంది. ఒక నోడ్ బ్లాక్ ప్రొడ్యూసర్‌గా ఎంపికైనప్పుడు, దాని ఏకాభిప్రాయం క్లయింట్ ఇన్‌స్టాన్స్ కొత్త బ్లాక్‌లో చేర్చడానికి ఎగ్జిక్యూషన్ క్లయింట్ నుండి లావాదేవీల బండిల్‌లను అభ్యర్థిస్తుంది మరియు గ్లోబల్ స్టేట్‌ను అప్‌డేట్ చేయడానికి వాటిని అమలు చేస్తుంది. ఏకాభిప్రాయం క్లయింట్ [ఇంజిన్ API](https://github.com/ethereum/execution-apis/blob/main/src/engine/common.md)ని ఉపయోగించి స్థానిక RPC కనెక్షన్ ద్వారా ఎగ్జిక్యూషన్ క్లయింట్‌ను నడుపుతుంది. + +## ఎగ్జిక్యూషన్ క్లయింట్ ఏమి చేస్తుంది? {#execution-client} + +ఎగ్జిక్యూషన్ క్లయింట్ లావాదేవీల ధ్రువీకరణ, నిర్వహణ మరియు గాసిప్‌తో పాటు స్టేట్ నిర్వహణ మరియు ఎథేరియం వర్చువల్ మషీన్ ([EVM](/developers/docs/evm/))కు మద్దతు ఇవ్వడానికి బాధ్యత వహిస్తుంది. ఇది బ్లాక్ నిర్మాణం, బ్లాక్ గాసిపింగ్ లేదా ఏకాభిప్రాయం లాజిక్‌ను నిర్వహించడానికి **బాధ్యత వహించదు**. ఇవి ఏకాభిప్రాయం క్లయింట్ పరిధిలోకి వస్తాయి. + +ఎగ్జిక్యూషన్ క్లయింట్ ఎగ్జిక్యూషన్ పేలోడ్‌లను సృష్టిస్తుంది - లావాదేవీల జాబితా, అప్‌డేట్ చేయబడిన స్టేట్ ట్రై మరియు ఇతర ఎగ్జిక్యూషన్-సంబంధిత డేటా. ఏకాభిప్రాయం క్లయింట్లు ప్రతి బ్లాక్‌లో ఎగ్జిక్యూషన్ పేలోడ్‌ను చేర్చుతాయి. కొత్త బ్లాక్‌లలోని లావాదేవీలు చెల్లుబాటు అయ్యేలా చూసుకోవడానికి వాటిని తిరిగి అమలు చేయడానికి కూడా ఎగ్జిక్యూషన్ క్లయింట్ బాధ్యత వహిస్తుంది. లావాదేవీలను అమలు చేయడం అనేది [ఎథేరియం వర్చువల్ మషీన్ (EVM)](/developers/docs/evm) అని పిలువబడే ఎగ్జిక్యూషన్ క్లయింట్ యొక్క ఎంబెడెడ్ కంప్యూటర్‌లో జరుగుతుంది. + +ఎగ్జిక్యూషన్ క్లయింట్ [RPC పద్ధతుల](/developers/docs/apis/json-rpc) ద్వారా ఎథేరియంకు ఒక యూజర్ ఇంటర్‌ఫేస్‌ను కూడా అందిస్తుంది, ఇది వినియోగదారులను ఎథేరియం బ్లాక్‌చెయిన్‌ను క్వెరీ చేయడానికి, లావాదేవీలను సమర్పించడానికి మరియు స్మార్ట్ కాంట్రాక్ట్‌లను డిప్లాయ్ చేయడానికి వీలు కల్పిస్తుంది. RPC కాల్స్ [Web3js](https://docs.web3js.org/), [Web3py](https://web3py.readthedocs.io/en/v5/) వంటి లైబ్రరీ ద్వారా లేదా బ్రౌజర్ వాలెట్ వంటి యూజర్-ఇంటర్‌ఫేస్ ద్వారా నిర్వహించబడటం సాధారణం. + +సారాంశంలో, ఎగ్జిక్యూషన్ క్లయింట్: + +- ఎథేరియంకు ఒక యూజర్ గేట్‌వే +- ఎథేరియం వర్చువల్ మషీన్, ఎథేరియం యొక్క స్టేట్ మరియు లావాదేవీల పూల్‌కు నిలయం. + +## ఏకాభిప్రాయం క్లయింట్ ఏమి చేస్తుంది? {#consensus-client} + +ఏకాభిప్రాయం క్లయింట్ ఒక నోడ్‌ను ఎథేరియం నెట్‌వర్క్‌తో సింక్‌లో ఉంచడానికి వీలు కల్పించే అన్ని లాజిక్‌లతో వ్యవహరిస్తుంది. ఇందులో పీర్స్ నుండి బ్లాక్‌లను స్వీకరించడం మరియు నోడ్ ఎల్లప్పుడూ అత్యధిక అటెస్టేషన్‌ల (వాలిడేటర్ ప్రభావవంతమైన బ్యాలెన్స్‌ల ద్వారా వెయిటెడ్) సమీకరణతో ఉన్న చైన్‌ను అనుసరించేలా చేయడానికి ఒక ఫోర్క్ ఛాయిస్ అల్గారిథమ్‌ను రన్ చేయడం వంటివి ఉంటాయి. ఎగ్జిక్యూషన్ క్లయింట్‌ల మాదిరిగానే, ఏకాభిప్రాయం క్లయింట్‌లు కూడా తమ సొంత P2P నెట్‌వర్క్‌ను కలిగి ఉంటాయి, దాని ద్వారా అవి బ్లాక్‌లు మరియు అటెస్టేషన్‌లను పంచుకుంటాయి. + +ఏకాభిప్రాయం క్లయింట్ బ్లాక్‌లను అటెస్ట్ చేయడంలో లేదా ప్రతిపాదించడంలో పాల్గొనదు - ఇది ఏకాభిప్రాయం క్లయింట్‌కు ఐచ్ఛిక యాడ్-ఆన్ అయిన వాలిడేటర్ ద్వారా చేయబడుతుంది. వాలిడేటర్ లేని ఏకాభిప్రాయం క్లయింట్ చైన్ యొక్క హెడ్‌తో మాత్రమే కొనసాగుతుంది, ఇది నోడ్‌ను సింక్‌లో ఉండటానికి అనుమతిస్తుంది. ఇది ఒక వినియోగదారుడు తమ ఎగ్జిక్యూషన్ క్లయింట్‌ను ఉపయోగించి, తాము సరైన చైన్‌లో ఉన్నామని నమ్మకంతో ఎథేరియంతో లావాదేవీలు చేయడానికి వీలు కల్పిస్తుంది. + +## వాలిడేటర్లు {#validators} + +స్టేకింగ్ చేయడం మరియు వాలిడేటర్ సాఫ్ట్‌వేర్‌ను రన్ చేయడం ఒక నోడ్‌ను కొత్త బ్లాక్‌ను ప్రతిపాదించడానికి ఎంపిక కావడానికి అర్హమైనదిగా చేస్తుంది. నోడ్ ఆపరేటర్లు డిపాజిట్ కాంట్రాక్ట్‌లో 32 ETH డిపాజిట్ చేయడం ద్వారా వారి ఏకాభిప్రాయం క్లయింట్‌లకు ఒక వాలిడేటర్‌ను జోడించవచ్చు. వాలిడేటర్ క్లయింట్ ఏకాభిప్రాయం క్లయింట్‌తో బండిల్ చేయబడి వస్తుంది మరియు ఎప్పుడైనా ఒక నోడ్‌కు జోడించబడుతుంది. వాలిడేటర్ అటెస్టేషన్‌లను మరియు బ్లాక్ ప్రతిపాదనలను నిర్వహిస్తుంది. ఇది ఒక నోడ్‌కు పెనాల్టీలు లేదా స్లాషింగ్ ద్వారా రివార్డులను సంపాదించడానికి లేదా ETH కోల్పోవడానికి కూడా వీలు కల్పిస్తుంది. + +[స్టేకింగ్ గురించి మరింత](/staking/). + +## నోడ్ భాగాల పోలిక {#node-comparison} + +| ఎగ్జిక్యూషన్ క్లయింట్ | ఏకాభిప్రాయం క్లయింట్ | వాలిడేటర్ | +| ---------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- | +| దాని P2P నెట్‌వర్క్‌లో లావాదేవీలను గాసిప్ చేస్తుంది | దాని P2P నెట్‌వర్క్‌లో బ్లాక్‌లు మరియు అటెస్టేషన్‌లను గాసిప్ చేస్తుంది | బ్లాక్‌లను ప్రతిపాదిస్తుంది | +| లావాదేవీలను అమలు చేస్తుంది/పునః-అమలు చేస్తుంది | ఫోర్క్ ఛాయిస్ అల్గారిథమ్‌ను నడుపుతుంది | రివార్డులు/పెనాల్టీలను పొందుతుంది | +| ఇన్‌కమింగ్ స్టేట్ మార్పులను ధృవీకరిస్తుంది | చైన్ యొక్క హెడ్‌ను ట్రాక్ చేస్తుంది | అటెస్టేషన్‌లను చేస్తుంది | +| స్టేట్ మరియు రసీదుల ట్రైలను నిర్వహిస్తుంది | బీకన్ స్టేట్‌ను నిర్వహిస్తుంది (ఏకాభిప్రాయం మరియు ఎగ్జిక్యూషన్ సమాచారాన్ని కలిగి ఉంటుంది) | 32 ETH స్టేక్ చేయాలి | +| ఎగ్జిక్యూషన్ పేలోడ్‌ను సృష్టిస్తుంది | RANDAOలో పేరుకుపోయిన రాండమ్‌నెస్‌ను ట్రాక్ చేస్తుంది (ఇది వాలిడేటర్ ఎంపిక మరియు ఇతర ఏకాభిప్రాయం కార్యకలాపాల కోసం ధృవీకరించదగిన రాండమ్‌నెస్‌ను అందించే ఒక అల్గారిథమ్) | స్లాష్ చేయబడవచ్చు | +| ఎథేరియంతో ఇంటరాక్ట్ అవ్వడానికి JSON-RPC APIని బహిర్గతం చేస్తుంది | జస్టిఫికేషన్ మరియు ఫైనలైజేషన్‌ను ట్రాక్ చేస్తుంది | | + +## మరింత సమాచారం {#further-reading} + +- [ప్రూఫ్-ఆఫ్-స్టేక్](/developers/docs/consensus-mechanisms/pos) +- [బ్లాక్ ప్రతిపాదన](/developers/docs/consensus-mechanisms/pos/block-proposal) +- [వాలిడేటర్ రివార్డులు మరియు పెనాల్టీలు](/developers/docs/consensus-mechanisms/pos/rewards-and-penalties) diff --git a/public/content/translations/te/developers/docs/nodes-and-clients/nodes-as-a-service/index.md b/public/content/translations/te/developers/docs/nodes-and-clients/nodes-as-a-service/index.md new file mode 100644 index 00000000000..1c903434c0d --- /dev/null +++ b/public/content/translations/te/developers/docs/nodes-and-clients/nodes-as-a-service/index.md @@ -0,0 +1,418 @@ +--- +title: "ఒక సేవగా నోడ్స్" +description: "నోడ్ సేవల యొక్క ఎంట్రీ-లెవల్ అవలోకనం, లాభనష్టాలు మరియు ప్రముఖ ప్రొవైడర్లు." +lang: te +sidebarDepth: 2 +--- + +## పరిచయం {#Introduction} + +మీ స్వంత [ఇతీరియము నోడ్](/developers/docs/nodes-and-clients/#what-are-nodes-and-clients)ను అమలు చేయడం సవాలుగా ఉంటుంది, ముఖ్యంగా ప్రారంభించేటప్పుడు లేదా వేగంగా స్కేలింగ్ చేస్తున్నప్పుడు. మీ కోసం ఆప్టిమైజ్ చేసిన నోడ్ మౌలిక సదుపాయాలను అమలు చేసే [అనేక సేవలు](#popular-node-services) ఉన్నాయి, కాబట్టి మీరు బదులుగా మీ అప్లికేషన్ లేదా ఉత్పత్తిని అభివృద్ధి చేయడంపై దృష్టి పెట్టవచ్చు. నోడ్ సేవలు ఎలా పనిచేస్తాయో, వాటిని ఉపయోగించడం వల్ల కలిగే లాభనష్టాలను మేము వివరిస్తాము మరియు మీరు ప్రారంభించడానికి ఆసక్తి కలిగి ఉంటే ప్రొవైడర్లను జాబితా చేస్తాము. + +## అవసరాలు {#prerequisites} + +నోడ్స్ మరియు ఖాతాదారులు అంటే ఏమిటో మీకు ఇప్పటికే అవగాహన లేకపోతే, [నోడ్స్ మరియు ఖాతాదారులు](/developers/docs/nodes-and-clients/)ను చూడండి. + +## స్టేకర్లు {#stakoooooooooooooors} + +సోలో స్టేకర్లు థర్డ్-పార్టీ ప్రొవైడర్లపై ఆధారపడకుండా వారి స్వంత మౌలిక సదుపాయాలను అమలు చేయాలి. అంటే, ఒక ఎగ్జిక్యూషన్ క్లయింట్‌ను ఒక ఏకాభిప్రాయం క్లయింట్‌తో కలిపి అమలు చేయడం. [ది మెర్జ్](/roadmap/merge)కి ముందు, కేవలం ఏకాభిప్రాయం క్లయింట్‌ను అమలు చేయడం మరియు ఎగ్జిక్యూషన్ డేటా కోసం కేంద్రీకృత ప్రొవైడర్‌ను ఉపయోగించడం సాధ్యమైంది; ఇది ఇప్పుడు సాధ్యం కాదు - ఒక సోలో స్టేకర్ రెండు క్లయింట్‌లను అమలు చేయాలి. అయితే, ఈ ప్రక్రియను సులభతరం చేయడానికి సేవలు అందుబాటులో ఉన్నాయి. + +[నోడ్ అమలు చేయడంపై మరింత చదవండి](/developers/docs/nodes-and-clients/run-a-node/). + +ఈ పేజీలో వివరించిన సేవలు నాన్-స్టేకింగ్ నోడ్స్ కోసం. + +## నోడ్ సేవలు ఎలా పనిచేస్తాయి? {#how-do-node-services-work} + +నోడ్ సర్వీస్ ప్రొవైడర్లు మీ కోసం తెర వెనుక పంపిణీ చేయబడిన నోడ్ ఖాతాదారులను నడుపుతారు, కాబట్టి మీరు చేయనవసరం లేదు. + +ఈ సేవలు సాధారణంగా ఒక API కీని అందిస్తాయి, దీనిని మీరు బ్లాక్ చైనుకు వ్రాయడానికి మరియు చదవడానికి ఉపయోగించవచ్చు. వారు తరచుగా మెయిన్‌నెట్‌తో పాటు [ఇతీరియము టెస్టునెట్‌లకు](/developers/docs/networks/#ethereum-testnets) యాక్సెస్‌ను కలిగి ఉంటారు. + +కొన్ని సేవలు మీ కోసం వారు నిర్వహించే మీ స్వంత ప్రత్యేక నోడ్‌ను మీకు అందిస్తాయి, మరికొన్ని నోడ్స్‌లో కార్యకలాపాలను పంపిణీ చేయడానికి లోడ్ బ్యాలెన్సర్‌లను ఉపయోగిస్తాయి. + +దాదాపు అన్ని నోడ్ సేవలు ఏకీకృతం చేయడానికి చాలా సులభం, మీ స్వీయ హోస్ట్ చేసిన నోడ్‌ను మార్పిడి చేయడానికి మీ సంకేత భాషలో ఒక లైన్ మార్పులను కలిగి ఉంటాయి, లేదా సేవల మధ్య మారడానికి కూడా. + +తరచుగా నోడ్ సేవలు వివిధ రకాల [నోడ్ ఖాతాదారులను](/developers/docs/nodes-and-clients/#execution-clients) మరియు [రకాలను](/developers/docs/nodes-and-clients/#node-types) అమలు చేస్తాయి, ఒకే API లో క్లయింట్ నిర్దిష్ట పద్ధతులతో పాటు పూర్తి మరియు ఆర్కైవ్ నోడ్లను యాక్సెస్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. + +నోడ్ సేవలు మీ ప్రైవేట్ కీలను లేదా సమాచారాన్ని నిల్వ చేయవని మరియు చేయకూడదని గమనించడం ముఖ్యం. + +## ఒక నోడ్ సేవను ఉపయోగించడం వల్ల కలిగే ప్రయోజనాలు ఏమిటి? {#benefits-of-using-a-node-service} + +ఒక నోడ్ సేవను ఉపయోగించడం వల్ల ప్రధాన ప్రయోజనం ఏమిటంటే, మీరే నోడ్స్‌ను నిర్వహించడం మరియు నిర్వహించడం కోసం ఇంజనీరింగ్ సమయాన్ని వెచ్చించాల్సిన అవసరం లేదు. ఇది మౌలిక సదుపాయాల నిర్వహణ గురించి చింతించకుండా మీ ఉత్పత్తిని నిర్మించడంపై దృష్టి పెట్టడానికి మిమ్మల్ని అనుమతిస్తుంది. + +స్టోరేజ్ నుండి బ్యాండ్‌విడ్త్ వరకు విలువైన ఇంజనీరింగ్ సమయం వరకు మీ స్వంత నోడ్స్‌ను అమలు చేయడం చాలా ఖరీదైనది. స్కేలింగ్ చేసేటప్పుడు మరిన్ని నోడ్స్‌ను స్పిన్ చేయడం, నోడ్స్‌ను తాజా వెర్షన్‌లకు అప్‌గ్రేడ్ చేయడం మరియు స్టేట్ స్థిరత్వాన్ని నిర్ధారించడం వంటివి మీ కోరుకున్న web3 ఉత్పత్తిపై వనరులను నిర్మించడం మరియు ఖర్చు చేయడం నుండి దృష్టి మరల్చగలవు. + +## ఒక నోడ్ సేవను ఉపయోగించడం వల్ల కలిగే నష్టాలు ఏమిటి? {#cons-of-using-a-node-service} + +ఒక నోడ్ సేవను ఉపయోగించడం ద్వారా మీరు మీ ఉత్పత్తి యొక్క మౌలిక సదుపాయాల అంశాన్ని కేంద్రీకృతం చేస్తున్నారు. ఈ కారణంగా, వికేంద్రీకరణకు అత్యంత ప్రాముఖ్యతనిచ్చే ప్రాజెక్టులు 3వ పక్షానికి అవుట్‌సోర్సింగ్ చేయడం కంటే స్వీయ-హోస్టింగ్ నోడ్స్‌ను ఇష్టపడవచ్చు. + +మీ స్వంత నోడ్‌ను అమలు చేయడం వల్ల కలిగే [ప్రయోజనాల గురించి మరింత చదవండి](/developers/docs/nodes-and-clients/#benefits-to-you). + +## ప్రముఖ నోడ్ సేవలు {#popular-node-services} + +ఇక్కడ కొన్ని అత్యంత ప్రముఖ ఇతీరియము నోడ్ ప్రొవైడర్ల జాబితా ఉంది, తప్పిపోయిన వాటిని జోడించడానికి సంకోచించకండి! ప్రతి నోడ్ సేవ ఉచిత లేదా చెల్లింపు శ్రేణులతో పాటు విభిన్న ప్రయోజనాలు మరియు ఫీచర్‌లను అందిస్తుంది, నిర్ణయం తీసుకునే ముందు మీ అవసరాలకు ఏవి ఉత్తమంగా సరిపోతాయో మీరు పరిశోధించాలి. + +- [**Alchemy**](https://alchemy.com/) + - [డాక్స్](https://www.alchemy.com/docs/) + - లక్షణాలు + - నెలకు 300M కంప్యూట్ యూనిట్లతో అతిపెద్ద ఉచిత శ్రేణి (~30M getLatestBlock అభ్యర్థనలు) + - Polygon, Starknet, Optimism, Arbitrum కోసం మల్టీచైన్ మద్దతు + - ~70% అతిపెద్ద ఇతీరియము డాప్స్ మరియు DeFi లావాదేవీల పరిమాణానికి శక్తినివ్వడం + - Alchemy Notify ద్వారా నిజ-సమయ వెబ్‌హుక్ హెచ్చరికలు + - ఉత్తమ-తరగతి మద్దతు మరియు విశ్వసనీయత / స్థిరత్వం + - Alchemy యొక్క NFT ఎపిఐ + - రిక్వెస్ట్ ఎక్స్‌ప్లోరర్, మెమ్‌పూల్ వాచర్, మరియు కంపోజర్‌తో కూడిన డాష్‌బోర్డ్ + - ఇంటిగ్రేటెడ్ టెస్టునెట్ ఫాసెట్ యాక్సెస్ + - 18k వినియోగదారులతో క్రియాశీల డిస్కార్డ్ బిల్డర్ కమ్యూనిటీ + +- [**Allnodes**](https://www.allnodes.com/) + - [డాక్స్](https://docs.allnodes.com/) + - లక్షణాలు + - Allnodes పోర్ట్‌ఫోలియో పేజీలో సృష్టించబడిన పబ్లిక్‌నోడ్ టోకెన్‌తో రేటు పరిమితులు లేవు. + - [PublicNode](https://www.publicnode.com)లో గోప్యత కేంద్రీకృత ఉచిత rpc ఎండ్‌పాయింట్లు (100+ బ్లాక్ చైన్లు) + - 90+ బ్లాక్ చైన్‌ల కోసం రేటు పరిమితులు లేని ప్రత్యేక నోడ్స్ + - 30+ బ్లాక్ చైన్‌ల కోసం ప్రత్యేక ఆర్కైవ్ నోడ్స్ + - 3 ప్రాంతాలలో (US, EU, ఆసియా) అందుబాటులో ఉంది + - [PublicNode](https://www.publicnode.com/snapshots)లో 100+ బ్లాక్ చైన్‌ల కోసం స్నాప్‌షాట్‌లు + - 99.90%-99.98% అప్‌టైమ్ SLAతో 24/7 సాంకేతిక మద్దతు (ప్లాన్‌పై ఆధారపడి ఉంటుంది). + - గంటకు-చెల్లింపు ధర + - క్రెడిట్ కార్డ్, PayPal లేదా క్రిప్టోతో చెల్లించండి + +- [**All That Node**](https://allthatnode.com/) + - [డాక్స్](https://docs.allthatnode.com/) + - లక్షణాలు + - ఉచిత శ్రేణితో రోజుకు 50,000 అభ్యర్థనలు + - 40కి పైగా ప్రోటోకాల్స్‌కు మద్దతు + - JSON-RPC (EVM, Tendermint), REST, మరియు వెబ్‌సాకెట్ APIలకు మద్దతు ఉంది + - ఆర్కైవ్ డేటాకు అపరిమిత యాక్సెస్ + - 24/7 సాంకేతిక మద్దతు మరియు 99.9% కంటే ఎక్కువ అప్‌టైమ్ + - బహుళ చైన్‌లలో ఫాసెట్ అందుబాటులో ఉంది + - అపరిమిత సంఖ్యలో API కీలతో అపరిమిత ఎండ్‌పాయింట్ యాక్సెస్ + - ట్రేస్/డీబగ్ APIకి మద్దతు ఉంది + - స్వయంచాలక నవీకరణలు + +- [**Amazon Managed Blockchain**](https://aws.amazon.com/managed-blockchain/) + - [డాక్స్](https://aws.amazon.com/managed-blockchain/resources/) + - లక్షణాలు + - పూర్తిగా నిర్వహించబడే ఇతీరియము నోడ్స్ + - ఆరు ప్రాంతాలలో అందుబాటులో ఉంది + - HTTP మరియు సురక్షిత వెబ్‌సాకెట్‌లపై JSON-RPC + - 3 చైన్‌లకు మద్దతు ఇస్తుంది + - SLAs, AWS మద్దతు 24/7 + - Go-ethereum మరియు Lighthouse + +- [**Ankr**](https://www.ankr.com/) + - [డాక్స్](https://docs.ankr.com/) + - లక్షణాలు + - Ankr ప్రోటోకాల్ - 8+ చైన్‌ల కోసం పబ్లిక్ RPC API ఎండ్‌పాయింట్‌లకు ఓపెన్ యాక్సెస్ + - సమీపంలోని అందుబాటులో ఉన్న నోడ్‌కు వేగవంతమైన మరియు విశ్వసనీయమైన గేట్‌వే కోసం లోడ్ బ్యాలెన్సింగ్ మరియు నోడ్ ఆరోగ్య పర్యవేక్షణ + - WSS ఎండ్‌పాయింట్ మరియు అన్‌క్యాప్డ్ రేట్ పరిమితిని ప్రారంభించే ప్రీమియం శ్రేణి + - 40+ చైన్‌ల కోసం ఒక-క్లిక్ పూర్తి నోడ్ మరియు వాలిడేటర్ నోడ్ డిప్లాయ్‌మెంట్ + - మీరు వెళ్తున్న కొద్దీ స్కేల్ చేయండి + - విశ్లేషణ ఉపకరణాలు + - డాష్‌బోర్డ్ + - RPC, HTTPS మరియు WSS ఎండ్‌పాయింట్లు + - ప్రత్యక్ష మద్దతు + +- [**Blast**](https://blastapi.io/) + - [డాక్స్](https://docs.blastapi.io/) + - లక్షణాలు + - RPC మరియు WSS మద్దతు + - బహుళ-ప్రాంత నోడ్ హోస్టింగ్ + - వికేంద్రీకృత మౌలిక సదుపాయాలు + - పబ్లిక్ API + - ప్రత్యేక ఉచిత ప్లాన్ + - మల్టీచైన్ మద్దతు (17+ బ్లాక్ చైన్లు) + - ఆర్కైవ్ నోడ్స్ + - 24/7 డిస్కార్డ్ మద్దతు + - 24/7 పర్యవేక్షణ మరియు హెచ్చరికలు + - మొత్తం 99.9% SLA + - క్రిప్టోలో చెల్లించండి + +- [**BlockDaemon**](https://blockdaemon.com/) + - [డాక్స్](https://ubiquity.docs.blockdaemon.com/) + - ప్రయోజనాలు + - డాష్‌బోర్డ్ + - ప్రతి నోడ్ ప్రాతిపదికన + - విశ్లేషణలు + +- [**BlockPI**](https://blockpi.io/) + - [డాక్స్](https://docs.blockpi.io/) + - లక్షణాలు + - దృఢమైన & పంపిణీ చేయబడిన నోడ్ నిర్మాణం + - 40 వరకు HTTPS మరియు WSS ఎండ్‌పాయింట్లు + - ఉచిత సైన్అప్ ప్యాకేజీ మరియు నెలవారీ ప్యాకేజీ + - ట్రేస్ పద్ధతి + ఆర్కైవ్ డేటా మద్దతు + - 90 రోజుల వరకు చెల్లుబాటు అయ్యే ప్యాకేజీలు + - కస్టమ్ ప్లాన్ మరియు పే యాజ్ యూ గో చెల్లింపు + - క్రిప్టోలో చెల్లించండి + - ప్రత్యక్ష మద్దతు & సాంకేతిక మద్దతు + +- [**Chainbase**](https://www.chainbase.com/) + - [డాక్స్](https://docs.chainbase.com) + - లక్షణాలు + - అత్యంత అందుబాటులో, వేగవంతమైన, మరియు స్కేలబుల్ RPC సేవ + - మల్టీ-చైన్ మద్దతు + - ఉచిత టారిఫ్‌లు + - వినియోగదారు-స్నేహపూర్వక డాష్‌బోర్డ్ + - RPCకి మించి బ్లాక్ చైన్ డేటా సేవలను అందిస్తుంది + +- [**Chainstack**](https://chainstack.com/) + - [డాక్స్](https://docs.chainstack.com/) + - లక్షణాలు + - ఉచిత భాగస్వామ్య నోడ్స్ + - భాగస్వామ్య ఆర్కైవ్ నోడ్స్ + - GraphQL మద్దతు + - RPC మరియు WSS ఎండ్‌పాయింట్లు + - ప్రత్యేక పూర్తి మరియు ఆర్కైవ్ నోడ్స్ + - ప్రత్యేక డిప్లాయ్‌మెంట్‌ల కోసం వేగవంతమైన సింక్ సమయం + - మీ క్లౌడ్‌ను తీసుకురండి + - గంటకు-చెల్లింపు ధర + - ప్రత్యక్ష 24/7 మద్దతు + +- [**dRPC**](https://drpc.org/) + - [డాక్స్](https://drpc.org/docs) + - NodeCloud: ప్లగ్-ఎన్-ప్లే RPC ఇన్‌ఫ్రా $10 (USD) నుండి ప్రారంభం—పూర్తి వేగం, పరిమితులు లేవు + - NodeCloud ఫీచర్లు: + - 185 నెట్‌వర్క్‌ల కోసం API మద్దతు + - 40+ ప్రొవైడర్ల పంపిణీ చేయబడిన పూల్ + - తొమ్మిది (9) జియో-క్లస్టర్‌లతో ప్రపంచవ్యాప్త కవరేజ్ + - AI-పవర్డ్ లోడ్ బ్యాలెన్సింగ్ సిస్టమ్ + - పే-యాజ్-యూ-గో ఫ్లాట్ ధర—హైక్స్ లేవు, గడువు ముగియదు, లాక్-ఇన్‌లు లేవు + - అపరిమిత కీలు, గ్రాన్యులర్ కీ ట్వీక్‌లు, టీమ్ రోల్స్, ఫ్రంట్-ఎండ్ రక్షణ + - ఒక పద్ధతికి 20 కంప్యూట్ యూనిట్ల (CUలు) వద్ద పద్ధతుల ఫ్లాట్ రేట్ + - [పబ్లిక్ ఎండ్‌పాయింట్ చైన్‌లిస్ట్](https://drpc.org/chainlist) + - [ధర కాలిక్యులేటర్](https://drpc.org/pricing#calculator) + - NodeCore: పూర్తి నియంత్రణ కోరుకునే సంస్థల కోసం ఓపెన్-సోర్స్ స్టాక్ + +- [**GetBlock**](https://getblock.io/) + - [డాక్స్](https://getblock.io/docs/get-started/authentication-with-api-key/) + - లక్షణాలు + - 40+ బ్లాక్ చైన్ నోడ్స్‌కు యాక్సెస్ + - 40K ఉచిత రోజువారీ అభ్యర్థనలు + - అపరిమిత సంఖ్యలో API కీలు + - 1GB/sec వద్ద అధిక కనెక్షన్ వేగం + - ట్రేస్+ఆర్కైవ్ + - అధునాతన విశ్లేషణలు + - స్వయంచాలక నవీకరణలు + - సాంకేతిక మద్దతు + +- [**InfStones**](https://infstones.com/) + - లక్షణాలు + - ఉచిత శ్రేణి ఎంపిక + - మీరు వెళ్తున్న కొద్దీ స్కేల్ చేయండి + - విశ్లేషణలు + - డాష్‌బోర్డ్ + - ప్రత్యేక API ఎండ్‌పాయింట్లు + - ప్రత్యేక పూర్తి నోడ్స్ + - ప్రత్యేక డిప్లాయ్‌మెంట్‌ల కోసం వేగవంతమైన సింక్ సమయం + - ప్రత్యక్ష 24/7 మద్దతు + - 50+ బ్లాక్ చైన్ నోడ్స్‌కు యాక్సెస్ + +- [**Infura**](https://infura.io/) + - [డాక్స్](https://infura.io/docs) + - లక్షణాలు + - ఉచిత శ్రేణి ఎంపిక + - మీరు వెళ్తున్న కొద్దీ స్కేల్ చేయండి + - చెల్లింపు ఆర్కైవల్ డేటా + - ప్రత్యక్ష మద్దతు + - డాష్‌బోర్డ్ + +- [**Kaleido**](https://kaleido.io/) + - [డాక్స్](https://docs.kaleido.io/) + - లక్షణాలు + - ఉచిత స్టార్టర్ శ్రేణి + - ఒక-క్లిక్ ఇతీరియము నోడ్ డిప్లాయ్‌మెంట్ + - అనుకూలీకరించదగిన క్లయింట్లు మరియు అల్గారిథమ్‌లు (Geth, Quorum & Besu || PoA, IBFT & Raft) + - 500+ పరిపాలనా మరియు సేవా APIలు + - ఇతీరియము లావాదేవీ సమర్పణ కోసం RESTful ఇంటర్‌ఫేస్ (Apache Kafka మద్దతుతో) + - ఈవెంట్ డెలివరీ కోసం అవుట్‌బౌండ్ స్ట్రీమ్‌లు (Apache Kafka మద్దతుతో) + - "ఆఫ్‌చైన్" మరియు సహాయక సేవల లోతైన సేకరణ (ఉదాహరణకు, ద్వైపాక్షిక ఎన్‌క్రిప్టెడ్ మెసేజింగ్ రవాణా) + - పరిపాలన మరియు పాత్ర-ఆధారిత యాక్సెస్ నియంత్రణతో సూటిగా ఉండే నెట్‌వర్క్ ఆన్‌బోర్డింగ్ + - నిర్వాహకులు మరియు తుది వినియోగదారుల కోసం అధునాతన వినియోగదారు నిర్వహణ + - అత్యంత స్కేలబుల్, స్థితిస్థాపక, ఎంటర్‌ప్రైజ్-గ్రేడ్ మౌలిక సదుపాయాలు + - క్లౌడ్ HSM ప్రైవేట్ కీ నిర్వహణ + - ఇతీరియము మెయిన్‌నెట్ టెథరింగ్ + - ISO 27k మరియు SOC 2, టైప్ 2 ధృవపత్రాలు + - డైనమిక్ రన్‌టైమ్ కాన్ఫిగరేషన్ (ఉదా., క్లౌడ్ ఇంటిగ్రేషన్‌లను జోడించడం, నోడ్ ఇన్‌గ్రెస్‌లను మార్చడం, మొదలైనవి) + - మల్టీ-క్లౌడ్, మల్టీ-రీజియన్ మరియు హైబ్రిడ్ డిప్లాయ్‌మెంట్ ఆర్కెస్ట్రేషన్‌లకు మద్దతు + - సాధారణ గంటవారీ SaaS-ఆధారిత ధర + - SLAలు మరియు 24x7 మద్దతు + +- [**Lava Network**](https://www.lavanet.xyz/) + - [డాక్స్](https://docs.lavanet.xyz/) + - లక్షణాలు + - ఉచిత టెస్టునెట్ వినియోగం + - అధిక అప్‌టైమ్ కోసం వికేంద్రీకృత పునరావృతం + - ఓపెన్-సోర్స్ + - పూర్తిగా వికేంద్రీకృత SDK + - Ethers.js ఇంటిగ్రేషన్ + - సహజమైన ప్రాజెక్ట్ మేనేజ్‌మెంట్ ఇంటర్‌ఫేస్ + - ఏకాభిప్రాయం-ఆధారిత డేటా సమగ్రత + - మల్టీ-చైన్ మద్దతు + +- [**Moralis**](https://moralis.io/) + - [డాక్స్](https://docs.moralis.io/) + - లక్షణాలు + - ఉచిత భాగస్వామ్య నోడ్స్ + - ఉచిత భాగస్వామ్య ఆర్కైవ్ నోడ్స్ + - గోప్యత కేంద్రీకృతం (లాగ్స్ పాలసీ లేదు) + - క్రాస్ చైన్ మద్దతు + - మీరు వెళ్తున్న కొద్దీ స్కేల్ చేయండి + - డాష్‌బోర్డ్ + - ప్రత్యేక ఇతీరియము SDK + - ప్రత్యేక API ఎండ్‌పాయింట్లు + - ప్రత్యక్ష, సాంకేతిక మద్దతు + +- [**NodeReal MegaNode**](https://nodereal.io/) + - [డాక్స్](https://docs.nodereal.io/docs/introduction) + - లక్షణాలు + - విశ్వసనీయమైన, వేగవంతమైన మరియు స్కేలబుల్ RPC API సేవలు + - web3 డెవలపర్‌ల కోసం మెరుగైన API + - మల్టీ-చైన్ మద్దతు + - ఉచితంగా ప్రారంభించండి + +- [**NOWNodes**](https://nownodes.io/) + - [డాక్స్](https://documenter.getpostman.com/view/13630829/TVmFkLwy) + - లక్షణాలు + - 50+ బ్లాక్ చైన్ నోడ్స్‌కు యాక్సెస్ + - ఉచిత API కీ + - బ్లాక్ ఎక్స్‌ప్లోరర్‌లు + - API ప్రతిస్పందన సమయం ⩽ 1 సెకను + - 24/7 మద్దతు బృందం + - వ్యక్తిగత ఖాతా మేనేజర్ + - భాగస్వామ్య, ఆర్కైవ్, బ్యాకప్ మరియు ప్రత్యేక నోడ్స్ + +- [**Pocket Network**](https://www.pokt.network/) + - [డాక్స్](https://docs.pokt.network/home/) + - లక్షణాలు + - వికేంద్రీకృత RPC ప్రోటోకాల్ మరియు మార్కెట్‌ప్లేస్ + - రోజుకు 1M అభ్యర్థనల ఉచిత శ్రేణి (ఒక ఎండ్‌పాయింట్‌కు, గరిష్టంగా 2) + - [పబ్లిక్ ఎండ్‌పాయింట్లు](https://docs.pokt.network/developers/public-endpoints) + - ప్రీ-స్టేక్+ ప్రోగ్రామ్ (మీకు రోజుకు 1M కంటే ఎక్కువ అభ్యర్థనలు అవసరమైతే) + - 15+ బ్లాక్‌చైన్‌లకు మద్దతు ఉంది + - అప్లికేషన్‌లకు సేవ చేయడం కోసం POKT సంపాదిస్తున్న 6400+ నోడ్స్ + - ఆర్కైవల్ నోడ్, ట్రేసింగ్‌తో ఆర్కైవల్ నోడ్, & టెస్టునెట్ నోడ్ మద్దతు + - ఇతీరియము మెయిన్‌నెట్ నోడ్ ఖాతాదారుల వైవిధ్యం + - వైఫల్యానికి ఒక్క పాయింట్ లేదు + - సున్నా డౌన్‌టైమ్ + - ఖర్చు-ప్రభావవంతమైన దాదాపు-సున్నా టోకెనామిక్స్ (నెట్‌వర్క్ బ్యాండ్‌విడ్త్ కోసం ఒకసారి POKTను స్టేక్ చేయండి) + - నెలవారీ మునిగిపోయిన ఖర్చులు లేవు, మీ మౌలిక సదుపాయాలను ఆస్తిగా మార్చండి + - ప్రోటోకాల్‌లో నిర్మించిన లోడ్-బ్యాలెన్సింగ్ + - మీరు వెళ్తున్న కొద్దీ రోజుకు అభ్యర్థనల సంఖ్యను మరియు గంటకు నోడ్స్‌ను అనంతంగా స్కేల్ చేయండి + - అత్యంత ప్రైవేట్, సెన్సార్‌షిప్-నిరోధక ఎంపిక + - ప్రాక్టికల్ డెవలపర్ మద్దతు + - [Pocket Portal](https://bit.ly/ETHorg_POKTportal) డాష్‌బోర్డ్ మరియు విశ్లేషణలు + +- [**QuickNode**](https://www.quicknode.com) + - [డాక్స్](https://www.quicknode.com/docs/) + - లక్షణాలు + - 24/7 సాంకేతిక మద్దతు & డెవ్ డిస్కార్డ్ కమ్యూనిటీ + - జియో-బ్యాలెన్స్‌డ్, మల్టీ క్లౌడ్/మెటల్, తక్కువ-లేటెన్సీ నెట్‌వర్క్ + - మల్టీచైన్ మద్దతు (Optimism, Arbitrum, Polygon + 11 ఇతరులు) + - వేగం & స్థిరత్వం కోసం మధ్య-పొరలు (కాల్ రూటింగ్, కాష్, ఇండెక్సింగ్) + - వెబ్‌హుక్స్ ద్వారా స్మార్ట్-కాంట్రాక్ట్ పర్యవేక్షణ + - సహజమైన డాష్‌బోర్డ్, విశ్లేషణల సూట్, RPC కంపోజర్ + - అధునాతన భద్రతా ఫీచర్లు (JWT, మాస్కింగ్, వైట్‌లిస్టింగ్) + - NFT డేటా మరియు విశ్లేషణల API + - [SOC2 సర్టిఫైడ్](https://www.quicknode.com/security) + - డెవలపర్‌ల నుండి ఎంటర్‌ప్రైజెస్‌ వరకు అనువైనది + +- [**Rivet**](https://rivet.cloud/) + - [డాక్స్](https://rivet.readthedocs.io/en/latest/) + - లక్షణాలు + - ఉచిత శ్రేణి ఎంపిక + - మీరు వెళ్తున్న కొద్దీ స్కేల్ చేయండి + +- [**SenseiNode**](https://senseinode.com) + - [డాక్స్](https://docs.senseinode.com/) + - లక్షణాలు + - ప్రత్యేక మరియు భాగస్వామ్య నోడ్స్ + - డాష్‌బోర్డ్ + - లాటిన్ అమెరికాలోని వివిధ ప్రదేశాలలో బహుళ హోస్టింగ్ ప్రొవైడర్లలో AWS నుండి హోస్టింగ్ + - Prysm మరియు Lighthouse ఖాతాదారులు + +- [**SettleMint**](https://console.settlemint.com/) + - [డాక్స్](https://docs.settlemint.com/) + - లక్షణాలు + - ఉచిత ట్రయల్ + - మీరు వెళ్తున్న కొద్దీ స్కేల్ చేయండి + - GraphQL మద్దతు + - RPC మరియు WSS ఎండ్‌పాయింట్లు + - ప్రత్యేక పూర్తి నోడ్స్ + - మీ క్లౌడ్‌ను తీసుకురండి + - విశ్లేషణ ఉపకరణాలు + - డాష్‌బోర్డ్ + - గంటకు-చెల్లింపు ధర + - ప్రత్యక్ష మద్దతు + +- [**Tenderly**](https://tenderly.co/web3-gateway) + - [డాక్స్](https://docs.tenderly.co/web3-gateway/web3-gateway) + - లక్షణాలు + - నెలకు 25 మిలియన్ టెండర్లీ యూనిట్లతో సహా ఉచిత శ్రేణి + - చారిత్రక డేటాకు ఉచిత యాక్సెస్ + - 8x వరకు వేగవంతమైన రీడ్-హెవీ వర్క్‌లోడ్‌లు + - 100% స్థిరమైన రీడ్ యాక్సెస్ + - JSON-RPC ఎండ్‌పాయింట్లు + - UI-ఆధారిత RPC అభ్యర్థన బిల్డర్ మరియు అభ్యర్థన ప్రివ్యూ + - Tenderly అభివృద్ధి, డీబగ్గింగ్ మరియు టెస్టింగ్ ఉపకరణాలతో గట్టిగా ఏకీకృతం చేయబడింది + - లావాదేవీ సిమ్యులేషన్‌లు + - వినియోగ విశ్లేషణలు మరియు ఫిల్టరింగ్ + - సులభమైన యాక్సెస్ కీ నిర్వహణ + - చాట్, ఇమెయిల్ మరియు డిస్కార్డ్ ద్వారా ప్రత్యేక ఇంజనీరింగ్ మద్దతు + +- [**Tokenview**](https://services.tokenview.io/) + - [డాక్స్](https://services.tokenview.io/docs?type=nodeService) + - లక్షణాలు + - 24/7 సాంకేతిక మద్దతు & డెవ్ టెలిగ్రామ్ కమ్యూనిటీ + - మల్టీచైన్ మద్దతు (Bitcoin, ఇతీరియము, Tron, BNB స్మార్ట్ చైన్, ఇతీరియము క్లాసిక్) + - RPC మరియు WSS ఎండ్‌పాయింట్లు రెండూ ఉపయోగించడానికి తెరిచి ఉన్నాయి + - ఆర్కైవ్ డేటా APIకి అపరిమిత యాక్సెస్ + - రిక్వెస్ట్ ఎక్స్‌ప్లోరర్ మరియు మెమ్‌పూల్ వాచర్‌తో కూడిన డాష్‌బోర్డ్ + - NFT డేటా API మరియు వెబ్‌హుక్ నోటిఫై + - క్రిప్టోలో చెల్లించండి + - అదనపు ప్రవర్తన అవసరాల కోసం బాహ్య మద్దతు + +- [**Watchdata**](https://watchdata.io/) + - [డాక్స్](https://docs.watchdata.io/) + - లక్షణాలు + - డేటా విశ్వసనీయత + - డౌన్‌టైమ్ లేని అంతరాయం లేని కనెక్షన్ + - ప్రక్రియ ఆటోమేషన్ + - ఉచిత టారిఫ్‌లు + - ఏ వినియోగదారుకైనా సరిపోయే అధిక పరిమితులు + - వివిధ నోడ్స్‌కు మద్దతు + - వనరుల స్కేలింగ్ + - అధిక ప్రాసెసింగ్ వేగాలు + +- [**ZMOK**](https://zmok.io/) + - [డాక్స్](https://docs.zmok.io/) + - లక్షణాలు + - ఒక సేవగా ఫ్రంట్-రన్నింగ్ + - శోధన/ఫిల్టరింగ్ పద్ధతులతో గ్లోబల్ లావాదేవీల మెమ్‌పూల్ + - లావాదేవీలను పంపడానికి అపరిమిత TX ఫీజు మరియు అనంతమైన గ్యాస్ + - కొత్త బ్లాక్‌ను వేగంగా పొందడం మరియు బ్లాక్ చైనును చదవడం + - ఒక API కాల్‌కు ఉత్తమ ధర హామీ + +- [**Zeeve**](https://www.zeeve.io/) + - [డాక్స్](https://www.zeeve.io/docs/) + - లక్షణాలు + - బ్లాక్ చైన్ నోడ్స్ మరియు నెట్‌వర్క్‌ల డిప్లాయ్‌మెంట్, పర్యవేక్షణ మరియు నిర్వహణను అందించే ఎంటర్‌ప్రైజ్-గ్రేడ్ నో-కోడ్ ఆటోమేషన్ ప్లాట్‌ఫారమ్ + - 30+ మద్దతు ఉన్న ప్రోటోకాల్‌లు & ఇంటిగ్రేషన్‌లు, మరియు మరిన్ని జోడించబడుతున్నాయి + - వికేంద్రీకృత నిల్వ, వికేంద్రీకృత గుర్తింపు మరియు నిజ-ప్రపంచ వినియోగ కేసుల కోసం బ్లాక్ చైన్ లెడ్జర్ డేటా APIల వంటి విలువ ఆధారిత web3 మౌలిక సదుపాయాల సేవలు + - 24/7 మద్దతు మరియు చురుకైన పర్యవేక్షణ అన్ని సమయాలలో నోడ్స్ ఆరోగ్యాన్ని నిర్ధారిస్తాయి. + - RPC ఎండ్‌పాయింట్లు APIలకు ప్రామాణీకరించబడిన యాక్సెస్‌ను, సహజమైన డాష్‌బోర్డ్ మరియు విశ్లేషణలతో అవాంతరాలు లేని నిర్వహణను అందిస్తాయి. + - ఎంచుకోవడానికి నిర్వహించే క్లౌడ్ మరియు మీ స్వంత క్లౌడ్ ఎంపికలు రెండింటినీ అందిస్తుంది మరియు AWS, Azure, Google Cloud, Digital Ocean మరియు ఆన్-ప్రాంగణం వంటి అన్ని ప్రధాన క్లౌడ్ ప్రొవైడర్లకు మద్దతు ఇస్తుంది. + - ప్రతిసారీ మీ వినియోగదారునికి దగ్గరగా ఉన్న నోడ్‌ను చేరుకోవడానికి మేము తెలివైన రూటింగ్‌ను ఉపయోగిస్తాము + +## మరింత సమాచారం {#further-reading} + +- [ఇతీరియము నోడ్ సేవల జాబితా](https://ethereumnodes.com/) + +## సంబంధిత అంశాలు {#related-topics} + +- [నోడ్‌లు మరియు క్లయింట్లు](/developers/docs/nodes-and-clients/) + +## సంబంధిత ట్యుటోరియల్స్ {#related-tutorials} + +- [Alchemyని ఉపయోగించి ఇతీరియము అభివృద్ధిని ప్రారంభించడం](/developers/tutorials/getting-started-with-ethereum-development-using-alchemy/) +- [web3 మరియు Alchemyని ఉపయోగించి లావాదేవీలను పంపడానికి గైడ్](/developers/tutorials/sending-transactions-using-web3-and-alchemy/) diff --git a/public/content/translations/te/developers/docs/nodes-and-clients/run-a-node/index.md b/public/content/translations/te/developers/docs/nodes-and-clients/run-a-node/index.md new file mode 100644 index 00000000000..a1584f036a0 --- /dev/null +++ b/public/content/translations/te/developers/docs/nodes-and-clients/run-a-node/index.md @@ -0,0 +1,484 @@ +--- +title: "మీ స్వంత ఇతీరియము నోడ్‌ను స్పిన్ అప్ చేయండి" +description: "ఇతీరియము క్లయింట్ యొక్క మీ స్వంత ఉదాహరణను అమలు చేయడానికి సాధారణ పరిచయం." +lang: te +sidebarDepth: 2 +--- + +మీ స్వంత నోడ్‌ను నడపడం మీకు వివిధ ప్రయోజనాలను అందిస్తుంది, కొత్త అవకాశాలను తెరుస్తుంది మరియు పర్యావరణ వ్యవస్థకు మద్దతు ఇవ్వడానికి సహాయపడుతుంది. ఈ పేజీ మీ స్వంత నోడ్‌ను స్పిన్ చేయడం మరియు ఇతీరియము లావాదేవీలను ధృవీకరించడంలో పాల్గొనడం ద్వారా మీకు మార్గనిర్దేశం చేస్తుంది. + +[ది మెర్జ్](/roadmap/merge) తర్వాత, ఇతీరియము నోడ్‌ను అమలు చేయడానికి రెండు క్లయింట్‌లు అవసరమని గమనించండి; ఒక **ఎగ్జిక్యూషన్ లేయర్ (EL)** క్లయింట్ మరియు ఒక **ఏకాభిప్రాయం లేయర్ (CL)** క్లయింట్. ఇతీరియము నోడ్‌ను అమలు చేయడానికి ఈ రెండు క్లయింట్‌లను ఎలా ఇన్‌స్టాల్ చేయాలో, కాన్ఫిగర్ చేయాలో మరియు కనెక్ట్ చేయాలో ఈ పేజీ చూపిస్తుంది. + +## అవసరాలు {#prerequisites} + +ఇతీరియము నోడ్ అంటే ఏమిటో మరియు మీరు క్లయింట్‌ను ఎందుకు అమలు చేయాలనుకుంటున్నారో మీరు అర్థం చేసుకోవాలి. ఇది [నోడ్స్ మరియు క్లయింట్లు](/developers/docs/nodes-and-clients/)లో కవర్ చేయబడింది. + +మీరు నోడ్‌ను అమలు చేసే అంశానికి కొత్తవారైతే లేదా తక్కువ సాంకేతిక మార్గం కోసం చూస్తున్నట్లయితే, [ఇతీరియము నోడ్‌ను అమలు చేయడం](/run-a-node)లో మా యూజర్-ఫ్రెండ్లీ పరిచయాన్ని మొదట తనిఖీ చేయాలని మేము సిఫార్సు చేస్తున్నాము. + +## ఒక విధానాన్ని ఎంచుకోవడం {#choosing-approach} + +మీ నోడ్‌ను స్పిన్ చేయడంలో మొదటి దశ మీ విధానాన్ని ఎంచుకోవడం. అవసరాలు మరియు వివిధ అవకాశాల ఆధారంగా, మీరు తప్పనిసరిగా క్లయింట్ అమలును (ఎగ్జిక్యూషన్ మరియు ఏకాభిప్రాయం క్లయింట్లు రెండింటినీ), పర్యావరణం (హార్డ్‌వేర్, సిస్టమ్), మరియు క్లయింట్ సెట్టింగ్‌ల కోసం పారామితులను ఎంచుకోవాలి. + +ఈ పేజీ ఈ నిర్ణయాల ద్వారా మీకు మార్గనిర్దేశం చేస్తుంది మరియు మీ ఇతీరియము ఉదాహరణను అమలు చేయడానికి అత్యంత అనుకూలమైన మార్గాన్ని కనుగొనడంలో మీకు సహాయపడుతుంది. + +క్లయింట్ అమలుల నుండి ఎంచుకోవడానికి, అందుబాటులో ఉన్న అన్ని మెయిన్‌నెట్ సిద్ధంగా ఉన్న [ఎగ్జిక్యూషన్ క్లయింట్లు](/developers/docs/nodes-and-clients/#execution-clients), [ఏకాభిప్రాయం క్లయింట్లు](/developers/docs/nodes-and-clients/#consensus-clients) చూడండి మరియు [క్లయింట్ వైవిధ్యం](/developers/docs/nodes-and-clients/client-diversity) గురించి తెలుసుకోండి. + +క్లయింట్‌ల [అవసరాలు](#requirements) పరిగణనలోకి తీసుకుని, మీ స్వంత [హార్డ్‌వేర్ లేదా క్లౌడ్‌లో](#local-vs-cloud) సాఫ్ట్‌వేర్‌ను అమలు చేయాలో లేదో నిర్ణయించుకోండి. + +పర్యావరణాన్ని సిద్ధం చేసిన తర్వాత, ఎంచుకున్న క్లయింట్‌లను [బిగినర్-ఫ్రెండ్లీ ఇంటర్‌ఫేస్](#automatized-setup)తో లేదా అధునాతన ఎంపికలతో టెర్మినల్‌ని ఉపయోగించి [మాన్యువల్‌గా](#manual-setup) ఇన్‌స్టాల్ చేయండి. + +నోడ్ రన్ అవుతున్నప్పుడు మరియు సింక్ అవుతున్నప్పుడు, మీరు దానిని [ఉపయోగించడానికి](#using-the-node) సిద్ధంగా ఉన్నారు, కానీ దాని [నిర్వహణ](#operating-the-node)పై నిఘా ఉంచారని నిర్ధారించుకోండి. + +![క్లయింట్ సెటప్](./diagram.png) + +### పర్యావరణం మరియు హార్డ్‌వేర్ {#environment-and-hardware} + +#### స్థానిక లేదా క్లౌడ్ {#local-vs-cloud} + +ఇతీరియము క్లయింట్లు వినియోగదారు గ్రేడ్ కంప్యూటర్‌లలో రన్ చేయగలవు మరియు ఉదాహరణకు మైనింగ్ మెషీన్‌ల వంటి ప్రత్యేక హార్డ్‌వేర్ అవసరం లేదు. అందువల్ల, మీ అవసరాల ఆధారంగా నోడ్‌ను అమర్చడానికి మీకు వివిధ ఎంపికలు ఉన్నాయి. +సరళీకరించడానికి, స్థానిక భౌతిక యంత్రం మరియు క్లౌడ్ సర్వర్ రెండింటిలోనూ నోడ్‌ను అమలు చేయడం గురించి ఆలోచిద్దాం: + +- క్లౌడ్ + - ప్రొవైడర్లు అధిక సర్వర్ అప్‌టైమ్ మరియు స్టాటిక్ పబ్లిక్ IP చిరునామాలను అందిస్తారు + - మీ స్వంతంగా నిర్మించుకోవడం కంటే ప్రత్యేకమైన లేదా వర్చువల్ సర్వర్‌ను పొందడం మరింత సౌకర్యవంతంగా ఉంటుంది + - ట్రేడ్ ఆఫ్ మూడవ పక్షాన్ని విశ్వసించడం - సర్వర్ ప్రొవైడర్ + - పూర్తి నోడ్ కోసం అవసరమైన నిల్వ పరిమాణం కారణంగా, అద్దెకు తీసుకున్న సర్వర్ ధర ఎక్కువగా ఉండవచ్చు +- సొంత హార్డ్‌వేర్ + - మరింత విశ్వసనీయత లేని మరియు సార్వభౌమ విధానం + - ఒక సారి పెట్టుబడి + - ముందుగా కాన్ఫిగర్ చేసిన మెషీన్‌లను కొనుగోలు చేయడానికి ఒక ఎంపిక + - మీరు భౌతికంగా యంత్రాన్ని మరియు నెట్‌వర్కింగ్‌ను సిద్ధం చేయాలి, నిర్వహించాలి మరియు సంభావ్యంగా ట్రబుల్షూట్ చేయాలి + +రెండు ఎంపికలు పైన సంగ్రహించిన విభిన్న ప్రయోజనాలను కలిగి ఉన్నాయి. మీరు క్లౌడ్ పరిష్కారం కోసం చూస్తున్నట్లయితే, అనేక సాంప్రదాయ క్లౌడ్ కంప్యూటింగ్ ప్రొవైడర్లతో పాటు, నోడ్‌లను అమర్చడంపై దృష్టి సారించిన సేవలు కూడా ఉన్నాయి. హోస్ట్ చేసిన నోడ్‌లపై మరిన్ని ఎంపికల కోసం [సేవగా నోడ్‌లు](/developers/docs/nodes-and-clients/nodes-as-a-service/) తనిఖీ చేయండి. + +#### హార్డ్వేర్ {#hardware} + +అయితే, సెన్సార్‌షిప్-నిరోధక, వికేంద్రీకృత నెట్‌వర్క్ క్లౌడ్ ప్రొవైడర్లపై ఆధారపడకూడదు. బదులుగా, మీ స్వంత స్థానిక హార్డ్‌వేర్‌లో మీ నోడ్‌ను అమలు చేయడం పర్యావరణ వ్యవస్థకు ఆరోగ్యకరమైనది. [అంచనాలు](https://www.ethernodes.org/networkType/cl/Hosting) క్లౌడ్‌లో నడిచే నోడ్‌ల యొక్క పెద్ద వాటాను చూపుతాయి, ఇది వైఫల్యానికి ఏకైక పాయింట్‌గా మారవచ్చు. + +ఇతీరియము క్లయింట్లు మీ కంప్యూటర్, ల్యాప్‌టాప్, సర్వర్ లేదా సింగిల్-బోర్డ్ కంప్యూటర్‌లో కూడా రన్ చేయగలవు. మీ వ్యక్తిగత కంప్యూటర్‌లో క్లయింట్‌లను అమలు చేయడం సాధ్యమే అయినప్పటికీ, మీ నోడ్ కోసం ప్రత్యేకంగా ఒక యంత్రాన్ని కలిగి ఉండటం వలన మీ ప్రాథమిక కంప్యూటర్‌పై ప్రభావాన్ని తగ్గించేటప్పుడు దాని పనితీరు మరియు భద్రతను గణనీయంగా పెంచుతుంది. + +మీ స్వంత హార్డ్‌వేర్‌ను ఉపయోగించడం చాలా సులభం. మరింత సాంకేతిక వ్యక్తుల కోసం అనేక సాధారణ ఎంపికలతో పాటు అధునాతన సెటప్‌లు ఉన్నాయి. కాబట్టి మీ మెషీన్‌లో ఇతీరియము క్లయింట్‌లను అమలు చేయడానికి అవసరాలు మరియు మార్గాలను పరిశీలిద్దాం. + +#### అవసరాలు {#requirements} + +హార్డ్‌వేర్ అవసరాలు క్లయింట్‌ను బట్టి విభిన్నంగా ఉంటాయి, కానీ సాధారణంగా నోడ్ సింక్‌లో ఉండవలసిన అవసరం ఉన్నందున అంత ఎక్కువగా ఉండవు. మైనింగ్‌తో దీనిని గందరగోళపరచవద్దు, దీనికి చాలా ఎక్కువ కంప్యూటింగ్ శక్తి అవసరం. అయితే మరింత శక్తివంతమైన హార్డ్‌వేర్‌తో సింక్ సమయం మరియు పనితీరు మెరుగుపడతాయి. + +ఏదైనా క్లయింట్‌ను ఇన్‌స్టాల్ చేసే ముందు, దయచేసి మీ కంప్యూటర్‌లో దీన్ని అమలు చేయడానికి తగినంత వనరులు ఉన్నాయని నిర్ధారించుకోండి. మీరు దిగువన కనీస మరియు సిఫార్సు చేసిన అవసరాలను కనుగొనవచ్చు. + +మీ హార్డ్‌వేర్‌కు అడ్డంకి ఎక్కువగా డిస్క్ స్పేస్. ఇతీరియము బ్లాక్ చైనుని సింక్ చేయడం చాలా ఇన్‌పుట్/అవుట్‌పుట్ ఇంటెన్సివ్ మరియు చాలా స్థలం అవసరం. సింక్రొనైజేషన్ తర్వాత కూడా వందలాది GBల ఖాళీ స్థలంతో కూడిన \*\*సాలిడ్-స్టేట్ డ్రైవ్ (SSD)\*\*ని కలిగి ఉండటం ఉత్తమం. + +డేటాబేస్ పరిమాణం మరియు ప్రారంభ సింక్రొనైజేషన్ వేగం ఎంచుకున్న క్లయింట్, దాని కాన్ఫిగరేషన్ మరియు [సింక్ వ్యూహం](/developers/docs/nodes-and-clients/#sync-modes)పై ఆధారపడి ఉంటుంది. + +మీ ఇంటర్నెట్ కనెక్షన్ [బ్యాండ్‌విడ్త్ క్యాప్](https://wikipedia.org/wiki/Data_cap) ద్వారా పరిమితం చేయబడలేదని కూడా నిర్ధారించుకోండి. ప్రారంభ సింక్ మరియు నెట్‌వర్క్‌కి ప్రసారం చేయబడిన డేటా మీ పరిమితిని మించిపోయే అవకాశం ఉన్నందున అన్‌మీటర్ కనెక్షన్‌ని ఉపయోగించమని సిఫార్సు చేయబడింది. + +##### ఆపరేటింగ్ సిస్టమ్ + +అన్ని క్లయింట్లు ప్రధాన ఆపరేటింగ్ సిస్టమ్‌లకు మద్దతు ఇస్తాయి - Linux, MacOS, Windows. అంటే మీకు అత్యంత అనుకూలమైన ఆపరేటింగ్ సిస్టమ్ (OS)తో సాధారణ డెస్క్‌టాప్ లేదా సర్వర్ మెషీన్‌లలో మీరు నోడ్‌లను అమలు చేయవచ్చు. సంభావ్య సమస్యలు మరియు భద్రతా లోపాలను నివారించడానికి మీ OS తాజాగా ఉందని నిర్ధారించుకోండి. + +##### కనీస అవసరాలు + +- 2+ కోర్లతో CPU +- 8 GB RAM +- 2TB SSD +- 10+ MBit/s బ్యాండ్‌విడ్త్ + +##### సిఫార్సు చేయబడిన నిర్దేశాలు + +- 4+ కోర్లతో వేగవంతమైన CPU +- 16 GB+ RAM +- 2+TBతో వేగవంతమైన SSD +- 25+ MBit/s బ్యాండ్‌విడ్త్ + +మీరు ఎంచుకున్న సింక్ మోడ్ మరియు క్లయింట్ స్పేస్ అవసరాలను ప్రభావితం చేస్తాయి, కానీ మేము ప్రతి క్లయింట్ కోసం మీకు అవసరమైన డిస్క్ స్థలాన్ని క్రింద అంచనా వేసాము. + +| ఖాతాదారుడు | డిస్క్ పరిమాణం (స్నాప్ సింక్) | డిస్క్ పరిమాణం (పూర్తి ఆర్కైవ్) | +| ---------- | ------------------------------------------------ | -------------------------------------------------- | +| Besu | 800GB+ | 12TB+ | +| Erigon | N/A | 2.5TB+ | +| Geth | 500GB+ | 12TB+ | +| Nethermind | 500GB+ | 12TB+ | +| Reth | N/A | 2.2TB+ | + +- గమనిక: Erigon మరియు Reth స్నాప్ సింక్‌ను అందించవు, కానీ పూర్తి ప్రూనింగ్ సాధ్యమే (Erigon కోసం ~2TB, Reth కోసం ~1.2TB) + +ఏకాభిప్రాయం క్లయింట్ల కోసం, స్పేస్ అవసరం క్లయింట్ అమలు మరియు ప్రారంభించబడిన ఫీచర్‌లపై కూడా ఆధారపడి ఉంటుంది (ఉదా., వాలిడేటర్ స్లాషర్) కానీ సాధారణంగా బీకాన్ డేటా కోసం అవసరమైన మరో 200GBతో లెక్కించబడుతుంది. ఎక్కువ సంఖ్యలో వాలిడేటర్లతో, బ్యాండ్‌విడ్త్ లోడ్ కూడా పెరుగుతుంది. మీరు [ఈ విశ్లేషణలో ఏకాభిప్రాయం క్లయింట్ అవసరాలపై వివరాలను](https://mirror.xyz/0x934e6B4D7eee305F8C9C42b46D6EEA09CcFd5EDc/b69LBy8p5UhcGJqUAmT22dpvdkU-Pulg2inrhoS9Mbc) కనుగొనవచ్చు. + +#### ప్లగ్-అండ్-ప్లే పరిష్కారాలు {#plug-and-play} + +మీ స్వంత హార్డ్‌వేర్‌తో నోడ్‌ను అమలు చేయడానికి సులభమైన ఎంపిక ప్లగ్-అండ్-ప్లే బాక్స్‌లను ఉపయోగించడం. విక్రేతల నుండి ముందుగా కాన్ఫిగర్ చేయబడిన యంత్రాలు అత్యంత సరళమైన అనుభవాన్ని అందిస్తాయి: ఆర్డర్, కనెక్ట్, రన్. సాఫ్ట్‌వేర్‌ను పర్యవేక్షించడానికి మరియు నియంత్రించడానికి ఒక సహజమైన గైడ్ మరియు డ్యాష్‌బోర్డ్‌తో ప్రతిదీ ముందుగా కాన్ఫిగర్ చేయబడింది మరియు స్వయంచాలకంగా నడుస్తుంది. + +- [DappNode](https://dappnode.io/) +- [Avado](https://ava.do/) + +#### సింగిల్-బోర్డ్ కంప్యూటర్‌లో ఇతీరియము {#ethereum-on-a-single-board-computer} + +ఇతీరియము నోడ్‌ను అమలు చేయడానికి సులభమైన మరియు చౌకైన మార్గం రాస్ప్బెర్రీ పై వంటి ARM ఆర్కిటెక్చర్‌తో కూడా సింగిల్ బోర్డ్ కంప్యూటర్‌ను ఉపయోగించడం. [ARMలో ఇతీరియము](https://ethereum-on-arm-documentation.readthedocs.io/en/latest/) రాస్ప్బెర్రీ పై మరియు ఇతర ARM బోర్డుల కోసం బహుళ ఎగ్జిక్యూషన్ మరియు ఏకాభిప్రాయం క్లయింట్ యొక్క సులభంగా అమలు చేయగల చిత్రాలను అందిస్తుంది. + +ఇలాంటి చిన్న, సరసమైన మరియు సమర్థవంతమైన పరికరాలు ఇంట్లో నోడ్‌ను అమలు చేయడానికి అనువైనవి, కానీ వాటి పరిమిత పనితీరును గుర్తుంచుకోండి. + +## నోడ్‌ను స్పిన్నింగ్ చేయడం {#spinning-up-node} + +వాస్తవ క్లయింట్ సెటప్‌ను ఆటోమేటెడ్ లాంచర్‌లతో లేదా మాన్యువల్‌గా, క్లయింట్ సాఫ్ట్‌వేర్‌ను నేరుగా సెటప్ చేయడం ద్వారా చేయవచ్చు. + +తక్కువ అధునాతన వినియోగదారుల కోసం, సిఫార్సు చేయబడిన విధానం లాంచర్‌ను ఉపయోగించడం, ఇది ఇన్‌స్టాలేషన్ ద్వారా మీకు మార్గనిర్దేశం చేస్తుంది మరియు క్లయింట్ సెటప్ ప్రక్రియను ఆటోమేట్ చేస్తుంది. అయితే, మీకు టెర్మినల్‌ని ఉపయోగించిన అనుభవం ఉంటే, మాన్యువల్ సెటప్ కోసం దశలను అనుసరించడం చాలా సులభం. + +### గైడెడ్ సెటప్ {#automatized-setup} + +బహుళ యూజర్-ఫ్రెండ్లీ ప్రాజెక్ట్‌లు క్లయింట్‌ను సెటప్ చేసే అనుభవాన్ని మెరుగుపరచడం లక్ష్యంగా పెట్టుకున్నాయి. ఈ లాంచర్లు ఆటోమేటిక్ క్లయింట్ ఇన్‌స్టాలేషన్ మరియు కాన్ఫిగరేషన్‌ను అందిస్తాయి, కొన్ని క్లయింట్‌ల గైడెడ్ సెటప్ మరియు పర్యవేక్షణ కోసం గ్రాఫికల్ ఇంటర్‌ఫేస్‌ను కూడా అందిస్తాయి. + +కేవలం కొన్ని క్లిక్‌లతో క్లయింట్‌లను ఇన్‌స్టాల్ చేయడానికి మరియు నియంత్రించడానికి మీకు సహాయపడే కొన్ని ప్రాజెక్ట్‌లు క్రింద ఉన్నాయి: + +- [DappNode](https://docs.dappnode.io/docs/user/getting-started/choose-your-path) - DappNode కేవలం విక్రేత నుండి వచ్చిన మెషీన్‌తో మాత్రమే రాదు. సాఫ్ట్‌వేర్, అసలైన నోడ్ లాంచర్ మరియు అనేక ఫీచర్లతో కూడిన కంట్రోల్ సెంటర్‌ను ఏకపక్ష హార్డ్‌వేర్‌లో ఉపయోగించవచ్చు. +- [EthPillar](https://www.coincashew.com/coins/overview-eth/ethpillar) - పూర్తి నోడ్‌ను సెటప్ చేయడానికి వేగవంతమైన మరియు సులభమైన మార్గం. వన్-లైనర్ సెటప్ సాధనం మరియు నోడ్ నిర్వహణ TUI. ఉచితం. ఓపెన్ సోర్స్. సోలో స్టేకర్ల ద్వారా ఇతీరియము కోసం పబ్లిక్ గూడ్స్. ARM64 మరియు AMD64 మద్దతు. +- eth-docker - సులభమైన మరియు సురక్షితమైన స్టాకింగ్‌పై దృష్టి సారించి డాకర్‌ను ఉపయోగించి ఆటోమేటెడ్ సెటప్, ప్రాథమిక టెర్మినల్ మరియు డాకర్ పరిజ్ఞానం అవసరం, కొంచెం ఎక్కువ అధునాతన వినియోగదారులకు సిఫార్సు చేయబడింది. +- [Stereum](https://stereum-dev.github.io/ethereum-node-web-docs) - GUI సెటప్ గైడ్, కంట్రోల్ సెంటర్ మరియు అనేక ఇతర ఫీచర్‌లతో SSH కనెక్షన్ ద్వారా రిమోట్ సర్వర్‌లో క్లయింట్‌లను ఇన్‌స్టాల్ చేయడానికి లాంచర్. +- [NiceNode](https://www.nicenode.xyz/) - మీ కంప్యూటర్‌లో నోడ్‌ను అమలు చేయడానికి సూటిగా వినియోగదారు అనుభవంతో కూడిన లాంచర్. కేవలం క్లయింట్‌లను ఎంచుకుని, కొన్ని క్లిక్‌లతో వాటిని ప్రారంభించండి. ఇంకా అభివృద్ధిలో ఉంది. +- [Sedge](https://docs.sedge.nethermind.io/docs/intro) - CLI విజార్డ్‌ని ఉపయోగించి డాకర్ కాన్ఫిగరేషన్‌ను స్వయంచాలకంగా రూపొందించే నోడ్ సెటప్ సాధనం. నెదర్‌మైండ్ ద్వారా Goలో వ్రాయబడింది. + +### మాన్యువల్ క్లయింట్ల సెటప్ {#manual-setup} + +మరొక ఎంపిక క్లయింట్ సాఫ్ట్‌వేర్‌ను మాన్యువల్‌గా డౌన్‌లోడ్ చేయడం, ధృవీకరించడం మరియు కాన్ఫిగర్ చేయడం. కొన్ని క్లయింట్లు గ్రాఫికల్ ఇంటర్‌ఫేస్‌ను అందించినప్పటికీ, మాన్యువల్ సెటప్‌కు ఇప్పటికీ టెర్మినల్‌తో ప్రాథమిక నైపుణ్యాలు అవసరం కానీ చాలా ఎక్కువ బహుముఖ ప్రజ్ఞను అందిస్తుంది. + +ముందుగా వివరించినట్లుగా, మీ స్వంత ఇతీరియము నోడ్‌ను సెటప్ చేయడానికి ఒక జత ఏకాభిప్రాయం మరియు ఎగ్జిక్యూషన్ క్లయింట్‌లను అమలు చేయడం అవసరం. కొన్ని క్లయింట్లు ఇతర రకమైన లైట్ క్లయింట్‌ను చేర్చవచ్చు మరియు ఇతర సాఫ్ట్‌వేర్ అవసరం లేకుండా సింక్ చేయవచ్చు. అయితే, పూర్తి విశ్వసనీయత లేని ధృవీకరణకు రెండు అమలులు అవసరం. + +#### క్లయింట్ సాఫ్ట్‌వేర్‌ను పొందడం {#getting-the-client} + +ముందుగా, మీరు మీ ప్రాధాన్య [ఎగ్జిక్యూషన్ క్లయింట్](/developers/docs/nodes-and-clients/#execution-clients) మరియు [ఏకాభిప్రాయం క్లయింట్](/developers/docs/nodes-and-clients/#consensus-clients) సాఫ్ట్‌వేర్‌ను పొందాలి. + +మీరు మీ ఆపరేటింగ్ సిస్టమ్ మరియు ఆర్కిటెక్చర్‌కు సరిపోయే ఎగ్జిక్యూటబుల్ అప్లికేషన్ లేదా ఇన్‌స్టాలేషన్ ప్యాకేజీని డౌన్‌లోడ్ చేసుకోవచ్చు. డౌన్‌లోడ్ చేసిన ప్యాకేజీల సంతకాలు మరియు చెక్‌సమ్‌లను ఎల్లప్పుడూ ధృవీకరించండి. కొన్ని క్లయింట్లు సులభమైన ఇన్‌స్టాలేషన్ మరియు అప్‌డేట్‌ల కోసం రిపోజిటరీలు లేదా డాకర్ చిత్రాలను కూడా అందిస్తాయి. అన్ని క్లయింట్లు ఓపెన్ సోర్స్, కాబట్టి మీరు వాటిని సోర్స్ నుండి కూడా నిర్మించవచ్చు. ఇది మరింత అధునాతన పద్ధతి, కానీ కొన్ని సందర్భాల్లో, ఇది అవసరం కావచ్చు. + +ప్రతి క్లయింట్‌ను ఇన్‌స్టాల్ చేయడానికి సూచనలు పైన ఉన్న క్లయింట్ జాబితాలలో లింక్ చేయబడిన డాక్యుమెంటేషన్‌లో అందించబడ్డాయి. + +క్లయింట్‌ల విడుదల పేజీలు ఇక్కడ ఉన్నాయి, ఇక్కడ మీరు వాటి ముందుగా నిర్మించిన బైనరీలు లేదా ఇన్‌స్టాలేషన్‌పై సూచనలను కనుగొనవచ్చు: + +##### ఎగ్జిక్యూషన్ క్లయింట్లు + +- [Besu](https://github.com/hyperledger/besu/releases) +- [Erigon](https://github.com/ledgerwatch/erigon/releases) +- [Geth](https://geth.ethereum.org/downloads/) +- [Nethermind](https://downloads.nethermind.io/) +- [Reth](https://reth.rs/installation/installation.html) + +[ఎగ్జిక్యూషన్ లేయర్](/developers/docs/nodes-and-clients/client-diversity/#execution-layer)లో క్లయింట్ వైవిధ్యం ఒక సమస్య అని కూడా గమనించాలి. పాఠకులు మైనారిటీ ఎగ్జిక్యూషన్ క్లయింట్‌ను అమలు చేయడాన్ని పరిగణించాలని సిఫార్సు చేయబడింది. + +##### ఏకాభిప్రాయం క్లయింట్లు + +- [Lighthouse](https://github.com/sigp/lighthouse/releases/latest) +- [Lodestar](https://chainsafe.github.io/lodestar/run/getting-started/installation#build-from-source/) (ముందుగా నిర్మించిన బైనరీని అందించదు, కేవలం డాకర్ ఇమేజ్ లేదా సోర్స్ నుండి నిర్మించబడుతుంది) +- [Nimbus](https://github.com/status-im/nimbus-eth2/releases/latest) +- [Prysm](https://github.com/prysmaticlabs/prysm/releases/latest) +- [Teku](https://github.com/ConsenSys/teku/releases) + +వాలిడేటర్లను అమలు చేసే ఏకాభిప్రాయం నోడ్‌లకు [క్లయింట్ వైవిధ్యం](/developers/docs/nodes-and-clients/client-diversity/) చాలా కీలకం. మెజారిటీ వాలిడేటర్లు ఒకే క్లయింట్ అమలును అమలు చేస్తుంటే, నెట్‌వర్క్ భద్రత ప్రమాదంలో ఉంది. అందువల్ల మైనారిటీ క్లయింట్‌ను ఎంచుకోవాలని సిఫార్సు చేయబడింది. + +[తాజా నెట్‌వర్క్ క్లయింట్ వినియోగాన్ని చూడండి](https://clientdiversity.org/) మరియు [క్లయింట్ వైవిధ్యం](/developers/docs/nodes-and-clients/client-diversity) గురించి మరింత తెలుసుకోండి. + +##### సాఫ్ట్‌వేర్‌ను ధృవీకరించడం + +ఇంటర్నెట్ నుండి సాఫ్ట్‌వేర్‌ను డౌన్‌లోడ్ చేస్తున్నప్పుడు, దాని సమగ్రతను ధృవీకరించాలని సిఫార్సు చేయబడింది. ఈ దశ ఐచ్ఛికం, కానీ ముఖ్యంగా ఇతీరియము క్లయింట్ వంటి కీలకమైన ఇన్‌ఫ్రాస్ట్రక్చర్ ముక్కతో, సంభావ్య దాడి వెక్టర్‌ల గురించి తెలుసుకోవడం మరియు వాటిని నివారించడం ముఖ్యం. మీరు ముందుగా నిర్మించిన బైనరీని డౌన్‌లోడ్ చేసి ఉంటే, మీరు దానిని విశ్వసించాలి మరియు దాడి చేసే వ్యక్తి ఎగ్జిక్యూటబుల్‌ను హానికరమైన దాని కోసం మార్చుకునే ప్రమాదం ఉంది. + +డెవలపర్లు వారి PGP కీలతో విడుదల చేసిన బైనరీలపై సంతకం చేస్తారు, తద్వారా వారు సృష్టించిన సాఫ్ట్‌వేర్‌ను మీరు ఖచ్చితంగా అమలు చేస్తున్నారని మీరు క్రిప్టోగ్రాఫికల్‌గా ధృవీకరించవచ్చు. మీరు డెవలపర్లు ఉపయోగించే పబ్లిక్ కీలను పొందాలి, వాటిని క్లయింట్ విడుదల పేజీలలో లేదా డాక్యుమెంటేషన్‌లో కనుగొనవచ్చు. క్లయింట్ విడుదల మరియు దాని సంతకాన్ని డౌన్‌లోడ్ చేసిన తర్వాత, మీరు వాటిని సులభంగా ధృవీకరించడానికి PGP అమలును ఉపయోగించవచ్చు, ఉదా., [GnuPG](https://gnupg.org/download/index.html). [linux](https://www.tecmint.com/verify-pgp-signature-downloaded-software/) లేదా [Windows/MacOS](https://freedom.press/training/verifying-open-source-software/)లో `gpg`ని ఉపయోగించి ఓపెన్-సోర్స్ సాఫ్ట్‌వేర్‌ను ధృవీకరించడంపై ఒక ట్యుటోరియల్‌ను చూడండి. + +ధృవీకరణ యొక్క మరొక రూపం ఏమిటంటే, మీరు డౌన్‌లోడ్ చేసిన సాఫ్ట్‌వేర్ యొక్క హాష్, ఒక ప్రత్యేకమైన క్రిప్టోగ్రాఫిక్ వేలిముద్ర, డెవలపర్లు అందించిన దానితో సరిపోలుతుందని నిర్ధారించుకోవడం. ఇది PGPని ఉపయోగించడం కంటే సులభం, మరియు కొన్ని క్లయింట్లు ఈ ఎంపికను మాత్రమే అందిస్తాయి. డౌన్‌లోడ్ చేసిన సాఫ్ట్‌వేర్‌పై హాష్ ఫంక్షన్‌ను అమలు చేసి, విడుదల పేజీ నుండి వచ్చిన దానితో సరిపోల్చండి. ఉదాహరణకి: + +```sh +sha256sum teku-22.6.1.tar.gz + +9b2f8c1f8d4dab0404ce70ea314ff4b3c77e9d27aff9d1e4c1933a5439767dde +``` + +#### క్లయింట్ సెటప్ {#client-setup} + +క్లయింట్ సాఫ్ట్‌వేర్‌ను ఇన్‌స్టాల్ చేసిన తర్వాత, డౌన్‌లోడ్ చేసిన తర్వాత లేదా కంపైల్ చేసిన తర్వాత, మీరు దాన్ని అమలు చేయడానికి సిద్ధంగా ఉన్నారు. దీని అర్థం సరైన కాన్ఫిగరేషన్‌తో అమలు చేయాలి. క్లయింట్లు రిచ్ కాన్ఫిగరేషన్ ఎంపికలను అందిస్తాయి, ఇవి వివిధ ఫీచర్లను ప్రారంభించగలవు. + +క్లయింట్ పనితీరు మరియు డేటా వినియోగాన్ని గణనీయంగా ప్రభావితం చేసే ఎంపికలతో ప్రారంభిద్దాం. [సింక్ మోడ్‌లు](/developers/docs/nodes-and-clients/#sync-modes) బ్లాక్ చైను డేటాను డౌన్‌లోడ్ చేయడానికి మరియు ధృవీకరించడానికి వివిధ పద్ధతులను సూచిస్తాయి. నోడ్‌ను ప్రారంభించే ముందు, ఏ నెట్‌వర్క్ మరియు సింక్ మోడ్‌ను ఉపయోగించాలో మీరు నిర్ణయించుకోవాలి. పరిగణించవలసిన ముఖ్యమైన విషయాలు డిస్క్ స్థలం మరియు క్లయింట్‌కు అవసరమైన సింక్ సమయం. ఏ సింక్ మోడ్ డిఫాల్ట్‌గా ఉందో గుర్తించడానికి క్లయింట్ డాక్స్‌పై శ్రద్ధ వహించండి. అది మీకు సరిపోకపోతే, భద్రత స్థాయి, అందుబాటులో ఉన్న డేటా మరియు ఖర్చు ఆధారంగా మరొకదాన్ని ఎంచుకోండి. సింక్రొనైజేషన్ అల్గోరిథంతో పాటు, మీరు వివిధ రకాల పాత డేటాను కత్తిరించడాన్ని కూడా సెట్ చేయవచ్చు. కత్తిరించడం అనేది పాత డేటాను తొలగించడానికి వీలు కల్పిస్తుంది, అనగా, ఇటీవలి బ్లాక్‌ల నుండి అందుబాటులో లేని స్టేట్ ట్రై నోడ్‌లను తొలగించడం. + +ఇతర ప్రాథమిక కాన్ఫిగరేషన్ ఎంపికలు, ఉదా., నెట్‌వర్క్‌ను ఎంచుకోవడం - మెయిన్‌నెట్ లేదా టెస్టునెట్‌లు, RPC లేదా వెబ్‌సాకెట్‌ల కోసం HTTP ఎండ్‌పాయింట్‌ను ప్రారంభించడం మొదలైనవి. మీరు క్లయింట్ డాక్యుమెంటేషన్‌లో అన్ని ఫీచర్లు మరియు ఎంపికలను కనుగొనవచ్చు. వివిధ క్లయింట్ కాన్ఫిగరేషన్‌లను CLI లేదా కాన్ఫిగ్ ఫైల్‌లో నేరుగా సంబంధిత ఫ్లాగ్‌లతో క్లయింట్‌ను అమలు చేయడం ద్వారా సెట్ చేయవచ్చు. ప్రతి క్లయింట్ కొద్దిగా భిన్నంగా ఉంటుంది; కాన్ఫిగ్ ఎంపికలపై వివరాల కోసం దయచేసి దాని అధికారిక డాక్యుమెంటేషన్ లేదా సహాయ పేజీని ఎల్లప్పుడూ చూడండి. + +పరీక్ష ప్రయోజనాల కోసం, మీరు టెస్టునెట్ నెట్‌వర్క్‌లలో ఒకదానిపై క్లయింట్‌ను అమలు చేయడానికి ఇష్టపడవచ్చు. [మద్దతు ఉన్న నెట్‌వర్క్‌ల అవలోకనాన్ని చూడండి](/developers/docs/nodes-and-clients/#execution-clients). + +ప్రాథమిక కాన్ఫిగరేషన్‌తో ఎగ్జిక్యూషన్ క్లయింట్‌లను అమలు చేయడానికి ఉదాహరణలు తదుపరి విభాగంలో చూడవచ్చు. + +#### ఎగ్జిక్యూషన్ క్లయింట్‌ను ప్రారంభించడం {#starting-the-execution-client} + +ఇతీరియము క్లయింట్ సాఫ్ట్‌వేర్‌ను ప్రారంభించే ముందు, మీ పర్యావరణం సిద్ధంగా ఉందని చివరిసారి తనిఖీ చేయండి. ఉదాహరణకు, నిర్ధారించుకోండి: + +- ఎంచుకున్న నెట్‌వర్క్ మరియు సింక్ మోడ్‌ను పరిగణనలోకి తీసుకుంటే తగినంత డిస్క్ స్థలం ఉంది. +- మెమరీ మరియు CPU ఇతర ప్రోగ్రామ్‌ల ద్వారా నిలిపివేయబడలేదు. +- ఆపరేటింగ్ సిస్టమ్ తాజా వెర్షన్‌కి అప్‌డేట్ చేయబడింది. +- సిస్టమ్ సరైన సమయం మరియు తేదీని కలిగి ఉంది. +- మీ రౌటర్ మరియు ఫైర్‌వాల్ లిజనింగ్ పోర్ట్‌లలో కనెక్షన్‌లను అంగీకరిస్తాయి. డిఫాల్ట్‌గా ఇతీరియము క్లయింట్లు లిజనర్ (TCP) పోర్ట్ మరియు డిస్కవరీ (UDP) పోర్ట్‌ను ఉపయోగిస్తాయి, రెండూ డిఫాల్ట్‌గా 30303లో ఉంటాయి. + +ప్రతిదీ సరిగ్గా పనిచేస్తోందని నిర్ధారించుకోవడంలో సహాయపడటానికి ముందుగా మీ క్లయింట్‌ను టెస్టునెట్‌లో అమలు చేయండి. + +డిఫాల్ట్ కాని ఏవైనా క్లయింట్ సెట్టింగ్‌లను మీరు ప్రారంభంలో ప్రకటించాలి. మీరు ఇష్టపడే కాన్ఫిగరేషన్‌ను ప్రకటించడానికి మీరు ఫ్లాగ్‌లు లేదా కాన్ఫిగ్ ఫైల్‌ను ఉపయోగించవచ్చు. ప్రతి క్లయింట్ యొక్క ఫీచర్లు మరియు కాన్ఫిగ్ సింటాక్స్ సెట్ విభిన్నంగా ఉంటుంది. ప్రత్యేకతల కోసం మీ క్లయింట్ డాక్యుమెంటేషన్‌ను తనిఖీ చేయండి. + +[ఇంజిన్ ఎపిఐ](https://github.com/ethereum/execution-apis/tree/main/src/engine)లో పేర్కొన్న ప్రామాణీకరించబడిన ఎండ్‌పాయింట్ ద్వారా ఎగ్జిక్యూషన్ మరియు ఏకాభిప్రాయం క్లయింట్లు కమ్యూనికేట్ చేస్తాయి. ఏకాభిప్రాయం క్లయింట్‌కు కనెక్ట్ చేయడానికి, ఎగ్జిక్యూషన్ క్లయింట్ తప్పనిసరిగా తెలిసిన మార్గంలో [`jwtsecret`](https://jwt.io/)ని రూపొందించాలి. భద్రత మరియు స్థిరత్వ కారణాల దృష్ట్యా, క్లయింట్లు ఒకే మెషీన్‌లో రన్ చేయాలి మరియు వాటి మధ్య స్థానిక RPC కనెక్షన్‌ని ప్రామాణీకరించడానికి ఈ మార్గం ఉపయోగించబడినందున రెండు క్లయింట్‌లకు ఈ మార్గం తెలియాలి. ఎగ్జిక్యూషన్ క్లయింట్ ప్రామాణీకరించబడిన ఎపిఐల కోసం లిజనింగ్ పోర్ట్‌ను కూడా నిర్వచించాలి. + +ఈ టోకెన్ క్లయింట్ సాఫ్ట్‌వేర్ ద్వారా స్వయంచాలకంగా ఉత్పత్తి చేయబడుతుంది, కానీ కొన్ని సందర్భాల్లో, మీరు దానిని మీరే చేయాల్సి రావచ్చు. మీరు దానిని [OpenSSL](https://www.openssl.org/) ఉపయోగించి రూపొందించవచ్చు: + +```sh +openssl rand -hex 32 > jwtsecret +``` + +#### ఎగ్జిక్యూషన్ క్లయింట్‌ను నడుపుతోంది {#running-an-execution-client} + +ఈ విభాగం ఎగ్జిక్యూషన్ క్లయింట్‌లను ప్రారంభించడం ద్వారా మీకు మార్గనిర్దేశం చేస్తుంది. ఇది ప్రాథమిక కాన్ఫిగరేషన్‌కు ఉదాహరణగా మాత్రమే పనిచేస్తుంది, ఇది ఈ సెట్టింగ్‌లతో క్లయింట్‌ను ప్రారంభిస్తుంది: + +- కనెక్ట్ చేయడానికి నెట్‌వర్క్‌ను నిర్దేశిస్తుంది, మా ఉదాహరణలలో మెయిన్‌నెట్ + - మీ సెటప్ యొక్క ప్రాథమిక పరీక్ష కోసం మీరు బదులుగా [టెస్టునెట్‌లలో ఒకదాన్ని](/developers/docs/networks/) ఎంచుకోవచ్చు +- బ్లాక్ చైనుతో సహా మొత్తం డేటా నిల్వ చేయబడే డేటా డైరెక్టరీని నిర్వచిస్తుంది + - మార్గం వాస్తవమైన దానితో భర్తీ చేయబడిందని నిర్ధారించుకోండి, ఉదా., మీ బాహ్య డ్రైవ్‌ను సూచిస్తుంది +- క్లయింట్‌తో కమ్యూనికేట్ చేయడానికి ఇంటర్‌ఫేస్‌లను ప్రారంభిస్తుంది + - ఏకాభిప్రాయం క్లయింట్‌తో కమ్యూనికేషన్ కోసం JSON-RPC మరియు ఇంజిన్ ఎపిఐతో సహా +- ప్రామాణీకరించబడిన ఎపిఐ కోసం `jwtsecret`కి మార్గాన్ని నిర్వచిస్తుంది + - ఉదాహరణ మార్గాన్ని క్లయింట్లు యాక్సెస్ చేయగల వాస్తవమైన దానితో భర్తీ చేశారని నిర్ధారించుకోండి, ఉదా., `/tmp/jwtsecret` + +దయచేసి ఇది కేవలం ప్రాథమిక ఉదాహరణ మాత్రమే అని గుర్తుంచుకోండి, మిగిలిన అన్ని సెట్టింగ్‌లు డిఫాల్ట్‌గా సెట్ చేయబడతాయి. డిఫాల్ట్ విలువలు, సెట్టింగ్‌లు మరియు ఫీచర్‌ల గురించి తెలుసుకోవడానికి ప్రతి క్లయింట్ డాక్యుమెంటేషన్‌పై శ్రద్ధ వహించండి. మరిన్ని ఫీచర్‌ల కోసం, ఉదాహరణకు వాలిడేటర్‌లను అమలు చేయడం, పర్యవేక్షించడం మొదలైన వాటి కోసం, దయచేసి నిర్దిష్ట క్లయింట్ డాక్యుమెంటేషన్‌ను చూడండి. + +> ఉదాహరణలలో బ్యాక్‌స్లాష్‌లు `` ఫార్మాటింగ్ ప్రయోజనాల కోసం మాత్రమే అని గమనించండి; కాన్ఫిగ్ ఫ్లాగ్‌లను ఒకే లైన్‌లో నిర్వచించవచ్చు. + +##### Besu నడుస్తోంది + +ఈ ఉదాహరణ Besuని మెయిన్‌నెట్‌లో ప్రారంభిస్తుంది, బ్లాక్ చైను డేటాను డిఫాల్ట్ ఫార్మాట్‌లో `/data/ethereum`లో నిల్వ చేస్తుంది, ఏకాభిప్రాయం క్లయింట్‌ను కనెక్ట్ చేయడం కోసం JSON-RPC మరియు ఇంజిన్ RPCని ప్రారంభిస్తుంది. ఇంజిన్ ఎపిఐ టోకెన్ `jwtsecret`తో ప్రామాణీకరించబడింది మరియు `localhost` నుండి కాల్‌లు మాత్రమే అనుమతించబడతాయి. + +```sh +besu --network=mainnet \ + --data-path=/data/ethereum \ + --rpc-http-enabled=true \ + --engine-rpc-enabled=true \ + --engine-host-allowlist="*" \ + --engine-jwt-enabled=true \ + --engine-jwt-secret=/path/to/jwtsecret +``` + +Besu వరుస ప్రశ్నలను అడిగే మరియు కాన్ఫిగ్ ఫైల్‌ను రూపొందించే లాంచర్ ఎంపికతో కూడా వస్తుంది. ఇంటరాక్టివ్ లాంచర్‌ని ఉపయోగించి అమలు చేయండి: + +```sh +besu --Xlauncher +``` + +[Besu డాక్యుమెంటేషన్](https://besu.hyperledger.org/public-networks/get-started/start-node/) అదనపు ఎంపికలు మరియు కాన్ఫిగరేషన్ వివరాలను కలిగి ఉంది. + +##### Erigonను అమలు చేస్తోంది + +ఈ ఉదాహరణ Erigonని మెయిన్‌నెట్‌లో ప్రారంభిస్తుంది, `/data/ethereum`లో బ్లాక్ చైను డేటాను నిల్వ చేస్తుంది, JSON-RPCని ప్రారంభిస్తుంది, ఏ నేమ్‌స్పేస్‌లు అనుమతించబడతాయో నిర్వచిస్తుంది మరియు `jwtsecret` మార్గం ద్వారా నిర్వచించబడిన ఏకాభిప్రాయం క్లయింట్‌ను కనెక్ట్ చేయడం కోసం ప్రామాణీకరణను ప్రారంభిస్తుంది. + +```sh +erigon --chain mainnet \ + --datadir /data/ethereum \ + --http --http.api=engine,eth,web3,net \ + --authrpc.jwtsecret=/path/to/jwtsecret +``` + +Erigon డిఫాల్ట్‌గా 8GB HDDతో పూర్తి సింక్‌ని నిర్వహిస్తుంది, ఇది 2TB కంటే ఎక్కువ ఆర్కైవ్ డేటాను అందిస్తుంది. డేటాడిర్ తగినంత ఖాళీ స్థలంతో డిస్క్‌ని సూచిస్తుందని నిర్ధారించుకోండి లేదా వివిధ రకాల డేటాను ట్రిమ్ చేయగల `--prune` ఫ్లాగ్‌ని చూడండి. మరింత తెలుసుకోవడానికి Erigon యొక్క `--help`ని తనిఖీ చేయండి. + +##### Gethను నడుపుతోంది + +ఈ ఉదాహరణ మెయిన్‌నెట్‌లో Gethను ప్రారంభిస్తుంది, `/data/ethereum`లో బ్లాక్ చైను డేటాను నిల్వ చేస్తుంది, JSON-RPCని ప్రారంభిస్తుంది మరియు ఏ నేమ్‌స్పేస్‌లు అనుమతించబడతాయో నిర్వచిస్తుంది. ఇది ఏకాభిప్రాయం క్లయింట్‌ను కనెక్ట్ చేయడం కోసం ప్రామాణీకరణను కూడా ప్రారంభిస్తుంది, దీనికి `jwtsecret`కి మార్గం మరియు ఏ కనెక్షన్‌లు అనుమతించబడతాయో నిర్వచించే ఎంపిక కూడా అవసరం, మా ఉదాహరణలో `localhost` నుండి మాత్రమే. + +```sh +geth --mainnet \ + --datadir "/data/ethereum" \ + --http --authrpc.addr localhost \ + --authrpc.vhosts="localhost" \ + --authrpc.port 8551 + --authrpc.jwtsecret=/path/to/jwtsecret +``` + +అన్ని కాన్ఫిగరేషన్ ఎంపికల కోసం [డాక్స్ తనిఖీ చేయండి](https://geth.ethereum.org/docs/fundamentals/command-line-options) మరియు [ఏకాభిప్రాయం క్లయింట్‌తో Gethను అమలు చేయడం](https://geth.ethereum.org/docs/getting-started/consensus-clients) గురించి మరింత తెలుసుకోండి. + +##### నెదర్‌మైండ్‌ను నడుపుతోంది + +నెదర్‌మైండ్ వివిధ [ఇన్‌స్టాలేషన్ ఎంపికలను](https://docs.nethermind.io/get-started/installing-nethermind) అందిస్తుంది. ప్యాకేజీ గైడెడ్ సెటప్‌తో కూడిన లాంచర్‌తో సహా వివిధ బైనరీలతో వస్తుంది, ఇది ఇంటరాక్టివ్‌గా కాన్ఫిగరేషన్‌ను రూపొందించడంలో మీకు సహాయపడుతుంది. ప్రత్యామ్నాయంగా, మీరు రన్నర్‌ను కనుగొనవచ్చు, ఇది ఎగ్జిక్యూటబుల్ మరియు మీరు దానిని కాన్ఫిగ్ ఫ్లాగ్‌లతో అమలు చేయవచ్చు. JSON-RPC డిఫాల్ట్‌గా ప్రారంభించబడింది. + +```sh +Nethermind.Runner --config mainnet \ + --datadir /data/ethereum \ + --JsonRpc.JwtSecretFile=/path/to/jwtsecret +``` + +నెదర్‌మైండ్ డాక్స్ ఏకాభిప్రాయం క్లయింట్‌తో నెదర్‌మైండ్‌ను అమలు చేయడంపై [పూర్తి గైడ్‌ను](https://docs.nethermind.io/get-started/running-node/) అందిస్తుంది. + +ఎగ్జిక్యూషన్ క్లయింట్ దాని ప్రధాన ఫంక్షన్‌లు, ఎంచుకున్న ఎండ్‌పాయింట్‌లను ప్రారంభిస్తుంది మరియు పీర్‌ల కోసం వెతకడం ప్రారంభిస్తుంది. పీర్‌లను విజయవంతంగా కనుగొన్న తర్వాత, క్లయింట్ సింక్రొనైజేషన్‌ను ప్రారంభిస్తుంది. ఎగ్జిక్యూషన్ క్లయింట్ ఏకాభిప్రాయం క్లయింట్ నుండి కనెక్షన్ కోసం వేచి ఉంటుంది. క్లయింట్ ప్రస్తుత స్థితికి విజయవంతంగా సింక్ చేయబడిన తర్వాత ప్రస్తుత బ్లాక్ చైను డేటా అందుబాటులో ఉంటుంది. + +##### Rethను అమలు చేస్తోంది + +ఈ ఉదాహరణ Rethని మెయిన్‌నెట్‌లో ప్రారంభిస్తుంది, డిఫాల్ట్ డేటా లొకేషన్‌ను ఉపయోగిస్తుంది. `localhost` నుండి కాల్‌లు మాత్రమే అనుమతించబడే `jwtsecret` మార్గం ద్వారా నిర్వచించబడిన ఏకాభిప్రాయం క్లయింట్‌ను కనెక్ట్ చేయడం కోసం JSON-RPC మరియు ఇంజిన్ RPC ప్రామాణీకరణను ప్రారంభిస్తుంది. + +```sh +reth node \ + --authrpc.jwtsecret /path/to/jwtsecret \ + --authrpc.addr 127.0.0.1 \ + --authrpc.port 8551 +``` + +డిఫాల్ట్ డేటా డైరెక్టరీల గురించి మరింత తెలుసుకోవడానికి [Rethను కాన్ఫిగర్ చేయడం](https://reth.rs/run/config.html?highlight=data%20directory#configuring-reth) చూడండి. [Reth డాక్యుమెంటేషన్](https://reth.rs/run/mainnet.html) అదనపు ఎంపికలు మరియు కాన్ఫిగరేషన్ వివరాలను కలిగి ఉంది. + +#### ఏకాభిప్రాయం క్లయింట్‌ను ప్రారంభించడం {#starting-the-consensus-client} + +ఎగ్జిక్యూషన్ క్లయింట్‌కు స్థానిక RPC కనెక్షన్‌ను ఏర్పాటు చేయడానికి ఏకాభిప్రాయం క్లయింట్ సరైన పోర్ట్ కాన్ఫిగరేషన్‌తో ప్రారంభించబడాలి. ఏకాభిప్రాయం క్లయింట్లు బహిర్గతం చేయబడిన ఎగ్జిక్యూషన్ క్లయింట్ పోర్ట్‌తో కాన్ఫిగరేషన్ ఆర్గ్యుమెంట్‌గా అమలు చేయాలి. + +ఏకాభిప్రాయం క్లయింట్‌కు వాటి మధ్య RPC కనెక్షన్‌ని ప్రామాణీకరించడానికి ఎగ్జిక్యూషన్ క్లయింట్ యొక్క `jwt-secret`కి మార్గం కూడా అవసరం. పైన ఉన్న అమలు ఉదాహరణల మాదిరిగానే, ప్రతి ఏకాభిప్రాయం క్లయింట్ కాన్ఫిగరేషన్ ఫ్లాగ్‌ను కలిగి ఉంటుంది, ఇది jwt టోకెన్ ఫైల్ మార్గాన్ని ఆర్గ్యుమెంట్‌గా తీసుకుంటుంది. ఇది ఎగ్జిక్యూషన్ క్లయింట్‌కు అందించిన `jwtsecret` మార్గంతో స్థిరంగా ఉండాలి. + +మీరు వాలిడేటర్‌ను అమలు చేయాలని ప్లాన్ చేస్తే, ఫీజు గ్రహీత యొక్క ఇతీరియము చిరునామాను పేర్కొనే కాన్ఫిగరేషన్ ఫ్లాగ్‌ను జోడించారని నిర్ధారించుకోండి. ఇక్కడే మీ వాలిడేటర్ కోసం ఈథర్ రివార్డ్‌లు పేరుకుపోతాయి. ప్రతి ఏకాభిప్రాయం క్లయింట్ ఒక ఎంపికను కలిగి ఉంటుంది, ఉదా., `--suggested-fee-recipient=0xabcd1`, ఇది ఇతీరియము చిరునామాను ఆర్గ్యుమెంట్‌గా తీసుకుంటుంది. + +టెస్టునెట్‌లో బీకాన్ నోడ్‌ను ప్రారంభించేటప్పుడు, [చెక్‌పాయింట్ సింక్](https://notes.ethereum.org/@launchpad/checkpoint-sync) కోసం పబ్లిక్ ఎండ్‌పాయింట్‌ను ఉపయోగించడం ద్వారా మీరు గణనీయమైన సింకింగ్ సమయాన్ని ఆదా చేయవచ్చు. + +#### ఏకాభిప్రాయం క్లయింట్‌ను నడుపుతోంది {#running-a-consensus-client} + +##### లైట్‌హౌస్‌ను నడుపుతోంది + +లైట్‌హౌస్‌ను అమలు చేయడానికి ముందు, [లైట్‌హౌస్ బుక్](https://lighthouse-book.sigmaprime.io/installation.html)లో దాన్ని ఎలా ఇన్‌స్టాల్ చేయాలో మరియు కాన్ఫిగర్ చేయాలో మరింత తెలుసుకోండి. + +```sh +lighthouse beacon_node \ + --network mainnet \ + --datadir /data/ethereum \ + --http \ + --execution-endpoint http://127.0.0.1:8551 \ + --execution-jwt /path/to/jwtsecret +``` + +##### లోడ్‌స్టార్‌ను అమలు చేస్తోంది + +లోడ్‌స్టార్ సాఫ్ట్‌వేర్‌ను కంపైల్ చేయడం ద్వారా లేదా డాకర్ ఇమేజ్‌ను డౌన్‌లోడ్ చేయడం ద్వారా ఇన్‌స్టాల్ చేయండి. [డాక్స్](https://chainsafe.github.io/lodestar/) మరియు మరింత సమగ్రమైన [సెటప్ గైడ్](https://hackmd.io/@philknows/rk5cDvKmK)లో మరింత తెలుసుకోండి. + +```sh +lodestar beacon \ + --dataDir="/data/ethereum" \ + --network=mainnet \ + --eth1.enabled=true \ + --execution.urls="http://127.0.0.1:8551" \ + --jwt-secret="/path/to/jwtsecret" +``` + +##### నింబస్‌ను అమలు చేస్తోంది + +నింబస్ ఏకాభిప్రాయం మరియు ఎగ్జిక్యూషన్ క్లయింట్లు రెండింటితో వస్తుంది. ఇది చాలా నిరాడంబరమైన కంప్యూటింగ్ శక్తితో కూడా వివిధ పరికరాలలో అమలు చేయబడుతుంది. +[డిపెండెన్సీలు మరియు నింబస్‌ను ఇన్‌స్టాల్ చేసిన తర్వాత](https://nimbus.guide/quick-start.html), మీరు దాని ఏకాభిప్రాయం క్లయింట్‌ను అమలు చేయవచ్చు: + +```sh +nimbus_beacon_node \ + --network=mainnet \ + --web3-url=http://127.0.0.1:8551 \ + --rest \ + --jwt-secret="/path/to/jwtsecret" +``` + +##### Prysmను నడుపుతోంది + +Prysm సులభమైన ఆటోమేటిక్ ఇన్‌స్టాలేషన్‌ను అనుమతించే స్క్రిప్ట్‌తో వస్తుంది. వివరాలను [Prysm డాక్స్](https://prysm.offchainlabs.com/docs/install-prysm/install-with-script/)లో చూడవచ్చు. + +```sh +./prysm.sh beacon-chain \ + --mainnet \ + --datadir /data/ethereum \ + --execution-endpoint=http://localhost:8551 \ + --jwt-secret=/path/to/jwtsecret +``` + +##### Teku నడుస్తోంది + +```sh +teku --network mainnet \ + --data-path "/data/ethereum" \ + --ee-endpoint http://localhost:8551 \ + --ee-jwt-secret-file "/path/to/jwtsecret" +``` + +డిపాజిట్ ఒప్పందాన్ని చదవడానికి మరియు వాలిడేటర్లను గుర్తించడానికి ఏకాభిప్రాయం క్లయింట్ ఎగ్జిక్యూషన్ క్లయింట్‌కు కనెక్ట్ చేసినప్పుడు, అది ఇతర బీకాన్ నోడ్ పీర్‌లకు కూడా కనెక్ట్ అవుతుంది మరియు జెనెసిస్ నుండి ఏకాభిప్రాయం స్లాట్‌లను సింక్ చేయడం ప్రారంభిస్తుంది. బీకాన్ నోడ్ ప్రస్తుత యుగానికి చేరుకున్న తర్వాత, బీకాన్ ఎపిఐ మీ వాలిడేటర్ల కోసం ఉపయోగపడతాయి. [బీకాన్ నోడ్ ఎపిఐలు](https://eth2docs.vercel.app/) గురించి మరింత తెలుసుకోండి. + +### వాలిడేటర్లను జోడిస్తోంది {#adding-validators} + +ఏకాభిప్రాయం క్లయింట్ వాలిడేటర్లు కనెక్ట్ చేయడానికి బీకాన్ నోడ్‌గా పనిచేస్తుంది. ప్రతి ఏకాభిప్రాయం క్లయింట్ దాని సంబంధిత డాక్యుమెంటేషన్‌లో వివరంగా వివరించబడిన దాని స్వంత వాలిడేటర్ సాఫ్ట్‌వేర్‌ను కలిగి ఉంటుంది. + +మీ స్వంత వాలిడేటర్‌ను నడపడం [సోలో స్టాకింగ్](/staking/solo/)ను అనుమతిస్తుంది, ఇది ఇతీరియము నెట్‌వర్క్‌కు మద్దతు ఇవ్వడానికి అత్యంత ప్రభావవంతమైన మరియు విశ్వసనీయత లేని పద్ధతి. అయితే, దీనికి 32 ETH డిపాజిట్ అవసరం. తక్కువ మొత్తంలో మీ స్వంత నోడ్‌లో వాలిడేటర్‌ను నడపడానికి, [రాకెట్ పూల్](https://rocketpool.net/node-operators) వంటి అనుమతి లేని నోడ్ ఆపరేటర్‌లతో కూడిన వికేంద్రీకృత పూల్ మీకు ఆసక్తి కలిగి ఉండవచ్చు. + +స్టాకింగ్ మరియు వాలిడేటర్ కీ జనరేషన్‌తో ప్రారంభించడానికి సులభమైన మార్గం [Hoodi Testnet Staking Launchpad](https://hoodi.launchpad.ethereum.org/)ని ఉపయోగించడం, ఇది [Hoodiలో నోడ్‌లను అమలు చేయడం](https://notes.ethereum.org/@launchpad/hoodi) ద్వారా మీ సెటప్‌ను పరీక్షించడానికి మిమ్మల్ని అనుమతిస్తుంది. మీరు మెయిన్‌నెట్ కోసం సిద్ధంగా ఉన్నప్పుడు, [మెయిన్‌నెట్ స్టాకింగ్ లాంచ్‌ప్యాడ్](https://launchpad.ethereum.org/)ని ఉపయోగించి మీరు ఈ దశలను పునరావృతం చేయవచ్చు. + +స్టాకింగ్ ఎంపికల గురించి అవలోకనం కోసం [స్టాకింగ్ పేజీని](/staking) చూడండి. + +### నోడ్‌ను ఉపయోగించడం {#using-the-node} + +ఎగ్జిక్యూషన్ క్లయింట్లు [RPC ఎపిఐ ఎండ్‌పాయింట్‌లను](/developers/docs/apis/json-rpc/) అందిస్తాయి, వీటిని మీరు లావాదేవీలను సమర్పించడానికి, వివిధ మార్గాల్లో ఇతీరియము నెట్‌వర్క్‌లో స్మార్ట్ కాంట్రాక్టులతో పరస్పరం వ్యవహరించడానికి లేదా అమర్చడానికి ఉపయోగించవచ్చు: + +- వాటిని అనుకూలమైన ప్రోటోకాల్‌తో (ఉదా., `curl`ని ఉపయోగించి) మాన్యువల్‌గా కాల్ చేయడం +- అందించిన కన్సోల్‌ను జతచేయడం (ఉదా., `geth attach`) +- వాటిని web3 లైబ్రరీలను ఉపయోగించి అప్లికేషన్లలో అమలు చేయడం, ఉదా., [web3.py](https://web3py.readthedocs.io/en/stable/overview.html#overview), [ethers](https://github.com/ethers-io/ethers.js/) + +విభిన్న క్లయింట్లు RPC ఎండ్‌పాయింట్‌ల యొక్క విభిన్న అమలులను కలిగి ఉంటాయి. కానీ మీరు ప్రతి క్లయింట్‌తో ఉపయోగించగల ప్రామాణిక JSON-RPC ఉంది. అవలోకనం కోసం [JSON-RPC డాక్స్ చదవండి](/developers/docs/apis/json-rpc/). ఇతీరియము నెట్‌వర్క్ నుండి సమాచారం అవసరమైన అప్లికేషన్లు ఈ RPCని ఉపయోగించవచ్చు. ఉదాహరణకు, ప్రముఖ వాలెట్ MetaMask బలమైన గోప్యత మరియు భద్రతా ప్రయోజనాలను కలిగి ఉన్న [మీ స్వంత RPC ఎండ్‌పాయింట్‌కు కనెక్ట్ చేయడానికి](https://metamask.zendesk.com/hc/en-us/articles/360015290012-Using-a-Local-Node) మిమ్మల్ని అనుమతిస్తుంది. + +ఏకాభిప్రాయం క్లయింట్లు అన్నీ [బీకాన్ ఎపిఐ](https://ethereum.github.io/beacon-APIs)ని బహిర్గతం చేస్తాయి, దీనిని ఏకాభిప్రాయం క్లయింట్ యొక్క స్థితిని తనిఖీ చేయడానికి లేదా [Curl](https://curl.se) వంటి సాధనాలను ఉపయోగించి అభ్యర్థనలను పంపడం ద్వారా బ్లాక్‌లు మరియు ఏకాభిప్రాయం డేటాను డౌన్‌లోడ్ చేయడానికి ఉపయోగించవచ్చు. దీని గురించి మరింత సమాచారం ప్రతి ఏకాభిప్రాయం క్లయింట్ కోసం డాక్యుమెంటేషన్‌లో చూడవచ్చు. + +#### RPC చేరుకోవడం {#reaching-rpc} + +ఎగ్జిక్యూషన్ క్లయింట్ JSON-RPC కోసం డిఫాల్ట్ పోర్ట్ `8545` కానీ మీరు కాన్ఫిగరేషన్‌లో స్థానిక ఎండ్‌పాయింట్‌ల పోర్ట్‌లను సవరించవచ్చు. డిఫాల్ట్‌గా, RPC ఇంటర్‌ఫేస్ మీ కంప్యూటర్ యొక్క లోకల్ హోస్ట్‌లో మాత్రమే అందుబాటులో ఉంటుంది. దీనిని రిమోట్‌గా యాక్సెస్ చేయడానికి, మీరు చిరునామాను `0.0.0.0`కి మార్చడం ద్వారా దీనిని పబ్లిక్‌కు బహిర్గతం చేయాలనుకోవచ్చు. ఇది స్థానిక నెట్‌వర్క్ మరియు పబ్లిక్ IP చిరునామాల ద్వారా అందుబాటులోకి వస్తుంది. చాలా సందర్భాలలో మీరు మీ రౌటర్‌లో పోర్ట్ ఫార్వార్డింగ్‌ను కూడా సెటప్ చేయాలి. + +ఇంటర్నెట్‌కు పోర్ట్‌లను బహిర్గతం చేసే విధానాన్ని జాగ్రత్తగా సంప్రదించండి, ఇది ఇంటర్నెట్‌లోని ఎవరినైనా మీ నోడ్‌ను నియంత్రించడానికి అనుమతిస్తుంది. మీరు మీ క్లయింట్‌ను వాలెట్‌గా ఉపయోగిస్తుంటే, హానికరమైన నటులు మీ సిస్టమ్‌ను డౌన్ చేయడానికి లేదా మీ నిధులను దొంగిలించడానికి మీ నోడ్‌ను యాక్సెస్ చేయవచ్చు. + +సంభావ్య హానికరమైన RPC పద్ధతులను సవరించకుండా నిరోధించడం దీనికి ఒక మార్గం. ఉదాహరణకు, Gethతో, మీరు ఫ్లాగ్‌తో సవరించదగిన పద్ధతులను ప్రకటించవచ్చు: `--http.api web3,eth,txpool`. + +RPC ఇంటర్‌ఫేస్‌కు యాక్సెస్ ఎడ్జ్ లేయర్ ఎపిఐలు లేదా వెబ్ సర్వర్ అప్లికేషన్ల అభివృద్ధి ద్వారా విస్తరించవచ్చు, Nginx వంటివి, మరియు వాటిని మీ క్లయింట్ యొక్క స్థానిక చిరునామా మరియు పోర్ట్‌కు కనెక్ట్ చేయడం ద్వారా. మధ్యస్థ పొరను ఉపయోగించడం డెవలపర్‌లకు RPC ఇంటర్‌ఫేస్‌కు సురక్షిత `https` కనెక్షన్‌ల కోసం సర్టిఫికేట్‌ను సెటప్ చేసే సామర్థ్యాన్ని కూడా అనుమతిస్తుంది. + +వెబ్ సర్వర్, ప్రాక్సీ లేదా బాహ్యంగా ఎదుర్కొంటున్న రెస్ట్ ఎపిఐని సెటప్ చేయడం మీ నోడ్ యొక్క RPC ఎండ్‌పాయింట్‌కు యాక్సెస్ అందించడానికి ఏకైక మార్గం కాదు. పబ్లిక్‌గా చేరుకోగల ఎండ్‌పాయింట్‌ను సెటప్ చేయడానికి మరొక గోప్యత-సంరక్షించే మార్గం మీ స్వంత [టార్](https://www.torproject.org/) ఆనియన్ సేవలో నోడ్‌ను హోస్ట్ చేయడం. ఇది స్టాటిక్ పబ్లిక్ IP చిరునామా లేదా తెరిచిన పోర్ట్‌లు లేకుండా మీ స్థానిక నెట్‌వర్క్ వెలుపల RPCని చేరుకోవడానికి మిమ్మల్ని అనుమతిస్తుంది. అయితే, ఈ కాన్ఫిగరేషన్‌ను ఉపయోగించడం వల్ల టార్ నెట్‌వర్క్ ద్వారా మాత్రమే RPC ఎండ్‌పాయింట్‌ను యాక్సెస్ చేయడానికి అనుమతించవచ్చు, ఇది అన్ని అప్లికేషన్ల ద్వారా మద్దతు ఇవ్వబడదు మరియు కనెక్షన్ సమస్యలకు దారితీయవచ్చు. + +దీనిని చేయడానికి, మీరు మీ స్వంత [ఆనియన్ సేవను](https://community.torproject.org/onion-services/) సృష్టించాలి. మీ స్వంతంగా హోస్ట్ చేయడానికి ఆనియన్ సర్వీస్ సెటప్‌పై [డాక్యుమెంటేషన్‌ను](https://community.torproject.org/onion-services/setup/) తనిఖీ చేయండి. మీరు దానిని RPC పోర్ట్‌కు ప్రాక్సీతో వెబ్ సర్వర్‌కు లేదా నేరుగా RPCకి సూచించవచ్చు. + +చివరగా, మరియు అంతర్గత నెట్‌వర్క్‌లకు యాక్సెస్ అందించడానికి అత్యంత ప్రజాదరణ పొందిన మార్గాలలో ఒకటి VPN కనెక్షన్ ద్వారా. మీ వినియోగ సందర్భం మరియు మీ నోడ్‌కు యాక్సెస్ అవసరమైన వినియోగదారుల పరిమాణాన్ని బట్టి, సురక్షితమైన VPN కనెక్షన్ ఒక ఎంపిక కావచ్చు. [OpenVPN](https://openvpn.net/) ఒక పూర్తి-ఫీచర్ SSL VPN, ఇది పరిశ్రమ ప్రమాణ SSL/TLS ప్రోటోకాల్‌ను ఉపయోగించి OSI లేయర్ 2 లేదా 3 సురక్షిత నెట్‌వర్క్ పొడిగింపును అమలు చేస్తుంది, సర్టిఫికేట్‌లు, స్మార్ట్ కార్డ్‌లు మరియు/లేదా వినియోగదారు పేరు/పాస్‌వర్డ్ ఆధారాల ఆధారంగా సౌకర్యవంతమైన క్లయింట్ ప్రామాణీకరణ పద్ధతులకు మద్దతు ఇస్తుంది మరియు VPN వర్చువల్ ఇంటర్‌ఫేస్‌కు వర్తించే ఫైర్‌వాల్ నియమాలను ఉపయోగించి వినియోగదారు లేదా సమూహ-నిర్దిష్ట యాక్సెస్ నియంత్రణ విధానాలను అనుమతిస్తుంది. + +### నోడ్‌ను ఆపరేట్ చేయడం {#operating-the-node} + +మీ నోడ్ సరిగ్గా నడుస్తుందని నిర్ధారించుకోవడానికి మీరు క్రమం తప్పకుండా పర్యవేక్షించాలి. మీరు అప్పుడప్పుడు నిర్వహణ చేయాల్సి రావచ్చు. + +#### నోడ్‌ను ఆన్‌లైన్‌లో ఉంచడం {#keeping-node-online} + +మీ నోడ్ ఎల్లప్పుడూ ఆన్‌లైన్‌లో ఉండవలసిన అవసరం లేదు, కానీ నెట్‌వర్క్‌తో సింక్‌లో ఉంచడానికి మీరు వీలైనంత వరకు ఆన్‌లైన్‌లో ఉంచాలి. మీరు దానిని పునఃప్రారంభించడానికి మూసివేయవచ్చు, కానీ గుర్తుంచుకోండి: + +- ఇటీవలి స్థితి ఇంకా డిస్క్‌లో వ్రాయబడుతుంటే మూసివేయడానికి కొన్ని నిమిషాలు పట్టవచ్చు. +- బలవంతంగా మూసివేయడం డేటాబేస్‌ను దెబ్బతీస్తుంది, దీనివల్ల మీరు మొత్తం నోడ్‌ను తిరిగి సింక్ చేయాల్సి ఉంటుంది. +- మీ క్లయింట్ నెట్‌వర్క్‌తో సింక్ అవ్వదు మరియు మీరు దానిని పునఃప్రారంభించినప్పుడు తిరిగి సింక్ చేయాల్సి ఉంటుంది. నోడ్ చివరిగా మూసివేయబడిన చోట నుండి సింక్ చేయడం ప్రారంభించగలిగినప్పటికీ, అది ఆఫ్‌లైన్‌లో ఎంతసేపు ఉందో బట్టి ప్రక్రియకు సమయం పట్టవచ్చు. + +_ఇది ఏకాభిప్రాయం లేయర్ వాలిడేటర్ నోడ్‌లకు వర్తించదు._ మీ నోడ్‌ను ఆఫ్‌లైన్‌కి తీసుకోవడం దానిపై ఆధారపడిన అన్ని సేవలను ప్రభావితం చేస్తుంది. మీరు _స్టాకింగ్_ ప్రయోజనాల కోసం నోడ్‌ను నడుపుతున్నట్లయితే, మీరు వీలైనంత వరకు పనికిరాని సమయాన్ని తగ్గించడానికి ప్రయత్నించాలి. + +#### క్లయింట్ సేవలను సృష్టిస్తోంది {#creating-client-services} + +ప్రారంభంలో మీ క్లయింట్‌లను స్వయంచాలకంగా అమలు చేయడానికి ఒక సేవను సృష్టించడాన్ని పరిగణించండి. ఉదాహరణకు, Linux సర్వర్‌లలో, `systemd`తో ఒక సేవను సృష్టించడం మంచి పద్ధతి, ఇది సరైన కాన్ఫిగరేషన్‌తో క్లయింట్‌ను అమలు చేస్తుంది, పరిమిత అధికారాలు కలిగిన వినియోగదారు కింద మరియు స్వయంచాలకంగా పునఃప్రారంభమవుతుంది. + +#### క్లయింట్‌లను అప్‌డేట్ చేస్తోంది {#updating-clients} + +మీరు మీ క్లయింట్ సాఫ్ట్‌వేర్‌ను తాజా భద్రతా ప్యాచ్‌లు, ఫీచర్లు మరియు [EIPలు](/eips/)తో తాజాగా ఉంచాలి. ముఖ్యంగా [హార్డ్ ఫోర్క్‌లు](/ethereum-forks/) ముందు, మీరు సరైన క్లయింట్ వెర్షన్‌లను నడుపుతున్నారని నిర్ధారించుకోండి. + +> ముఖ్యమైన నెట్‌వర్క్ అప్‌డేట్‌లకు ముందు, EF దాని [బ్లాగ్‌లో](https://blog.ethereum.org) ఒక పోస్ట్‌ను ప్రచురిస్తుంది. మీ నోడ్‌కు అప్‌డేట్ అవసరమైనప్పుడు మీ మెయిల్‌కు నోటిఫికేషన్ పొందడానికి మీరు [ఈ ప్రకటనలకు సబ్‌స్క్రయిబ్ చేసుకోవచ్చు](https://blog.ethereum.org/category/protocol#subscribe). + +క్లయింట్‌లను అప్‌డేట్ చేయడం చాలా సులభం. ప్రతి క్లయింట్ వారి డాక్యుమెంటేషన్‌లో నిర్దిష్ట సూచనలను కలిగి ఉంటుంది, కానీ ప్రక్రియ సాధారణంగా తాజా వెర్షన్‌ను డౌన్‌లోడ్ చేసి, కొత్త ఎగ్జిక్యూటబుల్‌తో క్లయింట్‌ను పునఃప్రారంభించడం. క్లయింట్ అది ఎక్కడ వదిలేసిందో అక్కడి నుండి ప్రారంభించాలి, కానీ అప్‌డేట్‌లు వర్తిస్తాయి. + +ప్రతి క్లయింట్ అమలు పీర్-టు-పీర్ ప్రోటోకాల్‌లో ఉపయోగించే మానవ-చదవగల వెర్షన్ స్ట్రింగ్‌ను కలిగి ఉంటుంది, కానీ కమాండ్ లైన్ నుండి కూడా యాక్సెస్ చేయవచ్చు. ఈ వెర్షన్ స్ట్రింగ్ వినియోగదారులకు వారు సరైన వెర్షన్‌ను నడుపుతున్నారని తనిఖీ చేయడానికి అనుమతిస్తుంది మరియు బ్లాక్ ఎక్స్‌ప్లోరర్‌లు మరియు నెట్‌వర్క్‌పై నిర్దిష్ట క్లయింట్ల పంపిణీని లెక్కించడానికి ఆసక్తి ఉన్న ఇతర విశ్లేషణాత్మక సాధనాలను అనుమతిస్తుంది. వెర్షన్ స్ట్రింగ్‌ల గురించి మరింత సమాచారం కోసం దయచేసి వ్యక్తిగత క్లయింట్ డాక్యుమెంటేషన్‌ను చూడండి. + +#### అదనపు సేవలను నడుపుతోంది {#running-additional-services} + +మీ స్వంత నోడ్‌ను నడపడం ఇతీరియము క్లయింట్ RPCకి ప్రత్యక్ష యాక్సెస్ అవసరమయ్యే సేవలను ఉపయోగించడానికి మిమ్మల్ని అనుమతిస్తుంది. ఇవి ఇతీరియముపై నిర్మించబడిన సేవలు, [లేయర్ 2 పరిష్కారాలు](/developers/docs/scaling/#layer-2-scaling), వాలెట్ల కోసం బ్యాకెండ్, బ్లాక్ ఎక్స్‌ప్లోరర్లు, డెవలపర్ సాధనాలు మరియు ఇతర ఇతీరియము మౌలిక సదుపాయాలు వంటివి. + +#### నోడ్‌ను పర్యవేక్షిస్తోంది {#monitoring-the-node} + +మీ నోడ్‌ను సరిగ్గా పర్యవేక్షించడానికి, మెట్రిక్‌లను సేకరించడాన్ని పరిగణించండి. క్లయింట్లు మెట్రిక్స్ ఎండ్‌పాయింట్‌లను అందిస్తాయి, తద్వారా మీరు మీ నోడ్ గురించి సమగ్ర డేటాను పొందవచ్చు. [InfluxDB](https://www.influxdata.com/get-influxdb/) లేదా [Prometheus](https://prometheus.io/) వంటి సాధనాలను ఉపయోగించి డేటాబేస్‌లను సృష్టించండి, వీటిని మీరు [Grafana](https://grafana.com/) వంటి సాఫ్ట్‌వేర్‌లో విజువలైజేషన్లు మరియు చార్ట్‌లుగా మార్చవచ్చు. ఈ సాఫ్ట్‌వేర్‌ను ఉపయోగించడానికి అనేక సెటప్‌లు మరియు మీ నోడ్ మరియు మొత్తం నెట్‌వర్క్‌ను విజువలైజ్ చేయడానికి విభిన్న Grafana డ్యాష్‌బోర్డ్‌లు ఉన్నాయి. ఉదాహరణకు, [Gethను InfluxDB మరియు Grafanaతో పర్యవేక్షించడంపై ట్యుటోరియల్ చూడండి](/developers/tutorials/monitoring-geth-with-influxdb-and-grafana/). + +మీ పర్యవేక్షణలో భాగంగా, మీ మెషీన్ పనితీరుపై నిఘా ఉంచారని నిర్ధారించుకోండి. మీ నోడ్ యొక్క ప్రారంభ సింక్ సమయంలో, క్లయింట్ సాఫ్ట్‌వేర్ CPU మరియు RAMపై చాలా భారీగా ఉండవచ్చు. Grafanaకు అదనంగా, మీరు `htop` లేదా `uptime` వంటి మీ OS అందించే సాధనాలను ఉపయోగించవచ్చు. + +## మరింత సమాచారం {#further-reading} + +- [ఇతీరియము స్టాకింగ్ గైడ్‌లు](https://github.com/SomerEsat/ethereum-staking-guides) - _సోమర్ ఎసాత్, తరచుగా అప్‌డేట్ చేయబడుతుంది_ +- [గైడ్ | మెయిన్‌నెట్‌లో ఇతీరియము స్టాకింగ్ కోసం వాలిడేటర్‌ను ఎలా సెటప్ చేయాలి](https://www.coincashew.com/coins/overview-eth/guide-or-how-to-setup-a-validator-on-eth2-mainnet) _– CoinCashew, తరచుగా అప్‌డేట్ చేయబడుతుంది_ +- [టెస్టునెట్‌లలో వాలిడేటర్లను నడపడంపై ETHStaker గైడ్‌లు](https://github.com/remyroy/ethstaker#guides) – _ETHStaker, క్రమం తప్పకుండా అప్‌డేట్ చేయబడుతుంది_ +- [ఇతీరియము నోడ్‌ల కోసం నమూనా AWS బ్లాక్ చైను నోడ్ రన్నర్ యాప్](https://aws-samples.github.io/aws-blockchain-node-runners/docs/Blueprints/Ethereum) - _AWS, తరచుగా అప్‌డేట్ చేయబడుతుంది_ +- [నోడ్ ఆపరేటర్ల కోసం విలీన ప్రశ్నలు](https://notes.ethereum.org/@launchpad/node-faq-merge) - _జూలై 2022_ +- [ఇతీరియము పూర్తి ధృవీకరించబడిన నోడ్ కావడానికి హార్డ్‌వేర్ అవసరాలను విశ్లేషించడం](https://medium.com/coinmonks/analyzing-the-hardware-requirements-to-be-an-ethereum-full-validated-node-dc064f167902) _– ఆల్బర్ట్ పలావ్, 24 సెప్టెంబర్ 2018_ +- [ఇతీరియము పూర్తి నోడ్స్ నడపడం: కేవలం ప్రేరేపించబడిన వారికి ఒక మార్గదర్శి](https://medium.com/@JustinMLeroux/running-ethereum-full-nodes-a-guide-for-the-barely-motivated-a8a13e7a0d31) _– జస్టిన్ లెరౌక్స్, 7 నవంబర్ 2019_ +- [ఇతీరియము మెయిన్‌నెట్‌లో హైపర్‌లెడ్జర్ బెసు నోడ్‌ను అమలు చేయడం: ప్రయోజనాలు, అవసరాలు మరియు సెటప్](https://pegasys.tech/running-a-hyperledger-besu-node-on-the-ethereum-mainnet-benefits-requirements-and-setup/) _– ఫెలిపే ఫరాగ్గి, 7 మే 2020_ +- [పర్యవేక్షణ స్టాక్‌తో నెదర్‌మైండ్ ఇతీరియము క్లయింట్‌ను అమలు చేయడం](https://medium.com/nethermind-eth/deploying-nethermind-ethereum-client-with-monitoring-stack-55ce1622edbd) _– Nethermind.eth, 8 జూలై 2020_ + +## సంబంధిత అంశాలు {#related-topics} + +- [నోడ్‌లు మరియు క్లయింట్లు](/developers/docs/nodes-and-clients/) +- [బ్లాక్‌లు](/developers/docs/blocks/) +- [నెట్‌వర్క్‌లు](/developers/docs/networks/) diff --git a/public/content/translations/te/developers/docs/oracles/index.md b/public/content/translations/te/developers/docs/oracles/index.md new file mode 100644 index 00000000000..99e611bff74 --- /dev/null +++ b/public/content/translations/te/developers/docs/oracles/index.md @@ -0,0 +1,433 @@ +--- +title: "ఒరకిల్స్" +description: "ఒరాకిల్స్ ఇతీరియము స్మార్ట్ కాంట్రాక్టులకు వాస్తవ-ప్రపంచ డేటాకు యాక్సెస్‌ను అందిస్తాయి, వినియోగదారుల కోసం మరిన్ని వినియోగ-సందర్భాలు మరియు అధిక విలువను అన్‌లాక్ చేస్తాయి." +lang: te +--- + +ఒరాకిల్స్ అనేవి డేటా ఫీడ్లను ఉత్పత్తి చేసే అప్లికేషన్లు, ఇవి స్మార్ట్ కాంట్రాక్టుల కోసం బ్లాక్‌చెయిన్‌కు ఆఫ్‌చెయిన్ డేటా సోర్సులను అందుబాటులో ఉంచుతాయి. ఇది అవసరం ఎందుకంటే ఇతీరియము-ఆధారిత స్మార్ట్ కాంట్రాక్టులు, డిఫాల్ట్‌గా, బ్లాక్‌చెయిన్ నెట్‌వర్క్ వెలుపల నిల్వ చేయబడిన సమాచారాన్ని యాక్సెస్ చేయలేవు. + +స్మార్ట్ కాంట్రాక్టులకు ఆఫ్‌చెయిన్ డేటాను ఉపయోగించి అమలు చేసే సామర్థ్యాన్ని ఇవ్వడం వికేంద్రీకృత అప్లికేషన్‌ల యొక్క ప్రయోజనం మరియు విలువను విస్తరిస్తుంది. ఉదాహరణకు, ఆన్‌చెయిన్ ప్రిడిక్షన్ మార్కెట్లు వినియోగదారుడి అంచనాలను ధృవీకరించడానికి ఉపయోగించే ఫలితాల గురించి సమాచారాన్ని అందించడానికి ఒరాకిల్స్‌పై ఆధారపడతాయి. తదుపరి యు.ఎస్. అధ్యక్షుడిగా ఎవరు అవుతారని ఆలిస్ 20 ETH పందెం వేస్తుందని అనుకుందాం. అధ్యక్షుడు. ఆ సందర్భంలో, ప్రిడిక్షన్-మార్కెట్ డాప్‌కు ఎన్నికల ఫలితాలను నిర్ధారించడానికి మరియు ఆలిస్ చెల్లింపుకు అర్హులా కాదా అని నిర్ధారించడానికి ఒక ఒరాకిల్ అవసరం. + +## అవసరాలు {#prerequisites} + +ఈ పేజీ చదువరికి [నోడ్స్](/developers/docs/nodes-and-clients/), [ఏకాభిప్రాయం యంత్రాంగాలు](/developers/docs/consensus-mechanisms/), మరియు [EVM](/developers/docs/evm/) తో సహా ఇతీరియము ప్రాథమిక విషయాలతో పరిచయం ఉందని భావిస్తుంది. మీకు [స్మార్ట్ కాంట్రాక్టులు](/developers/docs/smart-contracts/) మరియు [స్మార్ట్ కాంట్రాక్ట్ అనాటమీ](/developers/docs/smart-contracts/anatomy/) పై కూడా మంచి పట్టు ఉండాలి, ముఖ్యంగా [ఈవెంట్స్](/glossary/#events). + +## బ్లాక్‌చెయిన్ ఒరాకిల్ అంటే ఏమిటి? {#what-is-a-blockchain-oracle} + +ఒరాకిల్స్ అనేవి బాహ్య సమాచారాన్ని (అంటే, ఆఫ్‌చెయిన్‌లో నిల్వ చేయబడిన సమాచారం) సోర్స్ చేసి, ధృవీకరించి, బ్లాక్‌చెయిన్‌లో నడుస్తున్న స్మార్ట్ కాంట్రాక్టులకు ప్రసారం చేసే అప్లికేషన్‌లు. ఇతీరియముపై ఆఫ్‌చెయిన్ డేటాను “లాగడం” మరియు ప్రసారం చేయడంతో పాటు, ఒరాకిల్స్ బ్లాక్‌చెయిన్ నుండి బాహ్య సిస్టమ్‌లకు సమాచారాన్ని “పుష్” కూడా చేయగలవు, ఉదా., వినియోగదారుడు ఇతీరియము లావాదేవీ ద్వారా రుసుము పంపిన తర్వాత స్మార్ట్ లాక్‌ను అన్‌లాక్ చేయడం. + +ఒరాకిల్ లేకుండా, ఒక స్మార్ట్ కాంట్రాక్ట్ పూర్తిగా ఆన్‌చెయిన్ డేటాకు పరిమితం చేయబడుతుంది. + +డేటా యొక్క సోర్స్ (ఒకటి లేదా బహుళ సోర్సులు), ట్రస్ట్ మోడల్స్ (కేంద్రీకృత లేదా వికేంద్రీకృత), మరియు సిస్టమ్ ఆర్కిటెక్చర్ (తక్షణ-చదవడం, పబ్లిష్-సబ్‌స్క్రైబ్, మరియు రిక్వెస్ట్-రెస్పాన్స్) ఆధారంగా ఒరాకిల్స్ విభిన్నంగా ఉంటాయి. ఆన్‌చెయిన్ కాంట్రాక్టుల ద్వారా ఉపయోగం కోసం బాహ్య డేటాను తిరిగి పొందుతాయా (ఇన్‌పుట్ ఒరాకిల్స్), బ్లాక్‌చెయిన్ నుండి ఆఫ్‌చెయిన్ అప్లికేషన్‌లకు సమాచారాన్ని పంపుతాయా (అవుట్‌పుట్ ఒరాకిల్స్), లేదా ఆఫ్‌చెయిన్‌లో కంప్యూటేషనల్ టాస్క్‌లను నిర్వహిస్తాయా (కంప్యూటేషనల్ ఒరాకిల్స్) అనే దాని ఆధారంగా కూడా మనం ఒరాకిల్స్ మధ్య తేడాను గుర్తించవచ్చు. + +## స్మార్ట్ కాంట్రాక్టులకు ఒరాకిల్స్ ఎందుకు అవసరం? {#why-do-smart-contracts-need-oracles} + +చాలా మంది అభివృద్ధి చేసేవాళ్ళు స్మార్ట్ కాంట్రాక్టులను బ్లాక్‌చెయిన్‌లోని నిర్దిష్ట చిరునామాలలో నడుస్తున్న సంకేత భాషగా చూస్తారు. అయితే, [స్మార్ట్ కాంట్రాక్టుల యొక్క మరింత సాధారణ వీక్షణ](/smart-contracts/) ఏమిటంటే, అవి నిర్దిష్ట షరతులు నెరవేరిన తర్వాత పార్టీల మధ్య ఒప్పందాలను అమలు చేయగల సామర్థ్యం గల స్వీయ-అమలు సాఫ్ట్‌వేర్ ప్రోగ్రామ్‌లు - అందుకే “స్మార్ట్ కాంట్రాక్టులు” అనే పదం వచ్చింది. + +కానీ ఇతీరియము డిటర్మినిస్టిక్ అని గమనిస్తే, ప్రజల మధ్య ఒప్పందాలను అమలు చేయడానికి స్మార్ట్ కాంట్రాక్టులను ఉపయోగించడం సూటిగా ఉండదు. ఒక [డిటర్మినిస్టిక్ సిస్టమ్](https://en.wikipedia.org/wiki/Deterministic_algorithm) అనేది ప్రారంభ స్టేట్ మరియు ఒక నిర్దిష్ట ఇన్‌పుట్ ఇవ్వబడినప్పుడు ఎల్లప్పుడూ ఒకే ఫలితాలను ఉత్పత్తి చేసేది, అంటే ఇన్‌పుట్‌ల నుండి అవుట్‌పుట్‌లను కంప్యూటింగ్ చేసే ప్రక్రియలో యాదృచ్ఛికత లేదా వైవిధ్యం ఉండదు. + +డిటర్మినిస్టిక్ అమలును సాధించడానికి, బ్లాక్‌చెయిన్‌లు నోడ్స్‌ను బ్లాక్‌చెయిన్‌లోనే నిల్వ చేయబడిన డేటాను _మాత్రమే_ ఉపయోగించి సాధారణ బైనరీ (నిజం/అబద్ధం) ప్రశ్నలపై ఏకాభిప్రాయం సాధించడానికి పరిమితం చేస్తాయి. అటువంటి ప్రశ్నలకు ఉదాహరణలు: + +- “ఖాతా యజమాని (పబ్లిక్ కీ ద్వారా గుర్తించబడినవారు) ఈ లావాదేవీని జత చేసిన ప్రైవేట్ కీతో సంతకం చేసారా?” +- “ఈ ఖాతాలో లావాదేవీని కవర్ చేయడానికి తగినన్ని నిధులు ఉన్నాయా?” +- “ఈ స్మార్ట్ కాంట్రాక్ట్ సందర్భంలో ఈ లావాదేవీ చెల్లుబాటు అవుతుందా?”, మొదలైనవి. + +బ్లాక్‌చెయిన్‌లు బాహ్య సోర్సుల నుండి (అంటే, వాస్తవ ప్రపంచం నుండి) సమాచారాన్ని స్వీకరించినట్లయితే, డిటర్మినిజం సాధించడం అసాధ్యం అవుతుంది, ఇది బ్లాక్‌చెయిన్ యొక్క స్టేట్‌లో మార్పుల చెల్లుబాటుపై నోడ్స్ ఏకీభవించకుండా నిరోధిస్తుంది. ఉదాహరణకు, ఒక సాంప్రదాయ ధర ఎపిఐ నుండి పొందిన ప్రస్తుత ETH-USD మార్పిడి రేటు ఆధారంగా లావాదేవీని అమలు చేసే స్మార్ట్ కాంట్రాక్ట్‌ను తీసుకోండి. ఈ సంఖ్య తరచుగా మారే అవకాశం ఉంది (ఎపిఐ డిప్రికేట్ కావడం లేదా హ్యాక్ కావడం గురించి చెప్పనవసరం లేదు), అంటే ఒకే కాంట్రాక్ట్ సంకేత భాషను అమలు చేసే నోడ్స్ విభిన్న ఫలితాలకు వస్తాయి. + +ఇతీరియము వంటి పబ్లిక్ బ్లాక్‌చెయిన్ కోసం, ప్రపంచవ్యాప్తంగా వేలాది నోడ్స్ లావాదేవీలను ప్రాసెస్ చేస్తున్నప్పుడు, డిటర్మినిజం చాలా కీలకం. నిజం యొక్క సోర్స్‌గా పనిచేసే కేంద్ర అధికారం లేనప్పుడు, ఒకే లావాదేవీలను వర్తింపజేసిన తర్వాత అదే స్టేట్‌కు రావడానికి నోడ్స్‌కు యంత్రాంగాలు అవసరం. ఒకవేళ నోడ్ A ఒక స్మార్ట్ కాంట్రాక్ట్ యొక్క సంకేత భాషను అమలు చేసి ఫలితంగా "3" పొందితే, అదే లావాదేవీని నడిపిన తర్వాత నోడ్ B "7" పొందితే, అది ఏకాభిప్రాయం విచ్ఛిన్నం కావడానికి మరియు వికేంద్రీకృత కంప్యూటింగ్ ప్లాట్‌ఫారమ్‌గా ఇతీరియము యొక్క విలువను తొలగించడానికి కారణమవుతుంది. + +ఈ దృశ్యం బాహ్య సోర్సుల నుండి సమాచారాన్ని లాగడానికి బ్లాక్‌చెయిన్‌లను రూపకల్పన చేయడంలో ఉన్న సమస్యను కూడా హైలైట్ చేస్తుంది. అయితే, ఒరాకిల్స్, ఆఫ్‌చెయిన్ సోర్సుల నుండి సమాచారాన్ని తీసుకుని, స్మార్ట్ కాంట్రాక్టులు వినియోగించుకోవడానికి బ్లాక్‌చెయిన్‌లో నిల్వ చేయడం ద్వారా ఈ సమస్యను పరిష్కరిస్తాయి. ఆన్‌చెయిన్‌లో నిల్వ చేయబడిన సమాచారం మార్చలేనిది మరియు బహిరంగంగా అందుబాటులో ఉన్నందున, ఇతీరియము నోడ్స్ ఏకాభిప్రాయం విచ్ఛిన్నం కాకుండా స్టేట్ మార్పులను గణించడానికి ఒరాకిల్ దిగుమతి చేసుకున్న ఆఫ్‌చెయిన్ డేటాను సురక్షితంగా ఉపయోగించవచ్చు. + +ఇది చేయడానికి, ఒక ఒరాకిల్ సాధారణంగా ఆన్‌చెయిన్‌లో నడుస్తున్న ఒక స్మార్ట్ కాంట్రాక్ట్ మరియు కొన్ని ఆఫ్‌చెయిన్ కాంపోనెంట్‌లతో రూపొందించబడింది. ఆన్‌చెయిన్ కాంట్రాక్ట్ ఇతర స్మార్ట్ కాంట్రాక్టుల నుండి డేటా కోసం అభ్యర్థనలను స్వీకరిస్తుంది, దానిని అది ఆఫ్‌చెయిన్ కాంపోనెంట్‌కు (ఒరాకిల్ నోడ్ అని పిలుస్తారు) పంపుతుంది. ఈ ఒరాకిల్ నోడ్ డేటా సోర్సులను ప్రశ్నించగలదు—ఉదాహరణకు, అప్లికేషన్ ప్రోగ్రామింగ్ ఇంటర్‌ఫేస్‌లను (APIలను) ఉపయోగించి—మరియు అభ్యర్థించిన డేటాను స్మార్ట్ కాంట్రాక్ట్ యొక్క నిల్వలో నిల్వ చేయడానికి లావాదేవీలను పంపగలదు. + +ముఖ్యంగా, ఒక బ్లాక్‌చెయిన్ ఒరాకిల్, బ్లాక్‌చెయిన్ మరియు బాహ్య పర్యావరణం మధ్య సమాచార అంతరాన్ని పూడుస్తుంది, “హైబ్రిడ్ స్మార్ట్ కాంట్రాక్టులు”ను సృష్టిస్తుంది. హైబ్రిడ్ స్మార్ట్ కాంట్రాక్ట్ అనేది ఆన్‌చెయిన్ కాంట్రాక్ట్ సంకేత భాష మరియు ఆఫ్‌చెయిన్ ఇన్‌ఫ్రాస్ట్రక్చర్ కలయిక ఆధారంగా పనిచేసేది. వికేంద్రీకృత ప్రిడిక్షన్ మార్కెట్లు హైబ్రిడ్ స్మార్ట్ కాంట్రాక్టులకు ఒక అద్భుతమైన ఉదాహరణ. ఇతర ఉదాహరణలలో పంటల బీమా స్మార్ట్ కాంట్రాక్టులు ఉండవచ్చు, ఇవి నిర్దిష్ట వాతావరణ దృగ్విషయాలు జరిగాయని ఒరాకిల్స్ సమితి నిర్ధారించినప్పుడు చెల్లింపు చేస్తాయి. + +## ఒరాకిల్ సమస్య అంటే ఏమిటి? {#the-oracle-problem} + +ఒరాకిల్స్ ఒక ముఖ్యమైన సమస్యను పరిష్కరిస్తాయి, కానీ కొన్ని సమస్యలను కూడా పరిచయం చేస్తాయి, ఉదా.,: + +- ఇంజెక్ట్ చేయబడిన సమాచారం సరైన సోర్స్ నుండి తీసుకోబడిందని లేదా దానితో ట్యాంపర్ చేయలేదని మనం ఎలా ధృవీకరించాలి? + +- ఈ డేటా ఎల్లప్పుడూ అందుబాటులో ఉందని మరియు క్రమం తప్పకుండా నవీకరించబడుతుందని మనం ఎలా నిర్ధారించుకోవాలి? + +స్మార్ట్ కాంట్రాక్టులకు ఇన్‌పుట్‌లను పంపడానికి బ్లాక్‌చెయిన్ ఒరాకిల్స్‌ను ఉపయోగించడంతో వచ్చే సమస్యలను “ఒరాకిల్ సమస్య” అని పిలవబడేది ప్రదర్శిస్తుంది. ఒక స్మార్ట్ కాంట్రాక్ట్ సరిగ్గా అమలు కావడానికి ఒరాకిల్ నుండి డేటా సరిగ్గా ఉండాలి. ఇంకా, ఖచ్చితమైన సమాచారాన్ని అందించడానికి ఒరాకిల్ ఆపరేటర్లను ‘విశ్వసించవలసి’ రావడం స్మార్ట్ కాంట్రాక్టుల యొక్క ‘నమ్మకం లేని’ అంశాన్ని బలహీనపరుస్తుంది. + +విభిన్న ఒరాకిల్స్ ఒరాకిల్ సమస్యకు విభిన్న పరిష్కారాలను అందిస్తాయి, వీటిని మనం తర్వాత అన్వేషిస్తాము. ఒరాకిల్స్‌ను సాధారణంగా అవి క్రింది సవాళ్లను ఎంత బాగా నిర్వహించగలవనే దానిపై మూల్యాంకనం చేస్తారు: + +1. **సరియైనది**: ఒక ఒరాకిల్ చెల్లని ఆఫ్‌చెయిన్ డేటా ఆధారంగా స్మార్ట్ కాంట్రాక్టులను స్టేట్ మార్పులను ప్రేరేపించడానికి కారణం కాకూడదు. ఒక ఒరాకిల్ డేటా యొక్క _ప్రామాణికత_ మరియు _సమగ్రత_ను హామీ ఇవ్వాలి. ప్రామాణికత అంటే డేటా సరైన సోర్స్ నుండి పొందబడిందని, అయితే సమగ్రత అంటే డేటా ఆన్‌చెయిన్‌కు పంపబడటానికి ముందు చెక్కుచెదరకుండా ఉందని (అంటే, మార్చబడలేదని) అర్థం. + +2. **లభ్యత**: ఒక ఒరాకిల్ స్మార్ట్ కాంట్రాక్టులను చర్యలు అమలు చేయకుండా మరియు స్టేట్ మార్పులను ప్రేరేపించకుండా ఆలస్యం చేయకూడదు లేదా నిరోధించకూడదు. దీని అర్థం ఒరాకిల్ నుండి డేటా అంతరాయం లేకుండా _అభ్యర్థనపై అందుబాటులో_ ఉండాలి. + +3. **ప్రోత్సాహక అనుకూలత**: ఒక ఒరాకిల్ ఆఫ్‌చెయిన్ డేటా ప్రొవైడర్లను స్మార్ట్ కాంట్రాక్టులకు సరైన సమాచారాన్ని సమర్పించడానికి ప్రోత్సహించాలి. ప్రోత్సాహక అనుకూలత _ఆపాదన_ మరియు _జవాబుదారీతనం_ను కలిగి ఉంటుంది. ఆపాదన అనేది ఒక బాహ్య సమాచారం యొక్క భాగాన్ని దాని ప్రొవైడర్‌కు లింక్ చేయడానికి అనుమతిస్తుంది, అయితే జవాబుదారీతనం డేటా ప్రొవైడర్లను వారు ఇచ్చే సమాచారానికి బంధిస్తుంది, తద్వారా అందించిన సమాచారం యొక్క నాణ్యత ఆధారంగా వారికి బహుమతి ఇవ్వవచ్చు లేదా జరిమానా విధించవచ్చు. + +## బ్లాక్‌చెయిన్ ఒరాకిల్ సేవ ఎలా పనిచేస్తుంది? {#how-does-a-blockchain-oracle-service-work} + +### వినియోగదారులు {#users} + +వినియోగదారులు నిర్దిష్ట చర్యలను పూర్తి చేయడానికి బ్లాక్‌చెయిన్‌కు బాహ్య సమాచారం అవసరమయ్యే సంస్థలు (అంటే, స్మార్ట్ కాంట్రాక్టులు). ఒరాకిల్ సేవ యొక్క ప్రాథమిక వర్క్‌ఫ్లో వినియోగదారుడు ఒరాకిల్ కాంట్రాక్ట్‌కు డేటా అభ్యర్థన పంపడంతో మొదలవుతుంది. డేటా అభ్యర్థనలు సాధారణంగా క్రింది కొన్ని లేదా అన్ని ప్రశ్నలకు సమాధానమిస్తాయి: + +1. అభ్యర్థించిన సమాచారం కోసం ఆఫ్‌చెయిన్ నోడ్స్ ఏ సోర్సులను సంప్రదించగలవు? + +2. రిపోర్టర్లు డేటా సోర్సుల నుండి సమాచారాన్ని ఎలా ప్రాసెస్ చేస్తారు మరియు ఉపయోగకరమైన డేటా పాయింట్లను ఎలా సంగ్రహిస్తారు? + +3. డేటాను తిరిగి పొందడంలో ఎన్ని ఒరాకిల్ నోడ్స్ పాల్గొనగలవు? + +4. ఒరాకిల్ నివేదికలలోని వ్యత్యాసాలను ఎలా నిర్వహించాలి? + +5. సమర్పణలను ఫిల్టరింగ్ చేయడంలో మరియు నివేదికలను ఒకే విలువగా సమగ్రపరచడంలో ఏ పద్ధతిని అమలు చేయాలి? + +### ఒరాకిల్ కాంట్రాక్ట్ {#oracle-contract} + +ఒరాకిల్ కాంట్రాక్ట్ అనేది ఒరాకిల్ సేవ కోసం ఆన్‌చెయిన్ కాంపోనెంట్. ఇది ఇతర కాంట్రాక్టుల నుండి డేటా అభ్యర్థనలను వింటుంది, ఒరాకిల్ నోడ్స్‌కు డేటా ప్రశ్నలను రిలే చేస్తుంది, మరియు తిరిగి వచ్చిన డేటాను ఖాతాదారులు కాంట్రాక్టులకు ప్రసారం చేస్తుంది. ఈ కాంట్రాక్ట్ అభ్యర్థించే కాంట్రాక్ట్‌కు పంపడానికి ఒక సమగ్ర విలువను ఉత్పత్తి చేయడానికి తిరిగి వచ్చిన డేటా పాయింట్లపై కొంత కంప్యూటేషన్ కూడా చేయవచ్చు. + +ఒరాకిల్ కాంట్రాక్ట్ కొన్ని ఫంక్షన్‌లను బహిర్గతం చేస్తుంది, వీటిని ఖాతాదారులు కాంట్రాక్టులు డేటా అభ్యర్థన చేసేటప్పుడు పిలుస్తాయి. కొత్త ప్రశ్నను స్వీకరించిన తర్వాత, స్మార్ట్ కాంట్రాక్ట్ డేటా అభ్యర్థన యొక్క వివరాలతో ఒక [లాగ్ ఈవెంట్](/developers/docs/smart-contracts/anatomy/#events-and-logs)ను విడుదల చేస్తుంది. ఇది లాగ్‌కు సబ్‌స్క్రయిబ్ చేయబడిన ఆఫ్‌చెయిన్ నోడ్స్‌కు (సాధారణంగా JSON-RPC `eth_subscribe` కమాండ్ వంటి దానిని ఉపయోగించి) తెలియజేస్తుంది, వారు లాగ్ ఈవెంట్‌లో నిర్వచించిన డేటాను తిరిగి పొందడానికి ముందుకు వెళ్తారు. + +క్రింద పెడ్రో కోస్టాచే ఒక [ఉదాహరణ ఒరాకిల్ కాంట్రాక్ట్](https://medium.com/@pedrodc/implementing-a-blockchain-oracle-on-ethereum-cedc7e26b49e) ఉంది. ఇది ఒక సాధారణ ఒరాకిల్ సేవ, ఇది ఇతర స్మార్ట్ కాంట్రాక్టుల అభ్యర్థనపై ఆఫ్‌చెయిన్ APIలను ప్రశ్నించగలదు మరియు అభ్యర్థించిన సమాచారాన్ని బ్లాక్‌చెయిన్‌లో నిల్వ చేయగలదు: + +```solidity +pragma solidity >=0.4.21 <0.6.0; + +contract Oracle { + Request[] requests; //list of requests made to the contract + uint currentId = 0; //increasing request id + uint minQuorum = 2; //minimum number of responses to receive before declaring final result + uint totalOracleCount = 3; // Hardcoded oracle count + + // defines a general api request + struct Request { + uint id; //request id + string urlToQuery; //API url + string attributeToFetch; //json attribute (key) to retrieve in the response + string agreedValue; //value from key + mapping(uint => string) answers; //answers provided by the oracles + mapping(address => uint) quorum; //oracles which will query the answer (1=oracle hasn't voted, 2=oracle has voted) + } + + //event that triggers oracle outside of the blockchain + event NewRequest ( + uint id, + string urlToQuery, + string attributeToFetch + ); + + //triggered when there's a consensus on the final result + event UpdatedRequest ( + uint id, + string urlToQuery, + string attributeToFetch, + string agreedValue + ); + + function createRequest ( + string memory _urlToQuery, + string memory _attributeToFetch + ) + public + { + uint length = requests.push(Request(currentId, _urlToQuery, _attributeToFetch, "")); + Request storage r = requests[length-1]; + + // Hardcoded oracles address + r.quorum[address(0x6c2339b46F41a06f09CA0051ddAD54D1e582bA77)] = 1; + r.quorum[address(0xb5346CF224c02186606e5f89EACC21eC25398077)] = 1; + r.quorum[address(0xa2997F1CA363D11a0a35bB1Ac0Ff7849bc13e914)] = 1; + + // launch an event to be detected by oracle outside of blockchain + emit NewRequest ( + currentId, + _urlToQuery, + _attributeToFetch + ); + + // increase request id + currentId++; + } + + //called by the oracle to record its answer + function updateRequest ( + uint _id, + string memory _valueRetrieved + ) public { + + Request storage currRequest = requests[_id]; + + //check if oracle is in the list of trusted oracles + //and if the oracle hasn't voted yet + if(currRequest.quorum[address(msg.sender)] == 1){ + + //marking that this address has voted + currRequest.quorum[msg.sender] = 2; + + //iterate through "array" of answers until a position if free and save the retrieved value + uint tmpI = 0; + bool found = false; + while(!found) { + //find first empty slot + if(bytes(currRequest.answers[tmpI]).length == 0){ + found = true; + currRequest.answers[tmpI] = _valueRetrieved; + } + tmpI++; + } + + uint currentQuorum = 0; + + //iterate through oracle list and check if enough oracles(minimum quorum) + //have voted the same answer as the current one + for(uint i = 0; i < totalOracleCount; i++){ + bytes memory a = bytes(currRequest.answers[i]); + bytes memory b = bytes(_valueRetrieved); + + if(keccak256(a) == keccak256(b)){ + currentQuorum++; + if(currentQuorum >= minQuorum){ + currRequest.agreedValue = _valueRetrieved; + emit UpdatedRequest ( + currRequest.id, + currRequest.urlToQuery, + currRequest.attributeToFetch, + currRequest.agreedValue + ); + } + } + } + } + } +} +``` + +### ఒరాకిల్ నోడ్స్ {#oracle-nodes} + +ఒరాకిల్ నోడ్ అనేది ఒరాకిల్ సేవ యొక్క ఆఫ్‌చెయిన్ కాంపోనెంట్. ఇది మూడవ-పక్షం సర్వర్లలో హోస్ట్ చేయబడిన APIల వంటి బాహ్య సోర్సుల నుండి సమాచారాన్ని సంగ్రహిస్తుంది మరియు స్మార్ట్ కాంట్రాక్టుల వినియోగం కోసం దానిని ఆన్‌చెయిన్‌లో ఉంచుతుంది. ఒరాకిల్ నోడ్స్ ఆన్‌చెయిన్ ఒరాకిల్ కాంట్రాక్ట్ నుండి ఈవెంట్‌ల కోసం వింటాయి మరియు లాగ్‌లో వివరించిన పనిని పూర్తి చేయడానికి ముందుకు వెళ్తాయి. + +ఒరాకిల్ నోడ్స్ కోసం ఒక సాధారణ పని API సేవకు [HTTP GET](https://www.w3schools.com/tags/ref_httpmethods.asp) అభ్యర్థనను పంపడం, సంబంధిత డేటాను సంగ్రహించడానికి స్పందనను పార్సింగ్ చేయడం, బ్లాక్‌చెయిన్-చదవగల అవుట్‌పుట్‌లోకి ఫార్మాటింగ్ చేయడం మరియు ఒరాకిల్ కాంట్రాక్ట్‌కు ఒక లావాదేవీలో చేర్చడం ద్వారా దానిని ఆన్‌చెయిన్‌కు పంపడం. ఒరాకిల్ నోడ్ సమర్పించిన సమాచారం యొక్క చెల్లుబాటు మరియు సమగ్రతను “ప్రామాణికత రుజువులు” ఉపయోగించి ధృవీకరించవలసి రావచ్చు, వీటిని మనం తర్వాత అన్వేషిస్తాము. + +గ్యాస్ ఖర్చులు మరియు బ్లాక్ పరిమాణ పరిమితులను బట్టి, ఆన్‌చెయిన్‌లో అమలు చేయడానికి అసాధ్యమైన కంప్యూటేషనల్ టాస్క్‌లను నిర్వహించడానికి కంప్యూటేషనల్ ఒరాకిల్స్ కూడా ఆఫ్‌చెయిన్ నోడ్స్‌పై ఆధారపడతాయి. ఉదాహరణకు, ఒరాకిల్ నోడ్‌కు ధృవీకరించదగిన యాదృచ్ఛిక సంఖ్యను ఉత్పత్తి చేసే పనిని కేటాయించవచ్చు (ఉదా., బ్లాక్‌చెయిన్-ఆధారిత గేమ్‌ల కోసం). + +## ఒరాకిల్ డిజైన్ ప్యాట్రన్లు {#oracle-design-patterns} + +ఒరాకిల్స్ _తక్షణ-చదవడం_, _పబ్లిష్-సబ్‌స్క్రైబ్_, మరియు _రిక్వెస్ట్-రెస్పాన్స్_ తో సహా విభిన్న రకాలుగా వస్తాయి, వీటిలో చివరి రెండు ఇతీరియము స్మార్ట్ కాంట్రాక్టులలో అత్యంత ప్రజాదరణ పొందాయి. ఇక్కడ మనం పబ్లిష్-సబ్‌స్క్రైబ్ మరియు రిక్వెస్ట్-రెస్పాన్స్ మోడల్‌లను క్లుప్తంగా వివరిస్తాము. + +### పబ్లిష్-సబ్‌స్క్రైబ్ ఒరాకిల్స్ {#publish-subscribe-oracles} + +ఈ రకమైన ఒరాకిల్ ఒక “డేటా ఫీడ్” ను బహిర్గతం చేస్తుంది, దీనిని ఇతర కాంట్రాక్టులు సమాచారం కోసం క్రమం తప్పకుండా చదవగలవు. ఈ సందర్భంలో డేటా తరచుగా మారే అవకాశం ఉన్నందున, ఖాతాదారులు కాంట్రాక్టులు ఒరాకిల్ యొక్క నిల్వలోని డేటాకు నవీకరణల కోసం వినాలి. ఒక ఉదాహరణ, వినియోగదారులకు తాజా ETH-USD ధర సమాచారాన్ని అందించే ఒరాకిల్. + +### రిక్వెస్ట్-రెస్పాన్స్ ఒరాకిల్స్ {#request-response-oracles} + +రిక్వెస్ట్-రెస్పాన్స్ సెటప్ ఖాతాదారుడి కాంట్రాక్ట్‌కు పబ్లిష్-సబ్‌స్క్రైబ్ ఒరాకిల్ ద్వారా అందించబడిన దాని కంటే ఇతర ఏకపక్ష డేటాను అభ్యర్థించడానికి అనుమతిస్తుంది. డేటాసెట్ స్మార్ట్ కాంట్రాక్ట్ యొక్క నిల్వలో నిల్వ చేయడానికి చాలా పెద్దగా ఉన్నప్పుడు మరియు/లేదా వినియోగదారులకు ఏ సమయంలోనైనా డేటా యొక్క చిన్న భాగం మాత్రమే అవసరమైనప్పుడు రిక్వెస్ట్-రెస్పాన్స్ ఒరాకిల్స్ అనువైనవి. + +పబ్లిష్-సబ్‌స్క్రైబ్ మోడల్‌ల కంటే సంక్లిష్టమైనప్పటికీ, రిక్వెస్ట్-రెస్పాన్స్ ఒరాకిల్స్ ప్రాథమికంగా మనం మునుపటి విభాగంలో వివరించినవే. ఒరాకిల్ ఒక ఆన్‌చెయిన్ కాంపోనెంట్‌ను కలిగి ఉంటుంది, ఇది డేటా అభ్యర్థనను స్వీకరించి, దానిని ప్రాసెసింగ్ కోసం ఆఫ్‌చెయిన్ నోడ్‌కు పంపుతుంది. + +డేటా ప్రశ్నలను ప్రారంభించే వినియోగదారులు ఆఫ్‌చెయిన్ సోర్స్ నుండి సమాచారాన్ని తిరిగి పొందే ఖర్చును భరించాలి. అభ్యర్థనలో పేర్కొన్న క్యాల్‌బ్యాక్ ఫంక్షన్ ద్వారా స్పందనను తిరిగి ఇవ్వడంలో ఒరాకిల్ కాంట్రాక్ట్ ద్వారా అయ్యే గ్యాస్ ఖర్చులను కవర్ చేయడానికి ఖాతాదారుడి కాంట్రాక్ట్ కూడా నిధులను అందించాలి. + +## కేంద్రీకృత మరియు వికేంద్రీకృత ఒరాకిల్స్ {#types-of-oracles} + +### కేంద్రీకృత ఒరాకిల్స్ {#centralized-oracles} + +కేంద్రీకృత ఒరాకిల్ ఒకే సంస్థచే నియంత్రించబడుతుంది, ఇది ఆఫ్‌చెయిన్ సమాచారాన్ని సమగ్రపరచడానికి మరియు అభ్యర్థించిన విధంగా ఒరాకిల్ కాంట్రాక్ట్ యొక్క డేటాను నవీకరించడానికి బాధ్యత వహిస్తుంది. కేంద్రీకృత ఒరాకిల్స్ ఒకే నిజం యొక్క సోర్స్‌పై ఆధారపడటం వలన అవి సమర్థవంతంగా ఉంటాయి. యాజమాన్య డేటాసెట్‌లు యజమానిచే విస్తృతంగా ఆమోదించబడిన సంతకంతో నేరుగా ప్రచురించబడిన సందర్భాలలో అవి మెరుగ్గా పనిచేయవచ్చు. అయితే, అవి కూడా ప్రతికూలతలను తెస్తాయి: + +#### తక్కువ సరియైన హామీలు {#low-correctness-guarantees} + +కేంద్రీకృత ఒరాకిల్స్‌తో, అందించిన సమాచారం సరైనదో కాదో నిర్ధారించడానికి మార్గం లేదు. “ప్రతిష్టాత్మక” ప్రొవైడర్లు కూడా మోసగించవచ్చు లేదా హ్యాక్ చేయబడవచ్చు. ఒరాకిల్ అవినీతికి పాల్పడితే, స్మార్ట్ కాంట్రాక్టులు చెడు డేటా ఆధారంగా అమలు చేయబడతాయి. + +#### పేలవమైన లభ్యత {#poor-availability} + +కేంద్రీకృత ఒరాకిల్స్ ఇతర స్మార్ట్ కాంట్రాక్టులకు ఆఫ్‌చెయిన్ డేటాను ఎల్లప్పుడూ అందుబాటులో ఉంచుతాయని హామీ ఇవ్వవు. ప్రొవైడర్ సేవను ఆపివేయాలని నిర్ణయించుకుంటే లేదా ఒక హ్యాకర్ ఒరాకిల్ యొక్క ఆఫ్‌చెయిన్ కాంపోనెంట్‌ను హైజాక్ చేస్తే, మీ స్మార్ట్ కాంట్రాక్ట్ డినయల్ ఆఫ్ సర్వీస్ (DoS) దాడికి గురయ్యే ప్రమాదం ఉంది. + +#### పేలవమైన ప్రోత్సాహక అనుకూలత {#poor-incentive-compatibility} + +కేంద్రీకృత ఒరాకిల్స్ తరచుగా డేటా ప్రొవైడర్‌కు ఖచ్చితమైన/మార్చని సమాచారాన్ని పంపడానికి పేలవంగా రూపొందించిన లేదా ఉనికిలో లేని ప్రోత్సాహకాలను కలిగి ఉంటాయి. సరియైన కోసం ఒరాకిల్‌కు చెల్లించడం నిజాయితీకి హామీ ఇవ్వదు. స్మార్ట్ కాంట్రాక్టులచే నియంత్రించబడే విలువ మొత్తం పెరిగేకొద్దీ ఈ సమస్య పెద్దది అవుతుంది. + +### వికేంద్రీకృత ఒరాకిల్స్ {#decentralized-oracles} + +వికేంద్రీకృత ఒరాకిల్స్ వైఫల్యం యొక్క ఏకైక పాయింట్లను తొలగించడం ద్వారా కేంద్రీకృత ఒరాకిల్స్ యొక్క పరిమితులను అధిగమించడానికి రూపొందించబడ్డాయి. వికేంద్రీకృత ఒరాకిల్ సేవలో పీర్-టు-పీర్ నెట్‌వర్క్‌లో బహుళ పాల్గొనేవారు ఉంటారు, వారు స్మార్ట్ కాంట్రాక్ట్‌కు పంపే ముందు ఆఫ్‌చెయిన్ డేటాపై ఏకాభిప్రాయం ఏర్పరుస్తారు. + +వికేంద్రీకృత ఒరాకిల్ (ఆదర్శంగా) అనుమతిలేనిది, నమ్మకం లేనిది, మరియు కేంద్ర పార్టీచే పరిపాలన నుండి స్వేచ్ఛగా ఉండాలి; వాస్తవానికి, ఒరాకిల్స్ మధ్య వికేంద్రీకరణ ఒక స్పెక్ట్రంపై ఉంటుంది. పాక్షిక-వికేంద్రీకృత ఒరాకిల్ నెట్‌వర్క్‌లు ఉన్నాయి, ఇక్కడ ఎవరైనా పాల్గొనవచ్చు, కానీ చారిత్రక పనితీరు ఆధారంగా నోడ్స్‌ను ఆమోదించే మరియు తొలగించే ఒక “యజమాని” ఉంటారు. పూర్తిగా వికేంద్రీకృత ఒరాకిల్ నెట్‌వర్క్‌లు కూడా ఉన్నాయి: ఇవి సాధారణంగా స్వతంత్ర బ్లాక్‌చెయిన్‌లుగా నడుస్తాయి మరియు నోడ్స్‌ను సమన్వయం చేయడానికి మరియు దుష్ప్రవర్తనను శిక్షించడానికి నిర్వచించిన ఏకాభిప్రాయం యంత్రాంగాలను కలిగి ఉంటాయి. + +వికేంద్రీకృత ఒరాకిల్స్‌ను ఉపయోగించడం వల్ల క్రింది ప్రయోజనాలు ఉన్నాయి: + +### అధిక సరియైన హామీలు {#high-correctness-guarantees} + +వికేంద్రీకృత ఒరాకిల్స్ విభిన్న విధానాలను ఉపయోగించి డేటా యొక్క సరియైన సాధించడానికి ప్రయత్నిస్తాయి. ఇది తిరిగి వచ్చిన సమాచారం యొక్క ప్రామాణికత మరియు సమగ్రతను ధృవీకరించే రుజువులను ఉపయోగించడం మరియు ఆఫ్‌చెయిన్ డేటా యొక్క చెల్లుబాటుపై బహుళ సంస్థలు సమిష్టిగా అంగీకరించాలని కోరడం వంటివి కలిగి ఉంటుంది. + +#### ప్రామాణికత రుజువులు {#authenticity-proofs} + +ప్రామాణికత రుజువులు బాహ్య సోర్సుల నుండి తిరిగి పొందిన సమాచారం యొక్క స్వతంత్ర ధృవీకరణను ప్రారంభించే క్రిప్టోగ్రాఫిక్ యంత్రాంగాలు. ఈ రుజువులు సమాచారం యొక్క సోర్స్‌ను ధృవీకరించగలవు మరియు తిరిగి పొందిన తర్వాత డేటాకు సాధ్యమయ్యే మార్పులను గుర్తించగలవు. + +ప్రామాణికత రుజువులకు ఉదాహరణలు: + +**ట్రాన్స్‌పోర్ట్ లేయర్ సెక్యూరిటీ (TLS) ప్రూఫ్‌లు**: ఒరాకిల్ నోడ్స్ తరచుగా ట్రాన్స్‌పోర్ట్ లేయర్ సెక్యూరిటీ (TLS) ప్రోటోకాల్ ఆధారంగా సురక్షితమైన HTTP కనెక్షన్‌ను ఉపయోగించి బాహ్య సోర్సుల నుండి డేటాను తిరిగి పొందుతాయి. కొన్ని వికేంద్రీకృత ఒరాకిల్స్ TLS సెషన్‌లను ధృవీకరించడానికి (అంటే, ఒక నోడ్ మరియు ఒక నిర్దిష్ట సర్వర్ మధ్య సమాచారం యొక్క మార్పిడిని నిర్ధారించడానికి) ప్రామాణికత రుజువులను ఉపయోగిస్తాయి మరియు సెషన్ యొక్క విషయాలు మార్చబడలేదని నిర్ధారిస్తాయి. + +**విశ్వసనీయ ఎగ్జిక్యూషన్ ఎన్విరాన్‌మెంట్ (TEE) ధృవపత్రాలు**: ఒక [విశ్వసనీయ ఎగ్జిక్యూషన్ ఎన్విరాన్‌మెంట్](https://en.wikipedia.org/wiki/Trusted_execution_environment) (TEE) అనేది దాని హోస్ట్ సిస్టమ్ యొక్క కార్యాచరణ ప్రక్రియల నుండి విడిగా ఉండే ఒక శాండ్‌బాక్స్‌డ్ కంప్యూటేషనల్ ఎన్విరాన్‌మెంట్. TEEలు కంప్యూటేషన్ ఎన్విరాన్‌మెంట్‌లో నిల్వ చేయబడిన/ఉపయోగించబడిన ఏదైనా అప్లికేషన్ సంకేత భాష లేదా డేటా సమగ్రత, గోప్యత మరియు మార్పులేనితనాన్ని నిలుపుకుంటుందని నిర్ధారిస్తాయి. విశ్వసనీయ ఎగ్జిక్యూషన్ ఎన్విరాన్‌మెంట్‌లో ఒక అప్లికేషన్ ఇన్‌స్టాన్స్ నడుస్తోందని నిరూపించడానికి వినియోగదారులు ఒక ధృవపత్రాన్ని కూడా రూపొందించవచ్చు. + +కొన్ని వర్గాల వికేంద్రీకృత ఒరాకిల్స్‌కు ఒరాకిల్ నోడ్ ఆపరేటర్లు TEE ధృవపత్రాలను అందించాలని అవసరం. ఇది నోడ్ ఆపరేటర్ విశ్వసనీయ ఎగ్జిక్యూషన్ ఎన్విరాన్‌మెంట్‌లో ఒరాకిల్ క్లయింట్ యొక్క ఒక ఇన్‌స్టాన్స్‌ను నడుపుతున్నారని వినియోగదారుడికి నిర్ధారిస్తుంది. TEEలు బాహ్య ప్రక్రియలను ఒక అప్లికేషన్ యొక్క సంకేత భాష మరియు డేటాను మార్చకుండా లేదా చదవకుండా నిరోధిస్తాయి, అందువల్ల, ఆ ధృవపత్రాలు ఒరాకిల్ నోడ్ సమాచారాన్ని చెక్కుచెదరకుండా మరియు గోప్యంగా ఉంచిందని నిరూపిస్తాయి. + +#### సమాచారం యొక్క ఏకాభిప్రాయం-ఆధారిత ధృవీకరణ {#consensus-based-validation-of-information} + +స్మార్ట్ కాంట్రాక్టులకు డేటాను అందించేటప్పుడు కేంద్రీకృత ఒరాకిల్స్ ఒకే నిజం యొక్క సోర్స్‌పై ఆధారపడతాయి, ఇది తప్పు సమాచారాన్ని ప్రచురించే అవకాశాన్ని పరిచయం చేస్తుంది. వికేంద్రీకృత ఒరాకిల్స్ ఆఫ్‌చెయిన్ సమాచారాన్ని ప్రశ్నించడానికి బహుళ ఒరాకిల్ నోడ్స్‌పై ఆధారపడటం ద్వారా ఈ సమస్యను పరిష్కరిస్తాయి. బహుళ సోర్సుల నుండి డేటాను పోల్చడం ద్వారా, వికేంద్రీకృత ఒరాకిల్స్ ఆన్‌చెయిన్ కాంట్రాక్టులకు చెల్లని సమాచారాన్ని పంపే ప్రమాదాన్ని తగ్గిస్తాయి. + +అయితే, వికేంద్రీకృత ఒరాకిల్స్, బహుళ ఆఫ్‌చెయిన్ సోర్సుల నుండి తిరిగి పొందిన సమాచారంలోని వ్యత్యాసాలతో వ్యవహరించాలి. సమాచారంలో తేడాలను తగ్గించడానికి మరియు ఒరాకిల్ కాంట్రాక్ట్‌కు పంపబడిన డేటా ఒరాకిల్ నోడ్స్ యొక్క సామూహిక అభిప్రాయాన్ని ప్రతిబింబిస్తుందని నిర్ధారించడానికి, వికేంద్రీకృత ఒరాకిల్స్ క్రింది యంత్రాంగాలను ఉపయోగిస్తాయి: + +##### డేటా యొక్క ఖచ్చితత్వంపై ఓటింగ్/స్టేకింగ్ + +కొన్ని వికేంద్రీకృత ఒరాకిల్ నెట్‌వర్క్‌లకు పాల్గొనేవారు డేటా ప్రశ్నలకు సమాధానాల ఖచ్చితత్వంపై ఓటు వేయడం లేదా స్టేక్ చేయడం అవసరం (ఉదా., "2020 యుఎస్ ఎన్నికల్లో ఎవరు గెలిచారు?"). నెట్‌వర్క్ యొక్క స్థానిక టోకెన్‌ను ఉపయోగించడం. ఒక సమూహనం ప్రోటోకాల్ ఓట్లను మరియు స్టేక్స్‌ను tổng hợp చేస్తుంది మరియు మెజారిటీ మద్దతు ఉన్న సమాధానాన్ని చెల్లుబాటు అయ్యేదిగా తీసుకుంటుంది. + +మెజారిటీ సమాధానం నుండి విచలనం చెందే నోడ్స్, మరింత సరైన విలువలను అందించే ఇతరులకు వారి టోకెన్లను పంపిణీ చేయడం ద్వారా శిక్షించబడతాయి. డేటాను అందించే ముందు ఒక బాండ్‌ను అందించమని నోడ్స్‌ను బలవంతం చేయడం నిజాయితీగల ప్రతిస్పందనలను ప్రోత్సహిస్తుంది, ఎందుకంటే వారు రాబడిని గరిష్టీకరించడానికి ఉద్దేశించిన హేతుబద్ధమైన ఆర్థిక నటులుగా భావించబడతారు. + +స్టేకింగ్/ఓటింగ్ కూడా వికేంద్రీకృత ఒరాకిల్స్‌ను [సిబిల్ దాడుల](/glossary/#sybil-attack) నుండి రక్షిస్తుంది, ఇక్కడ హానికరమైన నటులు ఏకాభిప్రాయం వ్యవస్థను గేమింగ్ చేయడానికి బహుళ గుర్తింపులను సృష్టిస్తారు. అయితే, స్టేకింగ్ “ఫ్రీలోడింగ్” (ఒరాకిల్ నోడ్స్ ఇతరుల నుండి సమాచారాన్ని కాపీ చేయడం) మరియు “సోమరి ధృవీకరణ” (ఒరాకిల్ నోడ్స్ సమాచారాన్ని ధృవీకరించకుండానే మెజారిటీని అనుసరించడం) ను నిరోధించలేదు. + +##### షెల్లింగ్ పాయింట్ మెకానిజమ్స్ + +[షెల్లింగ్ పాయింట్](https://en.wikipedia.org/wiki/Focal_point_\(game_theory\)) అనేది ఒక గేమ్-థియరీ భావన, ఇది ఏ కమ్యూనికేషన్ లేనప్పుడు బహుళ సంస్థలు ఎల్లప్పుడూ ఒక సమస్యకు సాధారణ పరిష్కారానికి డిఫాల్ట్ అవుతాయని ఊహిస్తుంది. డేటా అభ్యర్థనలకు సమాధానాలపై నోడ్స్ ఏకాభిప్రాయం సాధించడానికి వీలుగా వికేంద్రీకృత ఒరాకిల్ నెట్‌వర్క్‌లలో తరచుగా షెల్లింగ్-పాయింట్ మెకానిజమ్‌లను ఉపయోగిస్తారు. + +దీని కోసం ఒక ప్రారంభ ఆలోచన [షెల్లింగ్ కాయిన్](https://blog.ethereum.org/2014/03/28/schellingcoin-a-minimal-trust-universal-data-feed/), ఇది ఒక ప్రతిపాదిత డేటా ఫీడ్, ఇక్కడ పాల్గొనేవారు "స్కేలార్" ప్రశ్నలకు (సమాధానాలు పరిమాణం ద్వారా వివరించబడిన ప్రశ్నలు, ఉదా., "ETH ధర ఎంత?") ప్రతిస్పందనలను సమర్పిస్తారు, డిపాజిట్‌తో పాటు. 25వ మరియు 75వ [శతాంశం](https://en.wikipedia.org/wiki/Percentile) మధ్య విలువలను అందించే వినియోగదారులకు బహుమతి ఇవ్వబడుతుంది, అయితే మధ్యస్థ విలువ నుండి ఎక్కువగా విచలనం చెందే విలువలు ఉన్నవారికి జరిమానా విధించబడుతుంది. + +షెల్లింగ్ కాయిన్ ఈ రోజు ఉనికిలో లేనప్పటికీ, అనేక వికేంద్రీకృత ఒరాకిల్స్—ముఖ్యంగా [మేకర్ ప్రోటోకాల్ యొక్క ఒరాకిల్స్](https://docs.makerdao.com/smart-contract-modules/oracle-module)—ఒరాకిల్ డేటా యొక్క ఖచ్చితత్వాన్ని మెరుగుపరచడానికి షెల్లింగ్-పాయింట్ మెకానిజమ్‌ను ఉపయోగిస్తాయి. ప్రతి మేకర్ ఒరాకిల్, అనుషంగిక ఆస్తుల కోసం మార్కెట్ ధరలను సమర్పించే నోడ్స్ (“రిలేయర్స్” మరియు “ఫీడ్స్”) యొక్క ఆఫ్‌చెయిన్ P2P నెట్‌వర్క్ మరియు అందించిన అన్ని విలువల మధ్యస్థాన్ని లెక్కించే ఆన్‌చెయిన్ “మీడియానైజర్” కాంట్రాక్ట్‌ను కలిగి ఉంటుంది. పేర్కొన్న ఆలస్యం వ్యవధి ముగిసిన తర్వాత, ఈ మధ్యస్థ విలువ అనుబంధిత ఆస్తికి కొత్త రిఫరెన్స్ ధర అవుతుంది. + +షెల్లింగ్ పాయింట్ మెకానిజమ్‌లను ఉపయోగించే ఇతర ఒరాకిల్స్ యొక్క ఉదాహరణలలో [చైన్‌లింక్ ఆఫ్‌చెయిన్ రిపోర్టింగ్](https://docs.chain.link/architecture-overview/off-chain-reporting) మరియు [విట్నెట్](https://witnet.io/) ఉన్నాయి. రెండు వ్యవస్థలలో, పీర్-టు-పీర్ నెట్‌వర్క్‌లోని ఒరాకిల్ నోడ్స్ నుండి ప్రతిస్పందనలు సగటు లేదా మధ్యస్థం వంటి ఒకే సమగ్ర విలువగా tổng hợp చేయబడతాయి. నోడ్స్ యొక్క ప్రతిస్పందనలు సమగ్ర విలువతో ఎంతవరకు సరిపోలుతున్నాయో లేదా విచలనం చెందుతున్నాయో అనే దాని ప్రకారం బహుమతి లేదా శిక్షించబడతాయి. + +షెల్లింగ్ పాయింట్ మెకానిజమ్స్ ఆకర్షణీయంగా ఉంటాయి ఎందుకంటే అవి ఆన్‌చెయిన్ ఫుట్‌ప్రింట్‌ను తగ్గిస్తాయి (కేవలం ఒక లావాదేవీని పంపాలి) మరియు వికేంద్రీకరణకు హామీ ఇస్తాయి. సమర్పించిన ప్రతిస్పందనల జాబితాను సగటు/మధ్యస్థ విలువను ఉత్పత్తి చేసే అల్గారిథమ్‌లోకి ఫీడ్ చేసే ముందు నోడ్స్ ఆమోదం తెలపాల్సి ఉంటుంది కాబట్టి రెండోది సాధ్యమవుతుంది. + +### లభ్యత {#availability} + +వికేంద్రీకృత ఒరాకిల్ సేవలు స్మార్ట్ కాంట్రాక్టులకు ఆఫ్‌చెయిన్ డేటా యొక్క అధిక లభ్యతను నిర్ధారిస్తాయి. ఇది ఆఫ్‌చెయిన్ సమాచారం యొక్క సోర్స్ మరియు సమాచారాన్ని ఆన్‌చెయిన్‌కు బదిలీ చేయడానికి బాధ్యత వహించే నోడ్స్ రెండింటినీ వికేంద్రీకరించడం ద్వారా సాధించబడుతుంది. + +ఇది తప్పు-సహనాన్ని నిర్ధారిస్తుంది ఎందుకంటే ఒరాకిల్ కాంట్రాక్ట్ ఇతర కాంట్రాక్టుల నుండి ప్రశ్నలను అమలు చేయడానికి బహుళ నోడ్స్‌పై (ఇవి కూడా బహుళ డేటా సోర్సులపై ఆధారపడతాయి) ఆధారపడవచ్చు. సోర్స్ _మరియు_ నోడ్-ఆపరేటర్ స్థాయిలో వికేంద్రీకరణ కీలకం—ఒకే సోర్స్ నుండి తిరిగి పొందిన సమాచారాన్ని అందించే ఒరాకిల్ నోడ్స్ యొక్క నెట్‌వర్క్ కేంద్రీకృత ఒరాకిల్ వలె అదే సమస్యను ఎదుర్కొంటుంది. + +డేటా అభ్యర్థనలకు త్వరగా స్పందించడంలో విఫలమైన నోడ్ ఆపరేటర్లను స్లాష్ చేయడానికి స్టేక్-ఆధారిత ఒరాకిల్స్‌కు కూడా సాధ్యమే. ఇది తప్పు-సహన మౌలిక సదుపాయాలలో పెట్టుబడి పెట్టడానికి మరియు సకాలంలో డేటాను అందించడానికి ఒరాకిల్ నోడ్స్‌ను గణనీయంగా ప్రోత్సహిస్తుంది. + +### మంచి ప్రోత్సాహక అనుకూలత {#good-incentive-compatibility} + +వికేంద్రీకృత ఒరాకిల్స్ ఒరాకిల్ నోడ్స్ మధ్య [బైజాంటైన్](https://en.wikipedia.org/wiki/Byzantine_fault) ప్రవర్తనను నివారించడానికి వివిధ ప్రోత్సాహక డిజైన్‌లను అమలు చేస్తాయి. ప్రత్యేకంగా, అవి _ఆపాదన_ మరియు _జవాబుదారీతనం_ ను సాధిస్తాయి: + +1. డేటా అభ్యర్థనలకు ప్రతిస్పందనగా వారు అందించే డేటాపై వికేంద్రీకృత ఒరాకిల్ నోడ్స్ తరచుగా సంతకం చేయవలసి ఉంటుంది. ఈ సమాచారం ఒరాకిల్ నోడ్స్ యొక్క చారిత్రక పనితీరును మూల్యాంకనం చేయడానికి సహాయపడుతుంది, తద్వారా వినియోగదారులు డేటా అభ్యర్థనలు చేసేటప్పుడు నమ్మదగని ఒరాకిల్ నోడ్స్‌ను ఫిల్టర్ చేయవచ్చు. ఒక ఉదాహరణ విట్నెట్ యొక్క [అల్గారిథమిక్ రెప్యూటేషన్ సిస్టమ్](https://docs.witnet.io/intro/about/architecture#algorithmic-reputation-system). + +2. వికేంద్రీకృత ఒరాకిల్స్—ముందుగా వివరించినట్లు—వారు సమర్పించే డేటా యొక్క సత్యంపై వారి విశ్వాసంపై ఒక స్టేక్‌ను ఉంచమని నోడ్స్‌ను కోరవచ్చు. క్లెయిమ్ సరిపోలితే, నిజాయితీగల సేవకు బహుమతులతో పాటు ఈ స్టేక్‌ను తిరిగి ఇవ్వవచ్చు. కానీ సమాచారం తప్పుగా ఉంటే అది స్లాష్ చేయబడవచ్చు, ఇది కొంతవరకు జవాబుదారీతనాన్ని అందిస్తుంది. + +## స్మార్ట్ కాంట్రాక్టులలో ఒరాకిల్స్ యొక్క అప్లికేషన్లు {#applications-of-oracles-in-smart-contracts} + +ఇతీరియములో ఒరాకిల్స్ కోసం సాధారణ వినియోగ-సందర్భాలు క్రిందివి: + +### ఆర్థిక డేటాను తిరిగి పొందడం {#retrieving-financial-data} + +[వికేంద్రీకృత ఫైనాన్స్](/defi/) (DeFi) అప్లికేషన్లు పీర్-టు-పీర్ రుణాలు, అప్పులు తీసుకోవడం, మరియు ఆస్తుల వ్యాపారాన్ని అనుమతిస్తాయి. దీనికి తరచుగా మార్పిడి రేటు డేటా (క్రిప్టోకరెన్సీల ఫైట్ విలువను లెక్కించడానికి లేదా టోకెన్ ధరలను పోల్చడానికి) మరియు క్యాపిటల్ మార్కెట్స్ డేటా (టోకనైజ్ చేయబడిన ఆస్తుల విలువను లెక్కించడానికి, బంగారం లేదా యుఎస్ డాలర్ వంటివి) సహా విభిన్న ఆర్థిక సమాచారాన్ని పొందడం అవసరం. + +ఒక DeFi రుణ ప్రోటోకాల్, ఉదాహరణకు, అనుషంగికంగా డిపాజిట్ చేసిన ఆస్తుల (ఉదా., ETH) కోసం ప్రస్తుత మార్కెట్ ధరలను ప్రశ్నించాలి. ఇది కాంట్రాక్ట్‌కు అనుషంగిక ఆస్తుల విలువను నిర్ధారించడానికి మరియు సిస్టమ్ నుండి ఎంత అప్పు తీసుకోవచ్చో నిర్ధారించడానికి వీలు కల్పిస్తుంది. + +DeFiలో ప్రజాదరణ పొందిన “ప్రైస్ ఒరాకిల్స్” (వాటిని తరచుగా పిలుస్తారు) చైన్‌లింక్ ప్రైస్ ఫీడ్స్, కాంపౌండ్ ప్రోటోకాల్ యొక్క [ఓపెన్ ప్రైస్ ఫీడ్](https://compound.finance/docs/prices), యునిస్వాప్ యొక్క [టైమ్-వెయిటెడ్ యావరేజ్ ప్రైసెస్ (TWAPs)](https://docs.uniswap.org/contracts/v2/concepts/core-concepts/oracles), మరియు [మేకర్ ఒరాకిల్స్](https://docs.makerdao.com/smart-contract-modules/oracle-module). + +బిల్డర్లు తమ ప్రాజెక్ట్‌లో ఈ ప్రైస్ ఒరాకిల్స్‌ను ఇంటిగ్రేట్ చేసే ముందు వాటితో వచ్చే హెచ్చరికలను అర్థం చేసుకోవాలి. ఈ [వ్యాసం](https://blog.openzeppelin.com/secure-smart-contract-guidelines-the-dangers-of-price-oracles) పేర్కొన్న ప్రైస్ ఒరాకిల్స్‌లో దేనినైనా ఉపయోగించాలని ప్లాన్ చేసేటప్పుడు ఏమి పరిగణించాలనే దానిపై వివరణాత్మక విశ్లేషణను అందిస్తుంది. + +చైన్‌లింక్ ప్రైస్ ఫీడ్‌ను ఉపయోగించి మీ స్మార్ట్ కాంట్రాక్ట్‌లో తాజా ETH ధరను ఎలా తిరిగి పొందాలో క్రింద ఒక ఉదాహరణ ఉంది: + +```solidity +pragma solidity ^0.6.7; + +import "@chainlink/contracts/src/v0.6/interfaces/AggregatorV3Interface.sol"; + +contract PriceConsumerV3 { + + AggregatorV3Interface internal priceFeed; + + /** + * Network: Kovan + * Aggregator: ETH/USD + * Address: 0x9326BFA02ADD2366b30bacB125260Af641031331 + */ + constructor() public { + priceFeed = AggregatorV3Interface(0x9326BFA02ADD2366b30bacB125260Af641031331); + } + + /** + * Returns the latest price + */ + function getLatestPrice() public view returns (int) { + ( + uint80 roundID, + int price, + uint startedAt, + uint timeStamp, + uint80 answeredInRound + ) = priceFeed.latestRoundData(); + return price; + } +} +``` + +### ధృవీకరించదగిన యాదృచ్ఛికతను ఉత్పత్తి చేయడం {#generating-verifiable-randomness} + +కొన్ని బ్లాక్‌చెయిన్ అప్లికేషన్లు, బ్లాక్‌చెయిన్-ఆధారిత గేమ్‌లు లేదా లాటరీ పథకాల వంటివి, సమర్థవంతంగా పనిచేయడానికి అధిక స్థాయి అనూహ్యత మరియు యాదృచ్ఛికత అవసరం. అయితే, బ్లాక్‌చెయిన్‌ల డిటర్మినిస్టిక్ అమలు యాదృచ్ఛికతను తొలగిస్తుంది. + +అసలు విధానం `blockhash` వంటి సూడోరాండమ్ క్రిప్టోగ్రాఫిక్ ఫంక్షన్‌లను ఉపయోగించడం, కానీ ఇవి [మైనర్లచే మార్చబడవచ్చు](https://ethereum.stackexchange.com/questions/3140/risk-of-using-blockhash-other-miners-preventing-attack#:~:text=So%20while%20the%20miners%20can,to%20one%20of%20the%20players.) ప్రూఫ్-ఆఫ్-వర్క్ అల్గారిథమ్‌ను పరిష్కరించడం. అలాగే, ఇతీరియము యొక్క [ప్రూఫ్-ఆఫ్-స్టేక్‌కు మారడం](/roadmap/merge/) అంటే డెవలపర్లు ఇకపై ఆన్‌చెయిన్ యాదృచ్ఛికత కోసం `blockhash` పై ఆధారపడలేరు. బీకాన్ చైన్ యొక్క [RANDAO మెకానిజం](https://eth2book.info/altair/part2/building_blocks/randomness) బదులుగా యాదృచ్ఛికత యొక్క ప్రత్యామ్నాయ మూలాన్ని అందిస్తుంది. + +యాదృచ్ఛిక విలువను ఆఫ్‌చెయిన్‌లో ఉత్పత్తి చేసి దానిని ఆన్‌చెయిన్‌కు పంపడం సాధ్యమే, కానీ అలా చేయడం వల్ల వినియోగదారులపై అధిక విశ్వాస అవసరాలు ఏర్పడతాయి. వారు ఆ విలువ నిజంగా అనూహ్యమైన యంత్రాంగాల ద్వారా ఉత్పత్తి చేయబడిందని మరియు రవాణాలో మార్చబడలేదని నమ్మాలి. + +ఆఫ్‌చెయిన్ కంప్యూటేషన్ కోసం రూపొందించిన ఒరాకిల్స్, అనూహ్య ప్రక్రియకు ధృవీకరించే క్రిప్టోగ్రాఫిక్ రుజువులతో పాటు ఆఫ్‌చెయిన్‌లో సురక్షితంగా యాదృచ్ఛిక ఫలితాలను ఉత్పత్తి చేసి ఆన్‌చెయిన్‌లో ప్రసారం చేయడం ద్వారా ఈ సమస్యను పరిష్కరిస్తాయి. ఒక ఉదాహరణ [చైన్‌లింక్ VRF](https://docs.chain.link/docs/chainlink-vrf/) (ధృవీకరించదగిన యాదృచ్ఛిక ఫంక్షన్), ఇది అనూహ్య ఫలితాలపై ఆధారపడే అప్లికేషన్ల కోసం విశ్వసనీయ స్మార్ట్ కాంట్రాక్టులను నిర్మించడానికి ఉపయోగపడే నిరూపించదగిన సరసమైన మరియు టాంపర్-ప్రూఫ్ రాండమ్ నంబర్ జనరేటర్ (RNG). + +### ఈవెంట్‌ల కోసం ఫలితాలను పొందడం {#getting-outcomes-for-events} + +ఒరాకిల్స్‌తో, వాస్తవ-ప్రపంచ ఈవెంట్‌లకు ప్రతిస్పందించే స్మార్ట్ కాంట్రాక్టులను సృష్టించడం సులభం. ఒరాకిల్ సేవలు, కాంట్రాక్టులను ఆఫ్‌చెయిన్ కాంపోనెంట్ల ద్వారా బాహ్య APIలకు కనెక్ట్ చేయడానికి మరియు ఆ డేటా సోర్సుల నుండి సమాచారాన్ని వినియోగించుకోవడానికి అనుమతించడం ద్వారా దీనిని సాధ్యం చేస్తాయి. ఉదాహరణకు, ముందుగా పేర్కొన్న ప్రిడిక్షన్ డాప్, ఒక విశ్వసనీయ ఆఫ్‌చెయిన్ సోర్స్ (ఉదా., అసోసియేటెడ్ ప్రెస్) నుండి ఎన్నికల ఫలితాలను తిరిగి ఇవ్వమని ఒరాకిల్‌ను అభ్యర్థించవచ్చు. + +వాస్తవ-ప్రపంచ ఫలితాల ఆధారంగా డేటాను తిరిగి పొందడానికి ఒరాకిల్స్‌ను ఉపయోగించడం ఇతర నవల వినియోగ-సందర్భాలను అనుమతిస్తుంది; ఉదాహరణకు, ఒక వికేంద్రీకృత బీమా ఉత్పత్తి సమర్థవంతంగా పనిచేయడానికి వాతావరణం, విపత్తులు మొదలైన వాటి గురించి ఖచ్చితమైన సమాచారం అవసరం. + +### స్మార్ట్ కాంట్రాక్టులను ఆటోమేట్ చేయడం {#automating-smart-contracts} + +స్మార్ట్ కాంట్రాక్టులు ఆటోమేటిక్‌గా నడవవు; బదులుగా, ఒక బాహ్యంగా యాజమాన్యంలోని ఖాతా (EOA), లేదా మరొక కాంట్రాక్ట్ ఖాతా, కాంట్రాక్ట్ యొక్క సంకేత భాషను అమలు చేయడానికి సరైన ఫంక్షన్‌లను ప్రేరేపించాలి. చాలా సందర్భాలలో, కాంట్రాక్ట్ యొక్క ఫంక్షన్‌లలో ఎక్కువ భాగం పబ్లిక్ మరియు EOAలు మరియు ఇతర కాంట్రాక్టుల ద్వారా పిలవబడతాయి. + +కానీ ఒక కాంట్రాక్ట్‌లో _ప్రైవేట్ ఫంక్షన్‌లు_ కూడా ఉన్నాయి, ఇవి ఇతరులకు అందుబాటులో ఉండవు; కానీ అవి డాప్ యొక్క మొత్తం కార్యాచరణకు కీలకం. వినియోగదారుల కోసం క్రమానుగతంగా కొత్త NFTలను మింట్ చేసే `mintERC721Token()` ఫంక్షన్, ప్రిడిక్షన్ మార్కెట్‌లో చెల్లింపులను ప్రదానం చేయడానికి ఒక ఫంక్షన్, లేదా ఒక DEXలో స్టేక్ చేయబడిన టోకెన్లను అన్‌లాక్ చేయడానికి ఒక ఫంక్షన్ వంటి ఉదాహరణలు ఉన్నాయి. + +అభివృద్ధి చేసేవాళ్ళు అప్లికేషన్‌ను సజావుగా నడపడానికి అటువంటి ఫంక్షన్‌లను క్రమానుగతంగా ప్రేరేపించవలసి ఉంటుంది. అయితే, ఇది అభివృద్ధి చేసేవాళ్ళకు సాధారణ పనులపై ఎక్కువ గంటలు కోల్పోవడానికి దారితీయవచ్చు, అందుకే స్మార్ట్ కాంట్రాక్టుల అమలును ఆటోమేట్ చేయడం ఆకర్షణీయంగా ఉంటుంది. + +కొన్ని వికేంద్రీకృత ఒరాకిల్ నెట్‌వర్క్‌లు ఆటోమేషన్ సేవలను అందిస్తాయి, ఇవి వినియోగదారుడు నిర్వచించిన పారామితుల ప్రకారం స్మార్ట్ కాంట్రాక్ట్ ఫంక్షన్‌లను ప్రేరేపించడానికి ఆఫ్‌చెయిన్ ఒరాకిల్ నోడ్స్‌ను అనుమతిస్తాయి. సాధారణంగా, దీనికి ఒరాకిల్ సేవతో లక్ష్య కాంట్రాక్ట్‌ను “నమోదు” చేయడం, ఒరాకిల్ ఆపరేటర్‌కు చెల్లించడానికి నిధులను అందించడం, మరియు కాంట్రాక్ట్‌ను ప్రేరేపించడానికి షరతులు లేదా సమయాలను పేర్కొనడం అవసరం. + +చైన్‌లింక్ యొక్క [కీపర్ నెట్‌వర్క్](https://chain.link/keepers) స్మార్ట్ కాంట్రాక్టులకు నమ్మకాన్ని తగ్గించిన మరియు వికేంద్రీకృత పద్ధతిలో సాధారణ నిర్వహణ పనులను అవుట్‌సోర్స్ చేయడానికి ఎంపికలను అందిస్తుంది. మీ కాంట్రాక్ట్‌ను కీపర్-అనుకూలంగా చేయడానికి మరియు అప్‌కీప్ సేవను ఉపయోగించడంపై సమాచారం కోసం అధికారిక [కీపర్ యొక్క డాక్యుమెంటేషన్](https://docs.chain.link/docs/chainlink-keepers/introduction/) చదవండి. + +## బ్లాక్‌చెయిన్ ఒరాకిల్స్‌ను ఎలా ఉపయోగించాలి {#use-blockchain-oracles} + +మీ ఇతీరియము డాప్‌లో మీరు ఇంటిగ్రేట్ చేయగల బహుళ ఒరాకిల్ అప్లికేషన్లు ఉన్నాయి: + +**[చైన్‌లింక్](https://chain.link/)** - _చైన్‌లింక్ వికేంద్రీకృత ఒరాకిల్ నెట్‌వర్క్‌లు ఏ బ్లాక్‌చెయిన్‌లోనైనా అధునాతన స్మార్ట్ కాంట్రాక్టులకు మద్దతు ఇవ్వడానికి టాంపర్-ప్రూఫ్ ఇన్‌పుట్‌లు, అవుట్‌పుట్‌లు మరియు కంప్యూటేషన్‌లను అందిస్తాయి._ + +**[రెడ్‌స్టోన్ ఒరాకిల్స్](https://redstone.finance/)** - _రెడ్‌స్టోన్ ఒక వికేంద్రీకృత మాడ్యులర్ ఒరాకిల్, ఇది గ్యాస్-ఆప్టిమైజ్ చేయబడిన డేటా ఫీడ్లను అందిస్తుంది. ఇది లిక్విడ్ స్టేకింగ్ టోకెన్లు (LSTలు), లిక్విడ్ రీస్టేకింగ్ టోకెన్లు (LRTలు), మరియు బిట్‌కాయిన్ స్టేకింగ్ డెరివేటివ్స్ వంటి అభివృద్ధి చెందుతున్న ఆస్తులకు ధర ఫీడ్లను అందించడంలో ప్రత్యేకత కలిగి ఉంది._ + +**[క్రానికల్](https://chroniclelabs.org/)** - _క్రానికల్ నిజంగా స్కేలబుల్, ఖర్చు-సమర్థవంతమైన, వికేంద్రీకృత మరియు ధృవీకరించదగిన ఒరాకిల్స్‌ను అభివృద్ధి చేయడం ద్వారా ఆన్‌చెయిన్‌లో డేటాను బదిలీ చేయడంలో ప్రస్తుత పరిమితులను అధిగమిస్తుంది._ + +**[విట్నెట్](https://witnet.io/)** - _విట్నెట్ ఒక అనుమతిలేని, వికేంద్రీకృత మరియు సెన్సార్‌షిప్-నిరోధక ఒరాకిల్, ఇది స్మార్ట్ కాంట్రాక్టులకు బలమైన క్రిప్టో-ఆర్థిక హామీలతో వాస్తవ ప్రపంచ ఈవెంట్‌లకు ప్రతిస్పందించడానికి సహాయపడుతుంది._ + +**[UMA ఒరాకిల్](https://uma.xyz)** - _UMA యొక్క ఆశావాద ఒరాకిల్, బీమా, ఆర్థిక డెరివేటివ్‌లు మరియు ప్రిడిక్షన్ మార్కెట్‌లతో సహా విభిన్న అప్లికేషన్ల కోసం స్మార్ట్ కాంట్రాక్టులు త్వరగా మరియు ఏ రకమైన డేటానైనా స్వీకరించడానికి అనుమతిస్తుంది._ + +**[టెల్లర్](https://tellor.io/)** - _టెల్లర్ మీ స్మార్ట్ కాంట్రాక్ట్ కోసం పారదర్శకమైన మరియు అనుమతిలేని ఒరాకిల్ ప్రోటోకాల్, ఇది అవసరమైనప్పుడు సులభంగా ఏ డేటానైనా పొందగలదు._ + +**[బ్యాండ్ ప్రోటోకాల్](https://bandprotocol.com/)** - _బ్యాండ్ ప్రోటోకాల్ ఒక క్రాస్-చైన్ డేటా ఒరాకిల్ ప్లాట్‌ఫారమ్, ఇది వాస్తవ-ప్రపంచ డేటా మరియు APIలను స్మార్ట్ కాంట్రాక్టులకు సమగ్రపరిచి కనెక్ట్ చేస్తుంది._ + +**[పైత్ నెట్‌వర్క్](https://pyth.network/)** - _పైత్ నెట్‌వర్క్ ఒక ఫస్ట్-పార్టీ ఫైనాన్షియల్ ఒరాకిల్ నెట్‌వర్క్, ఇది టాంపర్-రెసిస్టెంట్, వికేంద్రీకృత మరియు స్వీయ-నిరంతర వాతావరణంలో ఆన్‌చెయిన్‌లో నిరంతర వాస్తవ-ప్రపంచ డేటాను ప్రచురించడానికి రూపొందించబడింది._ + +**[API3 DAO](https://www.api3.org/)** - _API3 DAO స్మార్ట్ కాంట్రాక్టుల కోసం వికేంద్రీకృత పరిష్కారంలో అధిక సోర్స్ పారదర్శకత, భద్రత మరియు స్కేలబిలిటీని అందించే ఫస్ట్-పార్టీ ఒరాకిల్ పరిష్కారాలను అందిస్తోంది_ + +**[సుప్రా](https://supra.com/)** - అన్ని బ్లాక్‌చెయిన్‌లను, పబ్లిక్ (L1లు మరియు L2లు) లేదా ప్రైవేట్ (ఎంటర్‌ప్రైజెస్) లను పరస్పరం అనుసంధానించే క్రాస్-చైన్ పరిష్కారాల యొక్క నిలువుగా ఇంటిగ్రేటెడ్ టూల్‌కిట్, ఆన్‌చెయిన్ మరియు ఆఫ్‌చెయిన్ వినియోగ-సందర్భాల కోసం ఉపయోగించగల వికేంద్రీకృత ఒరాకిల్ ధర ఫీడ్లను అందిస్తుంది. + +**[గ్యాస్ నెట్‌వర్క్](https://gas.network/)** - బ్లాక్‌చెయిన్ అంతటా నిజ-సమయ గ్యాస్ ధర డేటాను అందించే ఒక వికేంద్రీకృత ఒరాకిల్ ప్లాట్‌ఫారమ్. ప్రముఖ గ్యాస్ ధర డేటా ప్రొవైడర్ల నుండి డేటాను ఆన్‌చెయిన్‌కు తీసుకురావడం ద్వారా, గ్యాస్ నెట్‌వర్క్ అంతర్కార్యతను నడపడానికి సహాయపడుతుంది. గ్యాస్ నెట్‌వర్క్ ఇతీరియము మెయిన్‌నెట్ మరియు అనేక ప్రముఖ L2లతో సహా 35 కి పైగా చైన్‌ల కోసం డేటాకు మద్దతు ఇస్తుంది. + +## మరింత సమాచారం {#further-reading} + +**వ్యాసాలు** + +- [బ్లాక్‌చెయిన్ ఒరాకిల్ అంటే ఏమిటి?](https://chain.link/education/blockchain-oracles) — _చైన్‌లింక్_ +- [బ్లాక్‌చెయిన్ ఒరాకిల్ అంటే ఏమిటి?](https://medium.com/better-programming/what-is-a-blockchain-oracle-f5ccab8dbd72) — _ప్యాట్రిక్ కాలిన్స్_ +- [వికేంద్రీకృత ఒరాకిల్స్: ఒక సమగ్ర అవలోకనం](https://medium.com/fabric-ventures/decentralised-oracles-a-comprehensive-overview-d3168b9a8841) — _జూలియన్ థెవెనార్డ్_ +- [ఇతీరియములో బ్లాక్‌చెయిన్ ఒరాకిల్‌ను అమలు చేయడం](https://medium.com/@pedrodc/implementing-a-blockchain-oracle-on-ethereum-cedc7e26b49e) – _పెడ్రో కోస్టా_ +- [స్మార్ట్ కాంట్రాక్టులు API కాల్స్ ఎందుకు చేయలేవు?](https://ethereum.stackexchange.com/questions/301/why-cant-contracts-make-api-calls) — _స్టాక్ ఎక్స్ఛేంజ్_ +- [కాబట్టి మీరు ప్రైస్ ఒరాకిల్‌ను ఉపయోగించాలనుకుంటున్నారు](https://samczsun.com/so-you-want-to-use-a-price-oracle/) — _samczsun_ + +**వీడియోలు** + +- [ఒరాకిల్స్ మరియు బ్లాక్‌చెయిన్ యుటిలిటీ యొక్క విస్తరణ](https://youtu.be/BVUZpWa8vpw) — _రియల్ విజన్ ఫైనాన్స్_ + +**ట్యుటోరియల్స్** + +- [సాలిడిటీలో ఇతీరియము యొక్క ప్రస్తుత ధరను ఎలా పొందాలో](https://blog.chain.link/fetch-current-crypto-price-data-solidity/) — _చైన్‌లింక్_ +- [ఒరాకిల్ డేటాను వినియోగించడం](https://docs.chroniclelabs.org/Developers/tutorials/Remix) — _క్రానికల్_ + +**ఉదాహరణ ప్రాజెక్టులు** + +- [సాలిడిటీలో ఇతీరియము కోసం పూర్తి చైన్‌లింక్ స్టార్టర్ ప్రాజెక్ట్](https://github.com/hackbg/chainlink-fullstack) — _HackBG_ diff --git a/public/content/translations/te/developers/docs/programming-languages/dart/index.md b/public/content/translations/te/developers/docs/programming-languages/dart/index.md new file mode 100644 index 00000000000..8163f062bfb --- /dev/null +++ b/public/content/translations/te/developers/docs/programming-languages/dart/index.md @@ -0,0 +1,30 @@ +--- +title: "డార్ట్ డెవలపర్‌ల కోసం Ethereum" +description: "డార్ట్ భాషను ఉపయోగించి Ethereum కోసం ఎలా అభివృద్ధి చేయాలో తెలుసుకోండి" +lang: te +incomplete: true +--- + +## స్మార్ట్ కాంట్రాక్టులు మరియు సాలిడిటీ భాషతో ప్రారంభించడం {#getting-started-with-smart-contracts-and-solidity} + +## ట్యుటోరియల్స్ {#tutorials} + +- [Flutter మరియు బ్లాక్‌చెయిన్ – హలో వరల్డ్ డాప్](https://www.geeksforgeeks.org/flutter-and-blockchain-hello-world-dapp/) ప్రారంభించడానికి అవసరమైన అన్ని దశల ద్వారా మిమ్మల్ని తీసుకువెళుతుంది: + 1. [Solidity](https://soliditylang.org/)లో స్మార్ట్ కాంట్రాక్ట్ రాయడం + 2. డార్ట్‌లో యూజర్ ఇంటర్‌ఫేస్‌ను రాయడం +- [ఫ్లటర్‌తో మొబైల్ డాప్‌ను రూపొందించడం](https://medium.com/dash-community/building-a-mobile-dapp-with-flutter-be945c80315a) చాలా చిన్నది, మీకు ఇప్పటికే ప్రాథమిక విషయాలు తెలిసి ఉంటే ఇది మంచిది కావచ్చు +- మీరు వీడియో చూస్తూ నేర్చుకోవడానికి ఇష్టపడితే, మీరు [మీ మొదటి బ్లాక్‌చెయిన్ ఫ్లట్టర్ యాప్‌ను రూపొందించండి](https://www.youtube.com/watch?v=3Eeh3pJ6PeA) చూడవచ్చు, ఇది దాదాపు గంట నిడివి ఉంటుంది +- మీరు అసహనంతో ఉంటే, మీరు [Ethereumలో ఫ్లటర్ మరియు డార్ట్‌తో బ్లాక్‌చెయిన్ వికేంద్రీకృత-యాప్‌ను రూపొందించడం](https://www.youtube.com/watch?v=jaMFEOCq_1s)ను ఇష్టపడవచ్చు, ఇది కేవలం ఇరవై నిమిషాలు మాత్రమే ఉంటుంది +- [WalletConnect ద్వారా Web3Modalతో ఫ్లట్టర్ అప్లికేషన్‌లో MetaMaskను ఏకీకృతం చేయడం](https://www.youtube.com/watch?v=v_M2buHCpc4) - WalletConnect ద్వారా [Web3Modal](https://pub.dev/packages/web3modal_flutter) లైబ్రరీతో మీ ఫ్లట్టర్ అప్లికేషన్‌లలో MetaMaskను ఏకీకృతం చేసే దశల ద్వారా ఈ చిన్న వీడియో మిమ్మల్ని తీసుకువెళుతుంది +- [Solidity & Flutter తో మొబైల్ బ్లాక్‌చెయిన్ డెవలపర్ బూట్‌క్యాంప్ కోర్సు](https://youtube.com/playlist?list=PL4V4Unlk5luhQ26ERO6hWEbcUwHDSSmVH) - ఫుల్ స్టాక్ మొబైల్ బ్లాక్‌చెయిన్ డెవలపర్ కోర్సు ప్లేలిస్ట్ + +## Ethereum క్లయింట్‌లతో పనిచేయడం {#working-with-ethereum-clients} + +క్రిప్టోకరెన్సీ మరియు బ్లాక్‌చెయిన్ టెక్నాలజీ యొక్క ప్రయోజనాలను ఉపయోగించుకునే వికేంద్రీకృత అప్లికేషన్‌లను (లేదా "డాప్స్") సృష్టించడానికి మీరు Ethereumను ఉపయోగించవచ్చు. +Ethereum కోసం [JSON-RPC API](/developers/docs/apis/json-rpc/)ని ఉపయోగించడానికి డార్ట్ కోసం ప్రస్తుతం కనీసం రెండు లైబ్రరీలు నిర్వహించబడుతున్నాయి. + +1. [pwa.ir నుండి Web3dart](https://pub.dev/packages/web3dart) +2. [darticulate.com నుండి Ethereum 5.0.0](https://pub.dev/packages/ethereum) + +నిర్దిష్ట Ethereum చిరునామాలను మార్చడానికి మిమ్మల్ని అనుమతించే అదనపు లైబ్రరీలు కూడా ఉన్నాయి, లేదా వివిధ క్రిప్టోకరెన్సీల ధరలను తిరిగి పొందడానికి మిమ్మల్ని అనుమతించేవి కూడా ఉన్నాయి. +[మీరు పూర్తి జాబితాను ఇక్కడ చూడవచ్చు](https://pub.dev/dart/packages?q=ethereum). diff --git a/public/content/translations/te/developers/docs/programming-languages/delphi/index.md b/public/content/translations/te/developers/docs/programming-languages/delphi/index.md new file mode 100644 index 00000000000..62ac47aa862 --- /dev/null +++ b/public/content/translations/te/developers/docs/programming-languages/delphi/index.md @@ -0,0 +1,56 @@ +--- +title: "డెల్ఫీ డెవలపర్‌ల కోసం ఇతీరియము" +description: "డెల్ఫీ ప్రోగ్రామింగ్ భాషను ఉపయోగించి ఇతీరియము కోసం ఎలా డెవలప్ చేయాలో తెలుసుకోండి" +lang: te +incomplete: true +--- + + + +డెల్ఫీ ప్రోగ్రామింగ్ భాషను ఉపయోగించి ఇతీరియము కోసం ఎలా డెవలప్ చేయాలో తెలుసుకోండి + + + +క్రిప్ట్టో కరెన్సీ మరియు బ్లాక్చైన్ టెక్నాలజీని వాడే వికేంద్రీకృత అప్లికేషన్స్ ( లేదా "డేప్స్") కి ఈతేరియంని ఉపయోగించండి. ఈ డ్డాప్స్ అప్లికేషన్స్ విశ్వసనీయమైనవి, దాని అర్థం వాటిని ఒకసారి ఏతీరియంకి డెప్లోయ్ చేసాక ఎప్పటికి ప్రోగ్రాం చేసిన విధంగానే పని చేస్తాయి. కొత్త తరహా ఫైనాన్సియల్ అప్లికేషన్స్ ని రూపొందించడానికి ఈ డ్డాప్స్ డిజిటల్ ఆస్తులను నియత్రించగలవు. ఇవి వికేంద్రీకృతమైనవి, దాని అర్థం వీటిని ఏ ఒక్క తత్వమో లేదా మనిషి నియత్రించలేవు మరియు సెన్సార్ చేయడం అసాధ్యం. + +డెల్ఫీ ప్రోగ్రామింగ్ భాషను ఉపయోగించి ఇతీరియము పైన వికేంద్రీకృత అప్లికేషన్లను నిర్మించండి మరియు స్మార్ట్ కాంట్రాక్ట్‌లతో ఇంటరాక్ట్ అవ్వండి! + +## స్మార్ట్ కాంట్రాక్టులు మరియు సాలిడిటీ భాషతో ప్రారంభించడం {#getting-started-with-smart-contracts-and-the-solidity-language} + +**డెల్ఫీని ఇతీరియముతో ఇంటిగ్రేట్ చేయడానికి మీ మొదటి అడుగులు వేయండి** + +ఇంకా స్పష్టమైన వివరాలు కావాలి? [ethereum.org/learn](/learn/) లేదా [ethereum.org/developers](/developers/)ని చూడండి. + +- [బ్లాక్ చైను వివరణ](https://kauri.io/article/d55684513211466da7f8cc03987607d5/blockchain-explained) +- [స్మార్ట్ కాంట్రాక్టులను అర్థం చేసుకోవడం](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract) +- [మీ మొదటి స్మార్ట్ కాంట్రాక్టును వ్రాయండి](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract) +- [సాలిడిటీని కంపైల్ చేయడం మరియు డిప్లాయ్ చేయడం ఎలాగో తెలుసుకోండి](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment) + +## ప్రారంభకుల కోసం రిఫరెన్సులు మరియు లింకులు {#beginner-references-and-links} + +**డెల్ఫీరియమ్ లైబ్రరీని పరిచయం చేస్తున్నాము** + +- [డెల్ఫీరియమ్ అంటే ఏమిటి?](https://github.com/svanas/delphereum/blob/master/README.md) +- [డెల్ఫీని ఒక స్థానిక (ఇన్-మెమరీ) బ్లాక్‌చైన్‌కు కనెక్ట్ చేయడం](https://medium.com/@svanas/connecting-delphi-to-a-local-in-memory-blockchain-9a1512d6c5b0) +- [డెల్ఫీని ఇతీరియము మెయిన్‌నెట్‌కు కనెక్ట్ చేయడం](https://medium.com/@svanas/connecting-delphi-to-the-ethereum-main-net-5faf1feffd83) +- [డెల్ఫీని స్మార్ట్ కాంట్రాక్ట్‌లకు కనెక్ట్ చేయడం](https://medium.com/@svanas/connecting-delphi-to-smart-contracts-3146b12803a1) + +**ప్రస్తుతానికి సెటప్‌ను దాటవేసి, నేరుగా నమూనాలకు వెళ్లాలనుకుంటున్నారా?** + +- [ఒక 3 నిమిషాల స్మార్ట్ కాంట్రాక్ట్ మరియు డెల్ఫీ - భాగం 1](https://medium.com/@svanas/a-3-minute-smart-contract-and-delphi-61d998571d) +- [ఒక 3 నిమిషాల స్మార్ట్ కాంట్రాక్ట్ మరియు డెల్ఫీ - భాగం 2](https://medium.com/@svanas/a-3-minute-smart-contract-and-delphi-part-2-446925faa47b) + +## మధ్యస్థ వ్యాసాలు {#intermediate-articles} + +- [డెల్ఫీలో ఇతీరియము-సంతకం చేసిన సందేశ సంతకాన్ని జనరేట్ చేయడం](https://medium.com/@svanas/generating-an-ethereum-signed-message-signature-in-delphi-75661ce5031b) +- [డెల్ఫీతో ఈథర్‌ను బదిలీ చేయడం](https://medium.com/@svanas/transferring-ether-with-delphi-b5f24b1a98a4) +- [డెల్ఫీతో ERC-20 టోకెన్‌లను బదిలీ చేయడం](https://medium.com/@svanas/transferring-erc-20-tokens-with-delphi-bb44c05b295d) + +## అధునాతన వినియోగ నమూనాలు {#advanced-use-patterns} + +- [డెల్ఫీ మరియు ఇతీరియము నేమ్ సర్వీస్ (ENS)](https://medium.com/@svanas/delphi-and-ethereum-name-service-ens-4443cd278af7) +- [క్విక్‌నోడ్, ఇతీరియము మరియు డెల్ఫీ](https://medium.com/@svanas/quiknode-ethereum-and-delphi-f7bfc9671c23) +- [డెల్ఫీ మరియు ఇతీరియము డార్క్ ఫారెస్ట్](https://svanas.medium.com/delphi-and-the-ethereum-dark-forest-5b430da3ad93) +- [డెల్ఫీలో ఒక టోకెన్‌ను మరొకదానికి మార్పిడి చేయడం](https://svanas.medium.com/swap-one-token-for-another-in-delphi-bcb999c47f7) + +ఇంకొన్ని వనరులు (రిసోర్సెస్) కావాలా? [ethereum.org/developers](/developers/)ని చూడండి. diff --git a/public/content/translations/te/developers/docs/programming-languages/dot-net/index.md b/public/content/translations/te/developers/docs/programming-languages/dot-net/index.md new file mode 100644 index 00000000000..987ab754bb3 --- /dev/null +++ b/public/content/translations/te/developers/docs/programming-languages/dot-net/index.md @@ -0,0 +1,86 @@ +--- +title: ".NET డెవలపర్‌ల కోసం ఇతీరియము" +description: ".NET-ఆధారిత ప్రాజెక్ట్‌లు మరియు టూలింగ్ ఉపయోగించి ఇతీరియము కోసం ఎలా అభివృద్ధి చేయాలో తెలుసుకోండి" +lang: te +incomplete: true +--- + +.NET-ఆధారిత ప్రాజెక్ట్‌లు మరియు టూలింగ్ ఉపయోగించి ఇతీరియము కోసం ఎలా అభివృద్ధి చేయాలో తెలుసుకోండి + +క్రిప్ట్టో కరెన్సీ మరియు బ్లాక్చైన్ టెక్నాలజీని వాడే వికేంద్రీకృత అప్లికేషన్స్ ( లేదా "డేప్స్") కి ఈతేరియంని ఉపయోగించండి. ఈ డ్డాప్స్ అప్లికేషన్స్ విశ్వసనీయమైనవి, దాని అర్థం వాటిని ఒకసారి ఏతీరియంకి డెప్లోయ్ చేసాక ఎప్పటికి ప్రోగ్రాం చేసిన విధంగానే పని చేస్తాయి. కొత్త తరహా ఫైనాన్సియల్ అప్లికేషన్స్ ని రూపొందించడానికి ఈ డ్డాప్స్ డిజిటల్ ఆస్తులను నియత్రించగలవు. ఇవి వికేంద్రీకృతమైనవి, దాని అర్థం వీటిని ఏ ఒక్క తత్వమో లేదా మనిషి నియత్రించలేవు మరియు సెన్సార్ చేయడం అసాధ్యం. + +మైక్రోసాఫ్ట్ టెక్నాలజీ స్టాక్ నుండి టూల్స్ మరియు భాషలను ఉపయోగించి ఇతీరియము పైన వికేంద్రీకృత అప్లికేషన్‌లను రూపొందించండి మరియు స్మార్ట్ కాంట్రాక్టులతో ఇంటరాక్ట్ అవ్వండి - C#, # విజువల్ బేసిక్ .NET, F#, VSCode మరియు విజువల్ స్టూడియో వంటి టూలింగ్‌పై, .NET ఫ్రేమ్‌వర్క్/.NET కోర్/.NET స్టాండర్డ్ అంతటా మద్దతు ఇస్తుంది. నిమిషాల్లో మైక్రోసాఫ్ట్ అజూర్ బ్లాక్‌చైన్‌ను ఉపయోగించి అజూర్‌పై ఒక ఇతీరియము బ్లాక్‌చైన్‌ను డిప్లాయ్ చేయండి. .NET ప్రేమను ఇతీరియముకు తీసుకురండి! + +## స్మార్ట్ కాంట్రాక్టులు మరియు సాలిడిటీ భాషతో ప్రారంభించడం {#getting-started-with-smart-contracts-and-the-solidity-language} + +**ఇతీరియముతో .NET ను ఇంటిగ్రేట్ చేయడానికి మీ మొదటి అడుగులు వేయండి** + +ఇంకా స్పష్టమైన వివరాలు కావాలి? [ethereum.org/learn](/learn/) లేదా [ethereum.org/developers](/developers/)ని చూడండి. + +- [బ్లాక్ చైను వివరణ](https://kauri.io/article/d55684513211466da7f8cc03987607d5/blockchain-explained) +- [స్మార్ట్ కాంట్రాక్టులను అర్థం చేసుకోవడం](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract) +- [మీ మొదటి స్మార్ట్ కాంట్రాక్టును వ్రాయండి](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract) +- [సాలిడిటీని కంపైల్ చేయడం మరియు డిప్లాయ్ చేయడం ఎలాగో తెలుసుకోండి](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment) + +## ప్రారంభకుల కోసం రిఫరెన్సులు మరియు లింకులు {#beginner-references-and-links} + +**Nethereum లైబ్రరీ మరియు VS కోడ్ సాలిడిటీని పరిచయం చేస్తున్నాము** + +- [Nethereum, ప్రారంభించడం](https://docs.nethereum.com/en/latest/getting-started/) +- [VS కోడ్ సాలిడిటీని ఇన్‌స్టాల్ చేయడం](https://marketplace.visualstudio.com/items?itemName=JuanBlanco.solidity) +- [ఇతీరియము స్మార్ట్ కాంట్రాక్టులను సృష్టించడం మరియు కాల్ చేయడం కోసం ఒక .NET డెవలపర్ వర్క్‌ఫ్లో](https://medium.com/coinmonks/a-net-developers-workflow-for-creating-and-calling-ethereum-smart-contracts-44714f191db2) +- [Nethereumతో స్మార్ట్ కాంట్రాక్టుల ఇంటిగ్రేషన్](https://kauri.io/#collections/Getting%20Started/smart-contracts-integration-with-nethereum/#smart-contracts-integration-with-nethereumm) +- [Nethereumతో .NET మరియు ఇతీరియము బ్లాక్‌చైన్ స్మార్ట్ కాంట్రాక్టులను ఇంటర్‌ఫేస్ చేయడం](https://medium.com/my-blockchain-development-daily-journey/interfacing-net-and-ethereum-blockchain-smart-contracts-with-nethereum-2fa3729ac933), [中文版](https://medium.com/my-blockchain-development-daily-journey/%E4%BD%BF%E7%94%A8nethereum%E9%80%A3%E6%8E%A5-net%E5%92%8C%E4%BB%A5%E5%A4%AA%E7%B6%B2%E5%8D%80%E5%A1%8A%E9%8F%88%E6%99%BA%E8%83%BD%E5%90%88%E7%B4%84-4a96d35ad1e1)లో కూడా +- [Nethereum - బ్లాక్‌చైన్ కోసం ఒక ఓపెన్ సోర్స్ .NET ఇంటిగ్రేషన్ లైబ్రరీ](https://kauri.io/#collections/a%20hackathon%20survival%20guide/nethereum-an-open-source-.net-integration-library/) +- [Nethereum ఉపయోగించి SQL డేటాబేస్‌కు ఇతీరియము లావాదేవీలను రాయడం](https://medium.com/coinmonks/writing-ethereum-transactions-to-sql-database-using-nethereum-fd94e0e4fa36) +- [C# మరియు విజువల్‌స్టూడియో ఉపయోగించి ఇతీరియము స్మార్ట్ కాంట్రాక్టులను సులభంగా ఎలా డిప్లాయ్ చేయాలో చూడండి](https://koukia.ca/deploy-ethereum-smart-contracts-using-c-and-visualstudio-5be188ae928c) + +**ప్రస్తుతానికి సెటప్‌ను దాటవేసి, నేరుగా నమూనాలకు వెళ్లాలనుకుంటున్నారా?** + +- [Playground](http://playground.nethereum.com/) - బ్రౌజర్ ద్వారా ఇతీరియముతో ఇంటరాక్ట్ అవ్వండి మరియు Nethereum ఎలా ఉపయోగించాలో తెలుసుకోండి. + - ఖాతా నిల్వను క్వెరీ చేయండి [C#](http://playground.nethereum.com/csharp/id/1001) [VB.NET](http://playground.nethereum.com/vb/id/2001) + - ERC20 స్మార్ట్ కాంట్రాక్ట్ నిల్వను క్వెరీ చేయండి [C#](http://playground.nethereum.com/csharp/id/1005) [VB.NET](http://playground.nethereum.com/vb/id/2004) + - ఒక ఖాతాకు ఈథర్‌ను బదిలీ చేయండి [C#](http://playground.nethereum.com/csharp/id/1003) [VB.NET](http://playground.nethereum.com/vb/id/2003) + - ... మరిన్ని! + +## మధ్యస్థ వ్యాసాలు {#intermediate-articles} + +- [Nethereum వర్క్‌బుక్/నమూనా జాబితా](http://docs.nethereum.com/en/latest/Nethereum.Workbooks/docs/) +- [మీ స్వంత డెవలప్‌మెంట్ టెస్ట్‌చైన్‌లను డిప్లాయ్ చేయండి](https://github.com/Nethereum/Testchains) +- [సాలిడిటీ కోసం VSCode కోడ్‌జెన్ ప్లగిన్](https://docs.nethereum.com/en/latest/nethereum-codegen-vscodesolidity/) +- [యూనిటీ మరియు ఇతీరియము: ఎందుకు మరియు ఎలా](https://www.raywenderlich.com/5509-unity-and-ethereum-why-and-how) +- [ఇతీరియము డాప్స్ కోసం ASP.NET కోర్ వెబ్ APIని సృష్టించండి](https://tech-mint.com/blockchain/create-asp-net-core-web-api-for-ethereum-dapps/) +- [సప్లై చైన్ ట్రాకింగ్ సిస్టమ్‌ను అమలు చేయడానికి Nethereum Web3ని ఉపయోగించడం](http://blog.pomiager.com/post/using-nethereum-web3-to-implement-a-supply-chain-traking-system4) +- [Nethereum బ్లాక్ ప్రాసెసింగ్](https://nethereum.readthedocs.io/en/latest/nethereum-block-processing-detail/), [C# ప్లేగ్రౌండ్ నమూనా](http://playground.nethereum.com/csharp/id/1025)తో +- [Nethereum వెబ్‌సాకెట్ స్ట్రీమింగ్](https://nethereum.readthedocs.io/en/latest/nethereum-subscriptions-streaming/) +- [Kaleido మరియు Nethereum](https://kaleido.io/kaleido-and-nethereum/) +- [Quorum మరియు Nethereum](https://github.com/Nethereum/Nethereum/blob/master/src/Nethereum.Quorum/README.md) + +## అధునాతన వినియోగ నమూనాలు {#advanced-use-patterns} + +- [Azure Key Vault మరియు Nethereum](https://github.com/Azure-Samples/bc-community-samples/tree/master/akv-nethereum) +- [Nethereum.DappHybrid](https://github.com/Nethereum/Nethereum.DappHybrid) +- [Ujo Nethereum బ్యాకెండ్ రిఫరెన్స్ ఆర్కిటెక్చర్](https://docs.nethereum.com/en/latest/nethereum-ujo-backend-sample/) + +## .NET ప్రాజెక్ట్‌లు, టూల్స్ మరియు ఇతర సరదా విషయాలు {#dot-net-projects-tools-and-other-fun-stuff} + +- [Nethereum Playground](http://playground.nethereum.com/) - _బ్రౌజర్‌లో Nethereum కోడ్ స్నిప్పెట్‌లను కంపైల్ చేయండి, సృష్టించండి మరియు రన్ చేయండి_ +- [Nethereum Codegen Blazor](https://github.com/Nethereum/Nethereum.CodeGen.Blazor) - _Blazorలో UIతో Nethereum కోడ్‌జెన్_ +- [Nethereum Blazor](https://github.com/Nethereum/NethereumBlazor) - _ఒక .NET Wasm SPA లైట్ బ్లాక్‌చైన్ ఎక్స్‌ప్లోరర్ మరియు సాధారణ వాలెట్_ +- [Wonka బిజినెస్ రూల్స్ ఇంజిన్](https://docs.nethereum.com/en/latest/wonka/) - _ఒక బిజినెస్ రూల్స్ ఇంజిన్ (.NET ప్లాట్‌ఫారమ్ మరియు ఇతీరియము ప్లాట్‌ఫారమ్ రెండింటికీ) ఇది అంతర్లీనంగా మెటాడేటా-ఆధారితమైనది_ +- [Nethermind](https://github.com/NethermindEth/nethermind) - _Linux, Windows, MacOS కోసం ఒక .NET కోర్ ఇతీరియము క్లయింట్_ +- [eth-utils](https://github.com/ethereum/eth-utils/) - _ఇతీరియము సంబంధిత కోడ్‌బేస్‌లతో పనిచేయడానికి యుటిలిటీ ఫంక్షన్‌లు_ +- [TestChains](https://github.com/Nethereum/TestChains) - _వేగవంతమైన స్పందన కోసం ముందుగా కాన్ఫిగర్ చేయబడిన .NET డెవ్‌చైన్‌లు (PoA)_ + +ఇంకొన్ని వనరులు (రిసోర్సెస్) కావాలా? [ethereum.org/developers](/developers/)ని చూడండి. + +## .NET కమ్యూనిటీ కంట్రిబ్యూటర్లు {#dot-net-community-contributors} + +Nethereumలో, మేము ఎక్కువగా [Gitter](https://gitter.im/Nethereum/Nethereum)లో సమయం గడుపుతాము, ఇక్కడ ప్రతిఒక్కరూ ప్రశ్నలు అడగడానికి/సమాధానం ఇవ్వడానికి, సహాయం పొందడానికి లేదా కేవలం సేద తీరడానికి స్వాగతం. [Nethereum GitHub రిపోజిటరీ](https://github.com/Nethereum)లో ఒక PR చేయడానికి లేదా ఒక సమస్యను తెరవడానికి సంకోచించకండి, లేదా మా వద్ద ఉన్న అనేక సైడ్/నమూనా ప్రాజెక్ట్‌లను బ్రౌజ్ చేయండి. మీరు మమ్మల్ని [Discord](https://discord.gg/jQPrR58FxX)లో కూడా కనుగొనవచ్చు! + +మీరు Nethermindకు కొత్తవారై, ప్రారంభించడానికి సహాయం అవసరమైతే, మా [Discord](http://discord.gg/PaCMRFdvWT)లో చేరండి. మీ ప్రశ్నలకు సమాధానం ఇవ్వడానికి మా డెవలపర్లు అందుబాటులో ఉన్నారు. [Nethermind GitHub రిపోజిటరీ](https://github.com/NethermindEth/nethermind)లో ఒక PR తెరవడానికి లేదా ఏవైనా సమస్యలను లేవనెత్తడానికి సంకోచించకండి. + +## ఇతర సమగ్ర జాబితాలు {#other-aggregated-lists} + +[అధికారిక Nethereum సైట్](https://nethereum.com/) +[అధికారిక Nethermind సైట్](https://nethermind.io/) diff --git a/public/content/translations/te/developers/docs/programming-languages/elixir/index.md b/public/content/translations/te/developers/docs/programming-languages/elixir/index.md new file mode 100644 index 00000000000..f9cd3175158 --- /dev/null +++ b/public/content/translations/te/developers/docs/programming-languages/elixir/index.md @@ -0,0 +1,55 @@ +--- +title: "ఎలిక్సిర్ డెవలపర్‌ల కోసం ఇథిరియమ్" +description: "ఎలిక్సిర్ ఆధారిత ప్రాజెక్ట్‌లు మరియు టూలింగ్‌ను ఉపయోగించి ఇథిరియమ్ కోసం ఎలా అభివృద్ధి చేయాలో తెలుసుకోండి." +lang: te +incomplete: false +--- + +ఎలిక్సిర్ ఆధారిత ప్రాజెక్ట్‌లు మరియు టూలింగ్‌ను ఉపయోగించి ఇథిరియమ్ కోసం ఎలా అభివృద్ధి చేయాలో తెలుసుకోండి. + +క్రిప్ట్టో కరెన్సీ మరియు బ్లాక్చైన్ టెక్నాలజీని వాడే వికేంద్రీకృత అప్లికేషన్స్ ( లేదా "డేప్స్") కి ఈతేరియంని ఉపయోగించండి. ఈ డాప్స్ నమ్మకం అవసరం లేనివిగా ఉంటాయి, అంటే వాటిని ఒకసారి ఇథిరియమ్‌లో డిప్లాయ్ చేసిన తర్వాత, అవి ఎల్లప్పుడూ ప్రోగ్రామ్ చేసిన విధంగానే అమలు అవుతాయి. కొత్త రకాల ఆర్థిక అప్లికేషన్‌లను రూపొందించడానికి అవి డిజిటల్ ఆస్తులను నియంత్రించగలవు. ఇవి వికేంద్రీకృతమైనవి, దాని అర్థం వీటిని ఏ ఒక్క తత్వమో లేదా మనిషి నియత్రించలేవు మరియు సెన్సార్ చేయడం అసాధ్యం. + +## స్మార్ట్ కాంట్రాక్టులు మరియు సాలిడిటీ భాషతో ప్రారంభించడం {#getting-started-with-smart-contracts-and-solidity} + +**ఇథిరియమ్‌తో ఎలిక్సిర్‌ను అనుసంధానించడానికి మీ మొదటి అడుగులు వేయండి** + +ఇంకా స్పష్టమైన వివరాలు కావాలి? [ethereum.org/learn](/learn/) లేదా [ethereum.org/developers](/developers/)ని చూడండి. + +- [బ్లాక్ చైను వివరణ](https://kauri.io/article/d55684513211466da7f8cc03987607d5/blockchain-explained) +- [స్మార్ట్ కాంట్రాక్టులను అర్థం చేసుకోవడం](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract) +- [మీ మొదటి స్మార్ట్ కాంట్రాక్టును వ్రాయండి](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract) +- [సాలిడిటీని కంపైల్ చేయడం మరియు డిప్లాయ్ చేయడం ఎలాగో తెలుసుకోండి](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment) + +## ప్రారంభ వ్యాసాలు {#beginner-articles} + +- [చివరకు ఇథిరియమ్ ఖాతాలను అర్థం చేసుకోవడం](https://dev.to/q9/finally-understanding-ethereum-accounts-1kpe) +- [ఈథర్స్ — ఎలిక్సిర్ కోసం ఒక ఫస్ట్-క్లాస్ ఇథిరియమ్ Web3 లైబ్రరీ](https://medium.com/@alisinabh/announcing-ethers-a-first-class-ethereum-web3-library-for-elixir-1d64e9409122) + +## మధ్యస్థ వ్యాసాలు {#intermediate-articles} + +- [ఎలిక్సిర్‌తో రా ఇథిరియమ్ కాంట్రాక్ట్ లావాదేవీలపై సంతకం చేయడం ఎలా](https://kohlerjp.medium.com/how-to-sign-raw-ethereum-contract-transactions-with-elixir-f8822bcc813b) +- [ఇథిరియమ్ స్మార్ట్ కాంట్రాక్ట్‌లు మరియు ఎలిక్సిర్](https://medium.com/agile-alpha/ethereum-smart-contracts-and-elixir-c7c4b239ddb4) + +## ఎలిక్సిర్ ప్రాజెక్ట్‌లు మరియు టూల్స్ {#elixir-projects-and-tools} + +### యాక్టివ్ {#active} + +- [block_keys](https://github.com/ExWeb3/block_keys) - _ఎలిక్సిర్‌లో BIP32 & BIP44 ఇంప్లిమెంటేషన్ (నిర్ణయాత్మక వాలెట్ల కోసం బహుళ-ఖాతా క్రమానుగత శ్రేణి)_ +- [ethereumex](https://github.com/mana-ethereum/ethereumex) - _ఇథిరియమ్ బ్లాక్‌చెయిన్ కోసం ఎలిక్సిర్ JSON-RPC క్లయింట్_ +- [ethers](https://github.com/ExWeb3/elixir_ethers) - _ఎలిక్సిర్‌ను ఉపయోగించి ఇథిరియమ్‌లోని స్మార్ట్ కాంట్రాక్ట్‌లతో సంವಹించడానికి ఒక సమగ్ర Web3 లైబ్రరీ_ +- [ethers_kms](https://github.com/ExWeb3/elixir_ethers_kms) - _ఈథర్స్ కోసం ఒక KMS సైనర్ లైబ్రరీ (AWS KMSతో లావాదేవీలపై సంతకం చేయండి)_ +- [ex_abi](https://github.com/poanetwork/ex_abi) - _ఎలిక్సిర్‌లో ఇథిరియమ్ ABI పార్సర్/డీకోడర్/ఎన్‌కోడర్ ఇంప్లిమెంటేషన్_ +- [ex_keccak](https://github.com/ExWeb3/ex_keccak) - _ఒక NIF నిర్మించిన tiny-keccak రస్ట్ క్రేట్‌ను ఉపయోగించి Keccak SHA3-256 హాష్‌లను గణించడానికి ఎలిక్సిర్ లైబ్రరీ_ +- [ex_rlp](https://github.com/mana-ethereum/ex_rlp) - _ఇథిరియమ్ యొక్క RLP (రికర్శివ్ లెంగ్త్ ప్రిఫిక్స్) ఎన్‌కోడింగ్ యొక్క ఎలిక్సిర్ ఇంప్లిమెంటేషన్_ + +### ఆర్కైవ్ చేయబడింది / ఇకపై నిర్వహించబడదు {#archived--no-longer-maintained} + +- [eth](https://hex.pm/packages/eth) - _ఎలిక్సిర్ కోసం ఇథిరియమ్ యుటిలిటీలు_ +- [exw3](https://github.com/hswick/exw3) - _ఎలిక్సిర్ కోసం ఉన్నత స్థాయి ఇథిరియమ్ RPC క్లయింట్_ +- [mana](https://github.com/mana-ethereum/mana) - _ఎలిక్సిర్‌లో వ్రాయబడిన ఇథిరియమ్ ఫుల్ నోడ్ ఇంప్లిమెంటేషన్_ + +ఇంకొన్ని వనరులు (రిసోర్సెస్) కావాలా? [మా డెవలపర్‌ల హోమ్‌ని](/developers/) చూడండి. + +## ఎలిక్సిర్ కమ్యూనిటీ కంట్రిబ్యూటర్లు {#elixir-community-contributors} + +[ఎలిక్సిర్ యొక్క స్లాక్ #ఇథిరియమ్ ఛానెల్](https://elixir-lang.slack.com/archives/C5RPZ3RJL) వేగంగా అభివృద్ధి చెందుతున్న కమ్యూనిటీకి హోస్ట్‌గా ఉంది మరియు పైన పేర్కొన్న ఏవైనా ప్రాజెక్ట్‌లు మరియు సంబంధిత అంశాలపై చర్చల కోసం ప్రత్యేక వనరుగా ఉంది. diff --git a/public/content/translations/te/developers/docs/programming-languages/golang/index.md b/public/content/translations/te/developers/docs/programming-languages/golang/index.md new file mode 100644 index 00000000000..be9a2d3512a --- /dev/null +++ b/public/content/translations/te/developers/docs/programming-languages/golang/index.md @@ -0,0 +1,84 @@ +--- +title: "Go డెవలపర్‌ల కోసం Ethereum" +description: "Go-ఆధారిత ప్రాజెక్ట్‌లు మరియు టూలింగ్ ఉపయోగించి Ethereum కోసం ఎలా డెవలప్ చేయాలో తెలుసుకోండి" +lang: te +incomplete: true +--- + +Go-ఆధారిత ప్రాజెక్ట్‌లు మరియు టూలింగ్ ఉపయోగించి Ethereum కోసం ఎలా డెవలప్ చేయాలో తెలుసుకోండి + +వికేంద్రీకృత అప్లికేషన్లను (లేదా "డాప్స్") సృష్టించడానికి Ethereumను ఉపయోగించండి. ఈ డ్డాప్స్ అప్లికేషన్స్ విశ్వసనీయమైనవి, దాని అర్థం వాటిని ఒకసారి ఏతీరియంకి డెప్లోయ్ చేసాక ఎప్పటికి ప్రోగ్రాం చేసిన విధంగానే పని చేస్తాయి. అవి వికేంద్రీకృతమైనవి, అంటే అవి పీర్-టు-పీర్ నెట్‌వర్క్‌లో రన్ అవుతాయి మరియు వైఫల్యానికి ఒక్క పాయింట్ కూడా లేదు. ఏ ఒక్క సంస్థ లేదా వ్యక్తి వాటిని నియంత్రించరు మరియు వాటిని సెన్సార్ చేయడం దాదాపు అసాధ్యం. కొత్త రకాల అప్లికేషన్లను సృష్టించడానికి అవి డిజిటల్ ఆస్తులను నియంత్రించగలవు. + +## స్మార్ట్ కాంట్రాక్టులు మరియు సాలిడిటీ భాషతో ప్రారంభించడం {#getting-started-with-smart-contracts-and-solidity} + +**Goను Ethereumతో ఏకీకృతం చేయడానికి మీ మొదటి అడుగులు వేయండి** + +ఇంకా స్పష్టమైన వివరాలు కావాలి? [ethereum.org/learn](/learn/) లేదా [ethereum.org/developers](/developers/)ని చూడండి. + +- [బ్లాక్ చైను వివరణ](https://kauri.io/article/d55684513211466da7f8cc03987607d5/blockchain-explained) +- [స్మార్ట్ కాంట్రాక్టులను అర్థం చేసుకోవడం](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract) +- [మీ మొదటి స్మార్ట్ కాంట్రాక్టును వ్రాయండి](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract) +- [సాలిడిటీని కంపైల్ చేయడం మరియు డిప్లాయ్ చేయడం ఎలాగో తెలుసుకోండి](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment) +- [కాంట్రాక్ట్ ట్యుటోరియల్](https://github.com/ethereum/go-ethereum/wiki/Contract-Tutorial) + +## ప్రారంభకుల కోసం కథనాలు మరియు పుస్తకాలు {#beginner-articles-and-books} + +- [Gethతో ప్రారంభించడం](https://medium.com/@tzhenghao/getting-started-with-geth-c1a30b8d6458) +- [Ethereumకు కనెక్ట్ అవ్వడానికి Golang ఉపయోగించండి](https://www.youtube.com/watch?v=-7uChuO_VzM) +- [Golang ఉపయోగించి Ethereum స్మార్ట్ కాంట్రాక్టులను డిప్లాయ్ చేయండి](https://www.youtube.com/watch?v=pytGqQmDslE) +- [Goలో Ethereum స్మార్ట్ కాంట్రాక్టులను టెస్టింగ్ మరియు డిప్లాయ్ చేయడానికి ఒక దశలవారీ గైడ్](https://hackernoon.com/a-step-by-step-guide-to-testing-and-deploying-ethereum-smart-contracts-in-go-9fc34b178d78) +- [ఇ-పుస్తకం: Goతో Ethereum డెవలప్‌మెంట్](https://goethereumbook.org/) - _Goతో Ethereum అప్లికేషన్లను డెవలప్ చేయండి_ + +## మధ్యంతర కథనాలు మరియు డాక్స్ {#intermediate-articles-and-docs} + +- [Go Ethereum డాక్యుమెంటేషన్](https://geth.ethereum.org/docs/) - _అధికారిక Ethereum Golang కోసం డాక్యుమెంటేషన్_ +- [Erigon ప్రోగ్రామర్ గైడ్](https://github.com/ledgerwatch/erigon/blob/devel/docs/programmers_guide/guide.md) - _స్టేట్ ట్రీ, మల్టీ-ప్రూఫ్స్, మరియు ట్రాన్సాక్షన్ ప్రాసెసింగ్‌తో సహా ఇలస్ట్రేటెడ్ గైడ్_ +- [Erigon మరియు స్టేట్‌లెస్ Ethereum](https://youtu.be/3-Mn7OckSus?t=394) - _2020 Ethereum కమ్యూనిటీ కాన్ఫరెన్స్ (EthCC 3)_ +- [Erigon: Ethereum క్లయింట్‌లను ఆప్టిమైజ్ చేయడం](https://www.youtube.com/watch?v=CSpc1vZQW2Q) - _2018 డెవ్‌కాన్ 4_ +- [Go Ethereum GoDoc](https://godoc.org/github.com/ethereum/go-ethereum) +- [Gethతో Goలో ఒక డాప్‌ను సృష్టించడం](https://kauri.io/#collections/A%20Hackathon%20Survival%20Guide/creating-a-dapp-in-go-with-geth/) +- [Golang మరియు Gethతో Ethereum ప్రైవేట్ నెట్‌వర్క్‌తో పని చేయండి](https://myhsts.org/tutorial-learn-how-to-work-with-ethereum-private-network-with-golang-with-geth.php) +- [Goతో Ethereumపై Solidity కాంట్రాక్టుల యూనిట్ టెస్టింగ్](https://medium.com/coinmonks/unit-testing-solidity-contracts-on-ethereum-with-go-3cc924091281) +- [Gethను లైబ్రరీగా ఉపయోగించడం కోసం త్వరిత రిఫరెన్స్](https://medium.com/coinmonks/web3-go-part-1-31c68c68e20e) + +## అధునాతన వినియోగ నమూనాలు {#advanced-use-patterns} + +- [GETH సిమ్యులేటెడ్ బ్యాకెండ్](https://kauri.io/#collections/An%20ethereum%20test%20toolkit%20in%20Go/the-geth-simulated-backend/#_top) +- [Ethereum మరియు Quorum ఉపయోగించి బ్లాక్‌చెయిన్-యాజ్-ఎ-సర్వీస్ యాప్స్](https://blockchain.dcwebmakers.com/blockchain-as-a-service-apps-using-ethereum-and-quorum.html) +- [Ethereum బ్లాక్‌చెయిన్ అప్లికేషన్‌లలో డిస్ట్రిబ్యూటెడ్ స్టోరేజ్ IPFS మరియు Swarm](https://blockchain.dcwebmakers.com/work-with-distributed-storage-ipfs-and-swarm-in-ethereum.html) +- [మొబైల్ క్లయింట్లు: లైబ్రరీలు మరియు ఇన్‌ప్రాక్ Ethereum నోడ్స్](https://github.com/ethereum/go-ethereum/wiki/Mobile-Clients:-Libraries-and-Inproc-Ethereum-Nodes) +- [నేటివ్ డాప్స్: Ethereum కాంట్రాక్టులకు Go బైండింగ్స్](https://github.com/ethereum/go-ethereum/wiki/Native-DApps:-Go-bindings-to-Ethereum-contracts) + +## Go ప్రాజెక్ట్‌లు మరియు టూల్స్ {#go-projects-and-tools} + +- [Geth / Go Ethereum](https://github.com/ethereum/go-ethereum) - _Ethereum ప్రోటోకాల్ యొక్క అధికారిక Go ఇంప్లిమెంటేషన్_ +- [Go Ethereum కోడ్ ఎనాలసిస్](https://github.com/ZtesoftCS/go-ethereum-code-analysis) - _Go Ethereum సోర్స్ కోడ్ యొక్క సమీక్ష మరియు విశ్లేషణ_ +- [Erigon](https://github.com/ledgerwatch/erigon) - _ఆర్కైవ్ నోడ్స్‌పై దృష్టి సారించి, Go Ethereum యొక్క వేగవంతమైన డెరివేటివ్_ +- [Golem](https://github.com/golemfactory/golem) - _Golem కంప్యూటింగ్ పవర్ కోసం గ్లోబల్ మార్కెట్‌ను సృష్టిస్తోంది_ +- [Quorum](https://github.com/jpmorganchase/quorum) - _డేటా గోప్యతకు మద్దతు ఇచ్చే Ethereum యొక్క పర్మిషన్డ్ ఇంప్లిమెంటేషన్_ +- [Prysm](https://github.com/prysmaticlabs/prysm) - _Ethereum 'Serenity' 2.0 Go ఇంప్లిమెంటేషన్_ +- [Eth Tweet](https://github.com/yep/eth-tweet) - _వికేంద్రీకృత Twitter: Ethereum బ్లాక్‌చెయిన్‌పై నడుస్తున్న ఒక మైక్రోబ్లాగింగ్ సర్వీస్_ +- [Plasma MVP Golang](https://github.com/kyokan/plasma) — _మినిమమ్ వయబుల్ ప్లాస్మా స్పెసిఫికేషన్ యొక్క Golang ఇంప్లిమెంటేషన్ మరియు ఎక్స్‌టెన్షన్_ +- [ఓపెన్ Ethereum మైనింగ్ పూల్](https://github.com/sammy007/open-ethereum-pool) - _ఒక ఓపెన్ సోర్స్ Ethereum మైనింగ్ పూల్_ +- [Ethereum HD వాలెట్](https://github.com/miguelmota/go-ethereum-hdwallet) - _Goలో Ethereum HD వాలెట్ డెరివేషన్స్_ +- [Multi Geth](https://github.com/multi-geth/multi-geth) - _అనేక రకాల Ethereum నెట్‌వర్క్‌లకు మద్దతు_ +- [Geth లైట్ క్లయింట్](https://github.com/zsfelfoldi/go-ethereum/wiki/Geth-Light-Client) - _లైట్ Ethereum సబ్‌ప్రోటోకాల్ యొక్క Geth ఇంప్లిమెంటేషన్_ +- [Ethereum Golang SDK](https://github.com/everFinance/goether) - _Golangలో ఒక సాధారణ Ethereum వాలెట్ ఇంప్లిమెంటేషన్ మరియు యుటిలిటీస్_ +- [Covalent Golang SDK](https://github.com/covalenthq/covalent-api-sdk-go) - _200+ బ్లాక్‌చెయిన్‌ల కోసం Go SDK ద్వారా సమర్థవంతమైన బ్లాక్‌చెయిన్ డేటా యాక్సెస్_ + +ఇంకొన్ని వనరులు (రిసోర్సెస్) కావాలా? [ethereum.org/developers](/developers/)ని చూడండి + +## Go కమ్యూనిటీ కంట్రిబ్యూటర్లు {#go-community-contributors} + +- [Geth డిస్కార్డ్](https://discordapp.com/invite/nthXNEv) +- [Geth గిట్టర్](https://gitter.im/ethereum/go-ethereum) +- [Gophers స్లాక్](https://invite.slack.golangbridge.org/) - [#ethereum ఛానెల్](https://gophers.slack.com/messages/C9HP1S9V2) +- [స్టాక్ఎక్స్చేంజ్ - Ethereum](https://ethereum.stackexchange.com/) +- [Multi Geth గిట్టర్](https://gitter.im/ethoxy/multi-geth) +- [Ethereum గిట్టర్](https://gitter.im/ethereum/home) +- [Geth లైట్ క్లయింట్ గిట్టర్](https://gitter.im/ethereum/light-client) + +## ఇతర సమగ్ర జాబితాలు {#other-aggregated-lists} + +- [ఆసమ్ Ethereum](https://github.com/btomashvili/awesome-ethereum) +- [కాన్సెన్సిస్: Ethereum డెవలపర్ టూల్స్ యొక్క ఒక నిశ్చయాత్మక జాబితా](https://media.consensys.net/an-definitive-list-of-ethereum-developer-tools-2159ce865974) | [GitHub సోర్స్](https://github.com/ConsenSys/ethereum-developer-tools-list) diff --git a/public/content/translations/te/developers/docs/programming-languages/index.md b/public/content/translations/te/developers/docs/programming-languages/index.md new file mode 100644 index 00000000000..480fdcfd028 --- /dev/null +++ b/public/content/translations/te/developers/docs/programming-languages/index.md @@ -0,0 +1,33 @@ +--- +title: "ప్రోగ్రామింగ్ భాషలు" +description: "జావాస్క్రిప్ట్, పైథాన్, గో, రస్ట్ మరియు మరెన్నో సహా వివిధ ప్రోగ్రామింగ్ భాషల కోసం ఇతీరియము అభివృద్ధి వనరులను కనుగొనండి." +lang: te +--- + +ఇతీరియముపై నిర్మించడానికి డెవలపర్లు తప్పనిసరిగా [స్మార్ట్ కాంట్రాక్టులు](/developers/docs/smart-contracts/) వ్రాయాలి అనేది ఒక సాధారణ అపోహ. ఇది అవాస్తవం. +ఇతీరియము నెట్‌వర్క్ మరియు కమ్యూనిటీ యొక్క గొప్ప విషయాలలో ఒకటి ఏమిటంటే, మీరు దాదాపు ఏదైనా ప్రోగ్రామింగ్ భాషలో [పాల్గొనగలరు](/community/). + +ఇతీరియము మరియు దాని కమ్యూనిటీ ఓపెన్ సోర్స్‌ను స్వీకరిస్తాయి. మీరు అనేక రకాల భాషలలో కమ్యూనిటీ ప్రాజెక్ట్‌లను - క్లయింట్ ఇంప్లిమెంటేషన్‌లు, APIలు, డెవలప్‌మెంట్ ఫ్రేమ్‌వర్క్‌లు, టెస్టింగ్ ఉపకరణాలు - కనుగొనవచ్చు. + +## మీ భాషను ఎంచుకోండి {#data} + +ప్రాజెక్ట్‌లు, వనరులు మరియు వర్చువల్ కమ్యూనిటీలను కనుగొనడానికి మీకు నచ్చిన ప్రోగ్రామింగ్ భాషను ఎంచుకోండి: + +- [డార్ట్ డెవలపర్‌ల కోసం ఇతీరియము](/developers/docs/programming-languages/dart/) +- [డెల్ఫీ డెవలపర్‌ల కోసం ఇతీరియము](/developers/docs/programming-languages/delphi/) +- [.NET డెవలపర్‌ల కోసం ఇతీరియము](/developers/docs/programming-languages/dot-net/) +- [ఎలిక్సర్ డెవలపర్‌ల కోసం ఇతీరియము](/developers/docs/programming-languages/elixir/) +- [గో డెవలపర్‌ల కోసం ఇతీరియము](/developers/docs/programming-languages/golang/) +- [జావా డెవలపర్‌ల కోసం ఇతీరియము](/developers/docs/programming-languages/java/) +- [జావాస్క్రిప్ట్ డెవలపర్‌ల కోసం ఇతీరియము](/developers/docs/programming-languages/javascript/) +- [పైథాన్ డెవలపర్‌ల కోసం ఇతీరియము](/developers/docs/programming-languages/python/) +- [రూబీ డెవలపర్‌ల కోసం ఇతీరియము](/developers/docs/programming-languages/ruby/) +- [రస్ట్ డెవలపర్‌ల కోసం ఇతీరియము](/developers/docs/programming-languages/rust/) + +### నా భాషకు మద్దతు లేకపోతే ఏమి చేయాలి {#other-lang} + +మీరు వనరులకు లింక్ చేయాలనుకుంటే లేదా అదనపు ప్రోగ్రామింగ్ భాష కోసం వర్చువల్ కమ్యూనిటీని సూచించాలనుకుంటే, మీరు [ఒక ఇష్యూని తెరవడం](https://github.com/ethereum/ethereum-org-website/issues/new/choose) ద్వారా కొత్త పేజీని అభ్యర్థించవచ్చు. + +మీరు ప్రస్తుతం మద్దతు లేని భాషను ఉపయోగించి బ్లాక్‌చెయిన్‌తో ఇంటర్‌ఫేస్ చేయడానికి కోడ్ వ్రాయాలనుకుంటే +మీరు ఇతీరియము నెట్‌వర్క్‌కు కనెక్ట్ చేయడానికి [JSON-RPC ఇంటర్‌ఫేస్‌ను](/developers/docs/apis/json-rpc/) ఉపయోగించవచ్చు. TCP/IPని ఉపయోగించగల ఏదైనా ప్రోగ్రామింగ్ +భాష ఈ ఇంటర్‌ఫేస్‌ను ఉపయోగించగలదు. diff --git a/public/content/translations/te/developers/docs/programming-languages/java/index.md b/public/content/translations/te/developers/docs/programming-languages/java/index.md new file mode 100644 index 00000000000..43b62039a19 --- /dev/null +++ b/public/content/translations/te/developers/docs/programming-languages/java/index.md @@ -0,0 +1,64 @@ +--- +title: "జావా డెవలపర్‌ల కోసం Ethereum" +description: "జావాస్క్రిప్ట్ ప్రాజెక్ట్స్ మరియు టూల్స్ తో ఈతెరియంను ఎలా నిర్మించాలో నేర్చుకోండి" +lang: te +incomplete: true +--- + +జావా-ఆధారిత ప్రాజెక్ట్‌లు మరియు టూలింగ్‌ను ఉపయోగించి Ethereum కోసం ఎలా అభివృద్ధి చేయాలో తెలుసుకోండి + +క్రిప్ట్టో కరెన్సీ మరియు బ్లాక్చైన్ టెక్నాలజీని వాడే వికేంద్రీకృత అప్లికేషన్స్ ( లేదా "డేప్స్") కి ఈతేరియంని ఉపయోగించండి. ఈ డ్డాప్స్ అప్లికేషన్స్ విశ్వసనీయమైనవి, దాని అర్థం వాటిని ఒకసారి ఏతీరియంకి డెప్లోయ్ చేసాక ఎప్పటికి ప్రోగ్రాం చేసిన విధంగానే పని చేస్తాయి. కొత్త తరహా ఫైనాన్సియల్ అప్లికేషన్స్ ని రూపొందించడానికి ఈ డ్డాప్స్ డిజిటల్ ఆస్తులను నియత్రించగలవు. ఇవి వికేంద్రీకృతమైనవి, దాని అర్థం వీటిని ఏ ఒక్క తత్వమో లేదా మనిషి నియత్రించలేవు మరియు సెన్సార్ చేయడం అసాధ్యం. + +## స్మార్ట్ కాంట్రాక్టులు మరియు సాలిడిటీ భాషతో ప్రారంభించడం {#getting-started-with-smart-contracts-and-solidity} + +**Ethereumతో Javaను అనుసంధానించడానికి మీ మొదటి అడుగులు వేయండి** + +ఇంకా స్పష్టమైన వివరాలు కావాలి? [ethereum.org/learn](/learn/) లేదా [ethereum.org/developers.](/developers/)ని తనిఖీ చేయండి. + +- [బ్లాక్ చైను వివరణ](https://kauri.io/article/d55684513211466da7f8cc03987607d5/blockchain-explained) +- [స్మార్ట్ కాంట్రాక్టులను అర్థం చేసుకోవడం](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract) +- [మీ మొదటి స్మార్ట్ కాంట్రాక్టును వ్రాయండి](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract) +- [సాలిడిటీని కంపైల్ చేయడం మరియు డిప్లాయ్ చేయడం ఎలాగో తెలుసుకోండి](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment) + +## Ethereum క్లయింట్‌లతో పనిచేయడం {#working-with-ethereum-clients} + +రెండు ప్రముఖ జావా Ethereum క్లయింట్లు అయిన [Web3J](https://github.com/web3j/web3j) మరియు Hyperledger Besuను ఎలా ఉపయోగించాలో తెలుసుకోండి + +- [Java, Eclipse మరియు Web3Jతో Ethereum క్లయింట్‌కు కనెక్ట్ అవ్వడం](https://kauri.io/article/b9eb647c47a546bc95693acc0be72546/connecting-to-an-ethereum-client-with-java-eclipse-and-web3j) +- [Java మరియు Web3jతో Ethereum ఖాతాను నిర్వహించడం](https://kauri.io/article/925d923e12c543da9a0a3e617be963b4/manage-an-ethereum-account-with-java-and-web3j) +- [మీ స్మార్ట్ కాంట్రాక్ట్ నుండి జావా వ్రాపర్‌ను రూపొందించడం](https://kauri.io/article/84475132317d4d6a84a2c42eb9348e4b/generate-a-java-wrapper-from-your-smart-contract) +- [ఒక Ethereum స్మార్ట్ కాంట్రాక్ట్‌తో పరస్పర చర్య చేయడం](https://kauri.io/article/14dc434d11ef4ee18bf7d57f079e246e/interacting-with-an-ethereum-smart-contract-in-java) +- [Ethereum స్మార్ట్ కాంట్రాక్ట్ ఈవెంట్‌ల కోసం వినడం](https://kauri.io/article/760f495423db42f988d17b8c145b0874/listening-for-ethereum-smart-contract-events-in-java) +- [Linuxతో జావా Ethereum క్లయింట్ అయిన Besu (Pantheon)ను ఉపయోగించడం](https://kauri.io/article/276dd27f1458443295eea58403fd6965/using-pantheon-the-java-ethereum-client-with-linux) +- [జావా ఇంటిగ్రేషన్ పరీక్షలలో Hyperledger Besu (Pantheon) నోడ్‌ను నడపడం](https://kauri.io/article/7dc3ecc391e54f7b8cbf4e5fa0caf780/running-a-pantheon-node-in-java-integration-tests) +- [Web3j చీట్ షీట్](https://kauri.io/web3j-cheat-sheet-\(java-ethereum\)/5dfa1ea941ac3d0001ce1d90/c) + +EVM-ఆధారిత బ్లాక్‌చెయిన్‌లతో పరస్పర చర్య చేయడానికి [ethers-kt](https://github.com/Kr1ptal/ethers-kt) అనే అసింక్, అధిక-పనితీరు గల Kotlin లైబ్రరీని ఎలా ఉపయోగించాలో తెలుసుకోండి. JVM మరియు ఆండ్రాయిడ్ ప్లాట్‌ఫారమ్‌లను లక్ష్యంగా చేసుకోవడం. + +- [ERC20 టోకెన్‌లను బదిలీ చేయడం](https://github.com/Kr1ptal/ethers-kt/blob/master/examples/src/main/kotlin/io/ethers/examples/abi/TransferERC20.kt) +- [ఈవెంట్ లిజనింగ్‌తో UniswapV2 స్వాప్](https://github.com/Kr1ptal/ethers-kt/blob/master/examples/src/main/kotlin/io/ethers/examples/tokenswapwitheventlistening/TokenSwapWithEventListening.kt) +- [ETH / ERC20 బ్యాలెన్స్ ట్రాకర్](https://github.com/Kr1ptal/ethers-kt/blob/master/examples/src/main/kotlin/io/ethers/examples/balancetracker/BalanceTracker.kt) + +## మధ్యస్థ వ్యాసాలు {#intermediate-articles} + +- [IPFSతో జావా అప్లికేషన్‌లో నిల్వను నిర్వహించడం](https://kauri.io/article/3e8494f4f56f48c4bb77f1f925c6d926/managing-storage-in-a-java-application-with-ipfs) +- [Web3jతో జావాలో ERC20 టోకెన్‌లను నిర్వహించడం](https://kauri.io/article/d13e911bbf624108b1d5718175a5e0a0/manage-erc20-tokens-in-java-with-web3j) +- [Web3j లావాదేవీ నిర్వాహకులు](https://kauri.io/article/4cb780bb4d0846438d11885a25b6d7e7/web3j-transaction-managers) + +## అధునాతన వినియోగ నమూనాలు {#advanced-use-patterns} + +- [జావా స్మార్ట్ కాంట్రాక్ట్ డేటా కాష్‌ను నిర్మించడానికి Eventeumను ఉపయోగించడం](https://kauri.io/article/fe81ee9612eb4e5a9ab72790ef24283d/using-eventeum-to-build-a-java-smart-contract-data-cache) + +## జావా ప్రాజెక్ట్‌లు మరియు ఉపకరణాలు {#java-projects-and-tools} + +- [Web3J (Ethereum క్లయింట్‌లతో పరస్పర చర్య కోసం లైబ్రరీ)](https://github.com/web3j/web3j) +- [ethers-kt (EVM-ఆధారిత బ్లాక్‌చెయిన్‌ల కోసం అసింక్, అధిక-పనితీరు గల Kotlin/Java/Android లైబ్రరీ.)](https://github.com/Kr1ptal/ethers-kt) +- [Eventeum (ఈవెంట్ లిజనర్)](https://github.com/ConsenSys/eventeum) +- [Mahuta (IPFS దేవ్ ఉపకరణాలు)](https://github.com/ConsenSys/mahuta) + +ఇంకొన్ని వనరులు (రిసోర్సెస్) కావాలా? [ethereum.org/developers.](/developers/) చూడండి + +## జావా కమ్యూనిటీ సహాయకులు {#java-community-contributors} + +- [IO Builders](https://io.builders) +- [Kauri](https://kauri.io) diff --git a/public/content/translations/te/developers/docs/programming-languages/javascript/index.md b/public/content/translations/te/developers/docs/programming-languages/javascript/index.md new file mode 100644 index 00000000000..758b52c3342 --- /dev/null +++ b/public/content/translations/te/developers/docs/programming-languages/javascript/index.md @@ -0,0 +1,72 @@ +--- +title: "జావాస్క్రిప్ట్ డెవలపర్ల కోసం ఎథేరియం" +description: "జావాస్క్రిప్ట్-ఆధారిత ప్రాజెక్ట్‌లు మరియు టూలింగ్ ఉపయోగించి ఎథేరియం కోసం ఎలా డెవలప్ చేయాలో నేర్చుకోండి." +lang: te +--- + +ఎథేరియం ఎకోసిస్టమ్‌లో అత్యంత ప్రజాదరణ పొందిన భాషలలో జావాస్క్రిప్ట్ ఒకటి. నిజానికి, ఎథేరియంను వీలైనంత వరకు జావాస్క్రిప్ట్‌లోకి తీసుకురావడానికి అంకితమైన ఒక [టీమ్](https://github.com/ethereumjs) ఉంది. + +[స్టాక్ యొక్క అన్ని స్థాయిలలో](/developers/docs/ethereum-stack/) జావాస్క్రిప్ట్ (లేదా దానికి దగ్గరగా ఉన్నది) వ్రాయడానికి అవకాశాలు ఉన్నాయి. + +## ఎథేరియంతో ఇంటరాక్ట్ అవ్వండి {#interact-with-ethereum} + +### జావాస్క్రిప్ట్ API లైబ్రరీలు {#javascript-api-libraries} + +మీరు బ్లాక్‌చెయిన్‌ను క్వెరీ చేయడానికి, లావాదేవీలను పంపడానికి మరియు మరిన్నింటి కోసం జావాస్క్రిప్ట్ వ్రాయాలనుకుంటే, దీన్ని చేయడానికి అత్యంత అనుకూలమైన మార్గం [జావాస్క్రిప్ట్ API లైబ్రరీని](/developers/docs/apis/javascript/) ఉపయోగించడం. ఈ APIలు డెవలపర్‌లను [ఎథేరియం నెట్‌వర్క్‌లోని నోడ్‌లతో](/developers/docs/nodes-and-clients/) సులభంగా ఇంటరాక్ట్ అవ్వడానికి అనుమతిస్తాయి. + +ఎథేరియంపై స్మార్ట్ కాంట్రాక్టులతో ఇంటరాక్ట్ అవ్వడానికి మీరు ఈ లైబ్రరీలను ఉపయోగించవచ్చు, కాబట్టి ముందుగా ఉన్న కాంట్రాక్టులతో ఇంటరాక్ట్ అవ్వడానికి మీరు కేవలం జావాస్క్రిప్ట్‌ను ఉపయోగించే డాప్‌ను రూపొందించడం సాధ్యమవుతుంది. + +**తనిఖీ చేయండి** + +- [Web3.js](https://web3js.readthedocs.io) +- [Ethers.js](https://ethers.org) – _జావాస్క్రిప్ట్ మరియు టైప్‌స్క్రిప్ట్‌లో ఎథేరియం వాలెట్ అమలు మరియు యుటిలిటీలను కలిగి ఉంటుంది._ +- [viem](https://viem.sh) – _ఎథేరియం కోసం ఒక టైప్‌స్క్రిప్ట్ ఇంటర్‌ఫేస్, ఇది ఎథేరియంతో ఇంటరాక్ట్ అవ్వడానికి తక్కువ-స్థాయి స్టేట్‌లెస్ ప్రిమిటివ్‌లను అందిస్తుంది._ +- [Drift](https://ryangoree.github.io/drift/) – _web3 లైబ్రరీలలో అప్రయత్నంగా ఎథేరియం డెవలప్‌మెంట్ కోసం అంతర్నిర్మిత క్యాషింగ్, హుక్స్ మరియు టెస్ట్ మాక్‌లతో కూడిన టైప్‌స్క్రిప్ట్ మెటా-లైబ్రరీ._ + +### స్మార్ట్ కాంట్రాక్టులు {#smart-contracts} + +మీరు జావాస్క్రిప్ట్ డెవలపర్ అయి ఉండి, మీ స్వంత స్మార్ట్ కాంట్రాక్టును వ్రాయాలనుకుంటే, మీరు [Solidity](https://solidity.readthedocs.io) తో పరిచయం పెంచుకోవాలనుకోవచ్చు. ఇది అత్యంత ప్రజాదరణ పొందిన స్మార్ట్ కాంట్రాక్ట్ భాష మరియు ఇది సింటాక్టికల్‌గా జావాస్క్రిప్ట్‌ను పోలి ఉంటుంది, ఇది నేర్చుకోవడాన్ని సులభతరం చేస్తుంది. + +[స్మార్ట్ కాంట్రాక్టుల](/developers/docs/smart-contracts/) గురించి మరింత. + +## ప్రోటోకాల్‌ను అర్థం చేసుకోండి {#understand-the-protocol} + +### ఎథేరియం వర్చువల్ మషీన్ {#the-ethereum-virtual-machine} + +[ఎథేరియం వర్చువల్ మషీన్](/developers/docs/evm/) యొక్క జావాస్క్రిప్ట్ ఇంప్లిమెంటేషన్ ఉంది. ఇది తాజా ఫోర్క్ నియమాలకు మద్దతు ఇస్తుంది. ఫోర్క్ నియమాలు అంటే ప్రణాళికాబద్ధమైన అప్‌గ్రేడ్‌ల ఫలితంగా EVMకి చేసిన మార్పులను సూచిస్తాయి. + +ఇది వివిధ జావాస్క్రిప్ట్ ప్యాకేజీలుగా విభజించబడింది, వీటిని మీరు బాగా అర్థం చేసుకోవడానికి తనిఖీ చేయవచ్చు: + +- Accounts +- బ్లాక్ లు +- బ్లాక్‌చెయిన్ కూడా +- లావాదేవీలు +- ఇంకా మరిన్ని... + +ఇది "ఒక అకౌంట్ యొక్క డేటా స్ట్రక్చర్ ఏమిటి?" వంటి విషయాలను అర్థం చేసుకోవడంలో మీకు సహాయపడుతుంది. + +మీరు కోడ్ చదవడానికి ఇష్టపడితే, మా డాక్స్‌ను చదవడానికి ఈ జావాస్క్రిప్ట్ ఒక గొప్ప ప్రత్యామ్నాయం కావచ్చు. + +**EVMను తనిఖీ చేయండి** +[`@ethereumjs/evm`](https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/evm) + +### నోడ్లు మరియు క్లయింట్లు {#nodes-and-clients} + +ఒక Ethereumjs క్లయింట్ యాక్టివ్ డెవలప్‌మెంట్‌లో ఉంది, ఇది మీకు అర్థమయ్యే భాషలో ఎథేరియం క్లయింట్లు ఎలా పనిచేస్తాయో తెలుసుకోవడానికి మిమ్మల్ని అనుమతిస్తుంది; అదే జావాస్క్రిప్ట్! + +**క్లయింట్‌ను తనిఖీ చేయండి** +[`@ethereumjs/client`](https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/client) + +## ఇతర ప్రాజెక్ట్‌లు {#other-projects} + +ఎథేరియం జావాస్క్రిప్ట్ ప్రపంచంలో ఇంకా చాలా ఇతర విషయాలు జరుగుతున్నాయి, వాటిలో ఇవి ఉన్నాయి: + +- వాలెట్ యుటిలిటీల లైబ్రరీలు. +- ఎథేరియం కీలను జెనరేట్ చేయడానికి, ఇంపోర్ట్ చేయడానికి మరియు ఎక్స్‌పోర్ట్ చేయడానికి టూల్స్. +- `merkle-patricia-tree` యొక్క ఒక ఇంప్లిమెంటేషన్ – ఇది ఎథేరియం యెల్లో పేపర్‌లో వివరించబడిన ఒక డేటా స్ట్రక్చర్. + +[EthereumJS రెపో](https://github.com/ethereumjs)లో మీకు అత్యంత ఆసక్తి ఉన్న దాని గురించి తెలుసుకోండి + +## మరింత సమాచారం {#further-reading} + +_మీకు సహాయపడిన కమ్యూనిటీ వనరు గురించి తెలుసా? ఈ పేజీని సవరించి, దాన్ని జోడించండి!_ diff --git a/public/content/translations/te/developers/docs/programming-languages/python/index.md b/public/content/translations/te/developers/docs/programming-languages/python/index.md new file mode 100644 index 00000000000..58ba0de3a32 --- /dev/null +++ b/public/content/translations/te/developers/docs/programming-languages/python/index.md @@ -0,0 +1,99 @@ +--- +title: "వెబ్ డెవలపర్స్ కోసం ఇథిరియమ్" +description: "పైథాన్-ఆధారిత ప్రాజెక్ట్‌లు మరియు టూలింగ్‌ను ఉపయోగించి ఇతీరియము కోసం ఎలా అభివృద్ధి చేయాలో తెలుసుకోండి" +lang: te +incomplete: true +--- + +పైథాన్-ఆధారిత ప్రాజెక్ట్‌లు మరియు టూలింగ్‌ను ఉపయోగించి ఇతీరియము కోసం ఎలా అభివృద్ధి చేయాలో తెలుసుకోండి + +క్రిప్ట్టో కరెన్సీ మరియు బ్లాక్చైన్ టెక్నాలజీని వాడే వికేంద్రీకృత అప్లికేషన్స్ ( లేదా "డేప్స్") కి ఈతేరియంని ఉపయోగించండి. ఈ డ్డాప్స్ అప్లికేషన్స్ విశ్వసనీయమైనవి, దాని అర్థం వాటిని ఒకసారి ఏతీరియంకి డెప్లోయ్ చేసాక ఎప్పటికి ప్రోగ్రాం చేసిన విధంగానే పని చేస్తాయి. కొత్త తరహా ఫైనాన్సియల్ అప్లికేషన్స్ ని రూపొందించడానికి ఈ డ్డాప్స్ డిజిటల్ ఆస్తులను నియత్రించగలవు. ఇవి వికేంద్రీకృతమైనవి, దాని అర్థం వీటిని ఏ ఒక్క తత్వమో లేదా మనిషి నియత్రించలేవు మరియు సెన్సార్ చేయడం అసాధ్యం. + +## స్మార్ట్ కాంట్రాక్టులు మరియు సాలిడిటీ భాషతో ప్రారంభించడం {#getting-started-with-smart-contracts-and-solidity} + +**ఇతీరియముతో పైథాన్‌ను అనుసంధానించడంలో మొదటి అడుగులు వేయండి** + +ఇంకా స్పష్టమైన వివరాలు కావాలి? [ethereum.org/learn](/learn/) లేదా [ethereum.org/developers](/developers/)ని చూడండి. + +- [బ్లాక్ చైను వివరణ](https://kauri.io/article/d55684513211466da7f8cc03987607d5/blockchain-explained) +- [స్మార్ట్ కాంట్రాక్టులను అర్థం చేసుకోవడం](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract) +- [మీ మొదటి స్మార్ట్ కాంట్రాక్టును వ్రాయండి](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract) +- [సాలిడిటీని కంపైల్ చేయడం మరియు డిప్లాయ్ చేయడం ఎలాగో తెలుసుకోండి](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment) +- [బ్లాక్ చైనులో పైథాన్ స్థితి 2023 నివేదిక](https://tradingstrategy.ai/blog/the-state-of-python-in-blockchain-in-2023) + +## ప్రారంభ వ్యాసాలు {#beginner-articles} + +- [web3.py అవలోకనం](https://web3py.readthedocs.io/en/latest/overview.html) +- [ఇతీరియము పైథాన్ ఎకోసిస్టమ్ పర్యటన](https://snakecharmers.ethereum.org/python-ecosystem/) +- [ఇతీరియము కోసం ఒక (పైథాన్) డెవలపర్ గైడ్](https://snakecharmers.ethereum.org/a-developers-guide-to-ethereum-pt-1/) +- [బహుమతి-విలువైనది: ఒక ఇతీరియము పైథాన్ హ్యాకథాన్ గైడ్](https://snakecharmers.ethereum.org/prize-worthy/) +- [Vyperతో స్మార్ట్ కాంట్రాక్టులకు ఒక పరిచయం](https://kauri.io/#collections/Getting%20Started/an-introduction-to-smart-contracts-with-vyper/) +- [పైథాన్ ఫ్లాస్క్ ఉపయోగించి ఇతీరియము కాంట్రాక్టును ఎలా అభివృద్ధి చేయాలి?](https://medium.com/coinmonks/how-to-develop-ethereum-contract-using-python-flask-9758fe65976e) +- [Web3.pyకి పరిచయం · పైథాన్ డెవలపర్‌ల కోసం ఇతీరియము](https://www.dappuniversity.com/articles/web3-py-intro) +- [పైథాన్ మరియు web3.py ఉపయోగించి స్మార్ట్ కాంట్రాక్ట్ ఫంక్షన్‌ను ఎలా కాల్ చేయాలి](https://stackoverflow.com/questions/57580702/how-to-call-a-smart-contract-function-using-python-and-web3-py) + +## మధ్యస్థ వ్యాసాలు {#intermediate-articles} + +- [web3.py యొక్క మిత్రులు: Apeకి పరిచయం](https://snakecharmers.ethereum.org/intro-to-ape/) +- [పైథాన్ ప్రోగ్రామర్‌ల కోసం డాప్ అభివృద్ధి](https://levelup.gitconnected.com/dapps-development-for-python-developers-f52b32b54f28) +- [ఒక పైథాన్ ఇతీరియము ఇంటర్‌ఫేస్‌ను సృష్టించడం: భాగం 1](https://hackernoon.com/creating-a-python-ethereum-interface-part-1-4d2e47ea0f4d) +- [పైథాన్‌లో ఇతీరియము స్మార్ట్ కాంట్రాక్టులు: ఒక సమగ్ర(మైన) గైడ్](https://hackernoon.com/ethereum-smart-contracts-in-python-a-comprehensive-ish-guide-771b03990988) + +## అధునాతన వినియోగ నమూనాలు {#advanced-use-patterns} + +- [web3.py నమూనాలు: వాస్తవ-సమయ ఈవెంట్ సబ్‌స్క్రిప్షన్‌లు](https://snakecharmers.ethereum.org/subscriptions/) +- [web3.py నమూనాలు: WebSocketProvider](https://snakecharmers.ethereum.org/websocketprovider/) +- [పైథాన్ ఉపయోగించి ఇతీరియము స్మార్ట్‌కాంట్రాక్ట్‌ను కంపైల్ చేయడం, డిప్లాయ్ చేయడం మరియు కాల్ చేయడం](https://yohanes.gultom.id/2018/11/28/compiling-deploying-and-calling-ethereum-smartcontract-using-python/) +- [Slitherతో సాలిడిటీ స్మార్ట్ కాంట్రాక్టులను విశ్లేషించండి](https://kauri.io/#collections/DevOps/analyze-solidity-smart-contracts-with-slither/#analyze-solidity-smart-contracts-with-slither) +- [బ్లాక్ చైను ఫిన్‌టెక్ ట్యుటోరియల్: పైథాన్‌తో అప్పు ఇవ్వడం మరియు తీసుకోవడం](https://blog.chain.link/blockchain-fintech-defi-tutorial-lending-borrowing-python/) + +## ఆర్కైవ్ చేయబడిన వ్యాసాలు + +- [పైథాన్ మరియు బ్రౌనీతో మీ స్వంత ERC20 టోకెన్‌ను డిప్లాయ్ చేయండి](https://betterprogramming.pub/python-blockchain-token-deployment-tutorial-create-an-erc20-77a5fd2e1a58) +- [స్మార్ట్ కాంట్రాక్టులను డిప్లాయ్ చేయడానికి బ్రౌనీ మరియు పైథాన్‌ను ఉపయోగించడం](https://dev.to/patrickalphac/using-brownie-for-to-deploy-smart-contracts-1kkp) +- [బ్రౌనీతో OpenSeaలో NFTలను సృష్టించడం](https://www.freecodecamp.org/news/how-to-make-an-nft-and-render-on-opensea-marketplace/) + +## పైథాన్ ప్రాజెక్ట్‌లు మరియు టూల్స్ {#python-projects-and-tools} + +### క్రియాశీలం: {#active} + +- [Web3.py](https://github.com/ethereum/web3.py) - _ఇతీరియముతో పరస్పరం వ్యవహరించడానికి పైథాన్ లైబ్రరీ_ +- [Vyper](https://github.com/ethereum/vyper/) - _EVM కోసం పైథానిక్ స్మార్ట్ కాంట్రాక్ట్ భాష_ +- [Ape](https://github.com/ApeWorX/ape) - _పైథానిస్టాలు, డేటా సైంటిస్టులు మరియు సెక్యూరిటీ నిపుణుల కోసం స్మార్ట్ కాంట్రాక్ట్ అభివృద్ధి టూల్_ +- [py-evm](https://github.com/ethereum/py-evm) - _ఎథేరియం వర్చువల్ మషీన్ యొక్క అమలు_ +- [eth-tester](https://github.com/ethereum/eth-tester) - _ఇతీరియము-ఆధారిత అప్లికేషన్‌లను పరీక్షించడానికి టూల్స్_ +- [eth-utils](https://github.com/ethereum/eth-utils/) - _ఇతీరియము సంబంధిత కోడ్‌బేస్‌లతో పనిచేయడానికి యుటిలిటీ ఫంక్షన్‌లు_ +- [py-solc-x](https://pypi.org/project/py-solc-x/) - _0.5.x మద్దతుతో solc సాలిడిటీ కంపైలర్ చుట్టూ పైథాన్ వ్రాపర్_ +- [pymaker](https://github.com/makerdao/pymaker) - _మేకర్ కాంట్రాక్టుల కోసం పైథాన్ API_ +- [siwe](https://github.com/signinwithethereum/siwe-py) - _పైథాన్ కోసం ఇతీరియముతో సైన్ ఇన్ చేయండి (siwe)_ +- [ఇతీరియము ఇంటిగ్రేషన్‌ల కోసం Web3 DeFi](https://github.com/tradingstrategy-ai/web3-ethereum-defi) - _ERC-20, Uniswap మరియు ఇతర ప్రముఖ ప్రాజెక్ట్‌ల కోసం సిద్ధంగా ఉన్న ఇంటిగ్రేషన్‌లతో కూడిన పైథాన్ ప్యాకేజీ_ +- [Wake](https://getwake.io) - _కాంట్రాక్టుల టెస్టింగ్, ఫజ్జింగ్, డిప్లాయ్‌మెంట్, వల్నరబిలిటీ స్కానింగ్ మరియు కోడ్ నావిగేషన్ కోసం ఆల్-ఇన్-వన్ పైథాన్ ఫ్రేమ్‌వర్క్ (లాంగ్వేజ్ సర్వర్ - [సాలిడిటీ కోసం టూల్స్](https://marketplace.visualstudio.com/items?itemName=AckeeBlockchain.tools-for-solidity))_ + +### ఆర్కైవ్ చేయబడినవి / ఇకపై నిర్వహించబడనివి: {#archived--no-longer-maintained} + +- [Trinity](https://github.com/ethereum/trinity) - _ఇతీరియము పైథాన్ క్లయింట్_ +- [Mamba](https://github.com/arjunaskykok/mamba) - _Vyper భాషలో వ్రాసిన స్మార్ట్ కాంట్రాక్టులను వ్రాయడానికి, కంపైల్ చేయడానికి మరియు డిప్లాయ్ చేయడానికి ఫ్రేమ్‌వర్క్_ +- [Brownie](https://github.com/eth-brownie/brownie) - _ఇతీరియము స్మార్ట్ కాంట్రాక్టులను డిప్లాయ్ చేయడానికి, పరీక్షించడానికి మరియు వాటితో పరస్పరం వ్యవహరించడానికి పైథాన్ ఫ్రేమ్‌వర్క్_ +- [pydevp2p](https://github.com/ethereum/pydevp2p) - _ఇతీరియము P2P స్టాక్ యొక్క అమలు_ +- [py-wasm](https://github.com/ethereum/py-wasm) - _వెబ్ అసెంబ్లీ ఇంటర్‌ప్రెటర్ యొక్క పైథాన్ అమలు_ + +ఇంకొన్ని వనరులు (రిసోర్సెస్) కావాలా? [ethereum.org/developers](/developers/)ని చూడండి. + +## పైథాన్ టూలింగ్‌ను ఉపయోగించే ప్రాజెక్టులు {#projects-using-python-tooling} + +కింది ఇతీరియము-ఆధారిత ప్రాజెక్టులు ఈ పేజీలో పేర్కొన్న టూల్స్‌ను ఉపయోగిస్తాయి. సంబంధిత ఓపెన్-సోర్స్ రిపోజిటరీలు ఉదాహరణ కోడ్ మరియు ఉత్తమ పద్ధతుల కోసం మంచి రిఫరెన్స్‌గా పనిచేస్తాయి. + +- [Yearn Finance](https://yearn.finance/) మరియు [Yearn వాల్ట్ కాంట్రాక్ట్స్ రిపోజిటరీ](https://github.com/yearn/yearn-vaults) +- [Curve](https://www.curve.finance/) మరియు [Curve స్మార్ట్ కాంట్రాక్ట్స్ రిపోజిటరీ](https://github.com/curvefi/curve-contract) +- [BadgerDAO](https://badger.com/) మరియు [బ్రౌనీ టూల్‌చెయిన్‌ను ఉపయోగించే స్మార్ట్ కాంట్రాక్టులు](https://github.com/Badger-Finance/badger-system) +- [Sushi](https://sushi.com/) [వారి వెస్టింగ్ కాంట్రాక్టులను నిర్వహించడం మరియు డిప్లాయ్ చేయడంలో పైథాన్](https://github.com/sushiswap/sushi-vesting-protocols) ను ఉపయోగిస్తుంది. +- ఆల్ఫా హోమోరా కీర్తికి చెందిన [ఆల్ఫా ఫైనాన్స్](https://alphafinance.io/), [స్మార్ట్ కాంట్రాక్టులను పరీక్షించడానికి మరియు డిప్లాయ్ చేయడానికి బ్రౌనీని](https://github.com/AlphaFinanceLab/alpha-staking-contract) ఉపయోగిస్తుంది. + +## పైథాన్ కమ్యూనిటీ చర్చ {#python-community-contributors} + +- [ఇతీరియము పైథాన్ కమ్యూనిటీ డిస్కార్డ్](https://discord.gg/9zk7snTfWe) Web3.py మరియు ఇతర పైథాన్ ఫ్రేమ్‌వర్క్ చర్చ కోసం +- [Vyper డిస్కార్డ్](https://discord.gg/SdvKC79cJk) Vyper స్మార్ట్ కాంట్రాక్ట్ ప్రోగ్రామింగ్ చర్చ కోసం + +## ఇతర సమగ్ర జాబితాలు {#other-aggregated-lists} + +Vyper వికీలో [Vyper కోసం వనరుల యొక్క అద్భుతమైన జాబితా](https://github.com/vyperlang/vyper/wiki/Vyper-tools-and-resources) ఉంది \ No newline at end of file diff --git a/public/content/translations/te/developers/docs/programming-languages/ruby/index.md b/public/content/translations/te/developers/docs/programming-languages/ruby/index.md new file mode 100644 index 00000000000..d0263d5f43e --- /dev/null +++ b/public/content/translations/te/developers/docs/programming-languages/ruby/index.md @@ -0,0 +1,60 @@ +--- +title: "రూబీ డెవలపర్‌ల కోసం ఇతీరియము" +description: "రూబీ-ఆధారిత ప్రాజెక్ట్‌లు మరియు పనిముట్లను ఉపయోగించి ఇతీరియము కోసం ఎలా అభివృద్ధి చేయాలో తెలుసుకోండి." +lang: te +incomplete: false +--- + +రూబీ-ఆధారిత ప్రాజెక్ట్‌లు మరియు పనిముట్లను ఉపయోగించి ఇతీరియము కోసం ఎలా అభివృద్ధి చేయాలో తెలుసుకోండి. + +క్రిప్ట్టో కరెన్సీ మరియు బ్లాక్చైన్ టెక్నాలజీని వాడే వికేంద్రీకృత అప్లికేషన్స్ ( లేదా "డేప్స్") కి ఈతేరియంని ఉపయోగించండి. ఈ డాప్స్ నమ్మకం అవసరం లేనివిగా ఉంటాయి, అంటే వాటిని ఒకసారి ఇథిరియమ్‌లో డిప్లాయ్ చేసిన తర్వాత, అవి ఎల్లప్పుడూ ప్రోగ్రామ్ చేసిన విధంగానే అమలు అవుతాయి. కొత్త రకాల ఆర్థిక అప్లికేషన్‌లను రూపొందించడానికి అవి డిజిటల్ ఆస్తులను నియంత్రించగలవు. ఇవి వికేంద్రీకృతమైనవి, దాని అర్థం వీటిని ఏ ఒక్క తత్వమో లేదా మనిషి నియత్రించలేవు మరియు సెన్సార్ చేయడం అసాధ్యం. + +## స్మార్ట్ కాంట్రాక్టులు మరియు సాలిడిటీ భాషతో ప్రారంభించడం {#getting-started-with-smart-contracts-and-solidity} + +**రూబీని ఇతీరియముతో ఏకీకృతం చేయడానికి మీ మొదటి అడుగులు వేయండి** + +ఇంకా స్పష్టమైన వివరాలు కావాలి? [ethereum.org/learn](/learn/) లేదా [ethereum.org/developers](/developers/)ని చూడండి. + +- [బ్లాక్ చైను వివరణ](https://kauri.io/article/d55684513211466da7f8cc03987607d5/blockchain-explained) +- [స్మార్ట్ కాంట్రాక్టులను అర్థం చేసుకోవడం](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract) +- [మీ మొదటి స్మార్ట్ కాంట్రాక్టును వ్రాయండి](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract) +- [సాలిడిటీని కంపైల్ చేయడం మరియు డిప్లాయ్ చేయడం ఎలాగో తెలుసుకోండి](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment) + +## ప్రారంభ వ్యాసాలు {#beginner-articles} + +- [చివరకు ఇథిరియమ్ ఖాతాలను అర్థం చేసుకోవడం](https://dev.to/q9/finally-understanding-ethereum-accounts-1kpe) +- [చివరగా మెటామాస్క్‌తో రైల్స్ వినియోగదారులను ప్రామాణీకరించడం](https://dev.to/q9/finally-authenticating-rails-users-with-metamask-3fj) +- [రూబీని ఉపయోగించి ఇతీరియము నెట్‌వర్క్‌కు ఎలా కనెక్ట్ చేయాలి](https://www.quicknode.com/guides/web3-sdks/how-to-connect-to-the-ethereum-network-using-ruby) +- [రూబీలో కొత్త ఇతీరియము చిరునామాను ఎలా రూపొందించాలి](https://www.quicknode.com/guides/web3-sdks/how-to-generate-a-new-ethereum-address-in-ruby) + +## మధ్యస్థ వ్యాసాలు {#intermediate-articles} + +- [రూబీతో బ్లాక్‌చెయిన్ యాప్](https://www.nopio.com/blog/blockchain-app-ruby/) +- [స్మార్ట్ కాంట్రాక్ట్‌ను అమలు చేయడానికి ఇతీరియముకు కనెక్ట్ చేయబడిన రూబీని ఉపయోగించండి](https://titanwolf.org/Network/Articles/Article?AID=87285822-9b25-49d5-ba2a-7ad95fff7ef9) + +## రూబీ ప్రాజెక్ట్‌లు మరియు ఉపకరణాలు {#ruby-projects-and-tools} + +### యాక్టివ్ {#active} + +- [eth.rb](https://github.com/q9f/eth.rb) - _ఇతీరియము ఖాతాలు, సందేశాలు మరియు లావాదేవీలను నిర్వహించడానికి రూబీ లైబ్రరీ మరియు RPC-క్లయింట్_ +- [keccak.rb](https://github.com/q9f/keccak.rb) - _ఇతీరియము ద్వారా ఉపయోగించబడే కెకాక్ (SHA3) హాష్_ +- [siwe-ruby](https://github.com/signinwithethereum/siwe-ruby) - _Sign-In with Ethereum యొక్క రూబీ ఇంప్లిమెంటేషన్_ +- [siwe-rails](https://github.com/signinwithethereum/siwe-rails) - _SIWE లోకల్ సైన్ ఇన్ రూట్‌లను జోడించే రైల్స్ జెమ్_ +- [siwe-rails-examples](https://github.com/signinwithethereum/siwe-rails-examples) - _కస్టమ్ కంట్రోలర్‌తో రూబీ ఆన్ రైల్స్‌ను ఉపయోగించే SIWE ఉదాహరణ_ +- [omniauth-siwe](https://github.com/signinwithethereum/omniauth-siwe) - _Sign In With Ethereum (SIWE) కోసం ఓమ్నియాథ్ వ్యూహం_ +- [omniauth-nft](https://github.com/valthon/omniauth-nft) - _NFT యాజమాన్యం ద్వారా ప్రామాణీకరించడం కోసం ఓమ్నియాథ్ వ్యూహం_ +- [ethereum-on-rails](https://github.com/q9f/ethereum-on-rails) - _మెటామాస్క్‌ను రూబీ ఆన్ రైల్స్‌కు కనెక్ట్ చేయడానికి అనుమతించే ఇతీరియము ఆన్ రైల్స్ టెంప్లేట్_ + +### ఆర్కైవ్ చేయబడింది / ఇకపై నిర్వహించబడదు {#archived--no-longer-maintained} + +- [web3-eth](https://github.com/spikewilliams/vtada-ethereum) - _రూబీతో ఇతీరియము నోడ్ యొక్క RPC పద్ధతులను పిలవడం_ +- [ethereum_tree](https://github.com/longhoangwkm/ethereum_tree) - _BIP32 ప్రమాణం ప్రకారం హైరార్కికల్ డిటర్మినిస్టిక్ వాలెట్ నుండి ETH చిరునామాలను రూపొందించడానికి రూబీ లైబ్రరీ_ +- [etherlite](https://github.com/budacom/etherlite) - _రూబీ ఆన్ రైల్స్ కోసం ఇతీరియము ఇంటిగ్రేషన్_ +- [ethereum.rb](https://github.com/EthWorks/ethereum.rb) - _లావాదేవీలను పంపడం, కాంట్రాక్ట్‌లను సృష్టించడం మరియు పరస్పర చర్య చేయడం అలాగే ఇతీరియము నోడ్‌తో పనిచేయడానికి ఉపయోగకరమైన టూల్‌కిట్‌గా JSON-RPC ఇంటర్‌ఫేస్‌ను ఉపయోగించే రూబీ ఇతీరియము క్లయింట్_ +- [omniauth-ethereum.rb](https://github.com/q9f/omniauth-ethereum.rb) - _ఓమ్నియాథ్ కోసం ఇతీరియము ప్రొవైడర్ వ్యూహాన్ని అమలు చేస్తుంది_ + +ఇంకొన్ని వనరులు (రిసోర్సెస్) కావాలా? [మా డెవలపర్‌ల హోమ్‌ని](/developers/) చూడండి. + +## రూబీ కమ్యూనిటీ సహకారులు {#ruby-community-contributors} + +[ఇతీరియము రూబీ టెలిగ్రామ్ గ్రూప్](https://t.me/ruby_eth) వేగంగా అభివృద్ధి చెందుతున్న కమ్యూనిటీకి హోస్ట్‌గా ఉంది మరియు పైన పేర్కొన్న ఏవైనా ప్రాజెక్ట్‌లు మరియు సంబంధిత అంశాలపై చర్చల కోసం అంకితమైన వనరు. diff --git a/public/content/translations/te/developers/docs/programming-languages/rust/index.md b/public/content/translations/te/developers/docs/programming-languages/rust/index.md new file mode 100644 index 00000000000..32b3aff397b --- /dev/null +++ b/public/content/translations/te/developers/docs/programming-languages/rust/index.md @@ -0,0 +1,65 @@ +--- +title: "రస్ట్ డెవలపర్‌ల కోసం ఇతీరియము" +description: "రస్ట్-ఆధారిత ప్రాజెక్ట్‌లు మరియు పనిముట్లు ఉపయోగించి ఇతీరియము కోసం ఎలా అభివృద్ధి చేయాలో నేర్చుకోండి" +lang: te +incomplete: true +--- + +రస్ట్-ఆధారిత ప్రాజెక్ట్‌లు మరియు పనిముట్లు ఉపయోగించి ఇతీరియము కోసం ఎలా అభివృద్ధి చేయాలో నేర్చుకోండి + +క్రిప్ట్టో కరెన్సీ మరియు బ్లాక్చైన్ టెక్నాలజీని వాడే వికేంద్రీకృత అప్లికేషన్స్ ( లేదా "డేప్స్") కి ఈతేరియంని ఉపయోగించండి. ఈ డ్డాప్స్ అప్లికేషన్స్ విశ్వసనీయమైనవి, దాని అర్థం వాటిని ఒకసారి ఏతీరియంకి డెప్లోయ్ చేసాక ఎప్పటికి ప్రోగ్రాం చేసిన విధంగానే పని చేస్తాయి. కొత్త తరహా ఫైనాన్సియల్ అప్లికేషన్స్ ని రూపొందించడానికి ఈ డ్డాప్స్ డిజిటల్ ఆస్తులను నియత్రించగలవు. ఇవి వికేంద్రీకృతమైనవి, దాని అర్థం వీటిని ఏ ఒక్క తత్వమో లేదా మనిషి నియత్రించలేవు మరియు సెన్సార్ చేయడం అసాధ్యం. + +## స్మార్ట్ కాంట్రాక్టులు మరియు సాలిడిటీ భాషతో ప్రారంభించడం {#getting-started-with-smart-contracts-and-solidity} + +**రస్ట్‌ను ఇతీరియముతో ఏకీకృతం చేయడానికి మీ మొదటి అడుగులు వేయండి** + +ఇంకా స్పష్టమైన వివరాలు కావాలి? [ethereum.org/learn](/learn/) లేదా [ethereum.org/developers](/developers/)ని చూడండి. + +- [బ్లాక్ చైను వివరణ](https://kauri.io/article/d55684513211466da7f8cc03987607d5/blockchain-explained) +- [స్మార్ట్ కాంట్రాక్టులను అర్థం చేసుకోవడం](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract) +- [మీ మొదటి స్మార్ట్ కాంట్రాక్టును వ్రాయండి](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract) +- [సాలిడిటీని కంపైల్ చేయడం మరియు డిప్లాయ్ చేయడం ఎలాగో తెలుసుకోండి](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment) + +## ప్రారంభ వ్యాసాలు {#beginner-articles} + +- [రస్ట్ ఇతీరియము క్లయింట్](https://openethereum.github.io/) \* **OpenEthereum [విరమించబడింది](https://medium.com/openethereum/gnosis-joins-erigon-formerly-turbo-geth-to-release-next-gen-ethereum-client-c6708dd06dd) అని గమనించండి మరియు ఇకపై నిర్వహించబడటం లేదు.** దానిని జాగ్రత్తగా వాడండి మరియు ప్రాధాన్యంగా మరొక క్లయింట్ అమలుకు మారండి. +- [రస్ట్ ఉపయోగించి ఇతీరియముకు లావాదేవీని పంపడం](https://kauri.io/#collections/A%20Hackathon%20Survival%20Guide/sending-ethereum-transactions-with-rust/) +- [కోవన్ కోసం రస్ట్ వాసమ్ (Wasm)లో కాంట్రాక్టులను ఎలా వ్రాయాలి అనే దానిపై దశలవారీ ట్యుటోరియల్](https://github.com/paritytech/pwasm-tutorial) + +## మధ్యస్థ వ్యాసాలు {#intermediate-articles} + +## అధునాతన వినియోగ నమూనాలు {#advanced-use-patterns} + +- [ఇతీరియము వంటి నెట్‌వర్క్‌తో పరస్పర చర్య చేయడానికి pwasm_ethereum ఎక్స్‌టర్న్స్ లైబ్రరీ](https://github.com/openethereum/pwasm-ethereum) + +- [జావాస్క్రిప్ట్ మరియు రస్ట్ ఉపయోగించి వికేంద్రీకృత చాట్‌ను నిర్మించండి](https://medium.com/perlin-network/build-a-decentralized-chat-using-javascript-rust-webassembly-c775f8484b52) + +- [Vue.js & రస్ట్ ఉపయోగించి వికేంద్రీకృత టోడో యాప్‌ను నిర్మించండి](https://medium.com/@jjmace01/build-a-decentralized-todo-app-using-vue-js-rust-webassembly-5381a1895beb) + +- [రస్ట్‌లో బ్లాక్‌చైన్‌ను నిర్మించండి](https://blog.logrocket.com/how-to-build-a-blockchain-in-rust/) + +## రస్ట్ ప్రాజెక్ట్‌లు మరియు ఉపకరణాలు {#rust-projects-and-tools} + +- [pwasm-ethereum](https://github.com/paritytech/pwasm-ethereum) - _ఇతీరియము వంటి నెట్‌వర్క్‌తో పరస్పర చర్య చేయడానికి ఎక్స్‌టర్న్‌ల సేకరణ_ +- [Lighthouse](https://github.com/sigp/lighthouse) - _వేగవంతమైన ఇతీరియము ఏకాభిప్రాయం లేయర్ క్లయింట్_ +- [Ethereum WebAssembly](https://ewasm.readthedocs.io/en/mkdocs/) - _వెబ్అసెంబ్లీ యొక్క ఒక నిర్ధారిత ఉపసమితిని ఉపయోగించి ఇతీరియము స్మార్ట్ కాంట్రాక్ట్ ఎగ్జిక్యూషన్ లేయర్ యొక్క ప్రతిపాదిత పునఃరూపకల్పన_ +- [oasis_std](https://docs.rs/oasis-std/latest/oasis_std/index.html) - _OASIS API సూచన_ +- [Solaris](https://github.com/paritytech/sol-rs) - _స్థానిక పారిటీ క్లయింట్ EVMని ఉపయోగించి సొలిడిటీ స్మార్ట్ కాంట్రాక్టుల యూనిట్ టెస్ట్ హార్నెస్._ +- [SputnikVM](https://github.com/rust-blockchain/evm) - _రస్ట్ ఇతీరియము వర్చువల్ మెషీన్ అమలు_ +- [Wavelet](https://wavelet.perlin.net/docs/smart-contracts) - _రస్ట్‌లో వేవ్‌లెట్ స్మార్ట్ కాంట్రాక్ట్_ +- [Foundry](https://github.com/foundry-rs/foundry) - _ఇతీరియము అప్లికేషన్ అభివృద్ధి కోసం టూల్‌కిట్_ +- [Alloy](https://alloy.rs) - _ఇతీరియము మరియు ఇతర EVM-ఆధారిత చైన్‌లతో పరస్పర చర్య చేయడానికి అధిక-పనితీరు గల, చక్కగా పరీక్షించబడిన & డాక్యుమెంట్ చేయబడిన లైబ్రరీలు._ +- [Ethers_rs](https://github.com/gakonst/ethers-rs) - _ఇతీరియము లైబ్రరీ మరియు వాలెట్ అమలు_ +- [SewUp](https://github.com/second-state/SewUp) - _రస్ట్‌తో మీ ఇతీరియము వెబ్అసెంబ్లీ కాంట్రాక్ట్‌ను నిర్మించడంలో మీకు సహాయపడటానికి ఒక లైబ్రరీ, మరియు ఒక సాధారణ బ్యాకెండ్‌లో అభివృద్ధి చేసినట్లుగానే_ +- [Substreams](https://github.com/streamingfast/substreams) - _సమాంతర బ్లాక్‌చైన్ డేటా ఇండెక్సింగ్ టెక్నాలజీ_ +- [Reth](https://github.com/paradigmxyz/reth) Reth (రస్ట్ ఇతీరియముకు సంక్షిప్త రూపం) ఒక కొత్త ఇతీరియము పూర్తి-నోడ్ అమలు +- [Awesome Ethereum Rust](https://github.com/Vid201/awesome-ethereum-rust) - _రస్ట్‌లో వ్రాయబడిన ఇతీరియము పర్యావరణ వ్యవస్థలోని ప్రాజెక్ట్‌ల యొక్క క్యూరేటెడ్ సేకరణ_ + +ఇంకొన్ని వనరులు (రిసోర్సెస్) కావాలా? [ethereum.org/developers.](/developers/) చూడండి + +## రస్ట్ కమ్యూనిటీ కంట్రిబ్యూటర్లు {#rust-community-contributors} + +- [ఇతీరియము WebAssembly](https://gitter.im/ewasm/Lobby) +- [Oasis Gitter](https://gitter.im/Oasis-official/Lobby) +- [Parity Gitter](https://gitter.im/paritytech/parity) +- [Enigma](https://discord.gg/SJK32GY) diff --git a/public/content/translations/te/developers/docs/scaling/index.md b/public/content/translations/te/developers/docs/scaling/index.md new file mode 100644 index 00000000000..b12e86cfaa8 --- /dev/null +++ b/public/content/translations/te/developers/docs/scaling/index.md @@ -0,0 +1,113 @@ +--- +title: "స్కేలింగ్" +description: "Ethereum కమ్యూనిటీ ద్వారా ప్రస్తుతం అభివృద్ధి చేయబడుతున్న విభిన్న స్కేలింగ్ ఎంపికలకు పరిచయం." +lang: te +sidebarDepth: 3 +--- + +## స్కేలింగ్ అవలోకనం {#scaling-overview} + +Ethereumను ఉపయోగించే వ్యక్తుల సంఖ్య పెరిగినందున, బ్లాక్‌చెయిన్ నిర్దిష్ట సామర్థ్య పరిమితులను చేరుకుంది. ఇది నెట్‌వర్క్‌ను ఉపయోగించే ఖర్చును పెంచింది, "స్కేలింగ్ పరిష్కారాల" అవసరాన్ని సృష్టించింది. ఒకే విధమైన లక్ష్యాలను సాధించడానికి విభిన్న విధానాలను తీసుకునే అనేక పరిష్కారాలు పరిశోధించబడుతున్నాయి, పరీక్షించబడుతున్నాయి మరియు అమలు చేయబడుతున్నాయి. + +స్కేలబిలిటీ యొక్క ప్రధాన లక్ష్యం వికేంద్రీకరణ లేదా భద్రతను త్యాగం చేయకుండా లావాదేవీ వేగాన్ని (వేగవంతమైన తుది నిర్ణయం) మరియు లావాదేవీ నిర్గమాంశను (సెకనుకు అధిక సంఖ్యలో లావాదేవీలు) పెంచడం. లేయర్ 1 Ethereum బ్లాక్‌చెయిన్‌లో, అధిక డిమాండ్ నెమ్మదైన లావాదేవీలకు మరియు ఆచరణ సాధ్యం కాని [గ్యాస్ ధరలకు](/developers/docs/gas/) దారితీస్తుంది. వేగం మరియు నిర్గమాంశ పరంగా నెట్‌వర్క్ సామర్థ్యాన్ని పెంచడం Ethereum యొక్క అర్థవంతమైన మరియు భారీ స్వీకరణకు ప్రాథమికమైనది. + +వేగం మరియు నిర్గమాంశ ముఖ్యమైనవి అయినప్పటికీ, ఈ లక్ష్యాలను సాధించే స్కేలింగ్ పరిష్కారాలు వికేంద్రీకృతంగా మరియు సురక్షితంగా ఉండటం చాలా అవసరం. కేంద్రీకృత మరియు అసురక్షిత కంప్యూటింగ్ శక్తి వైపు పురోగతిని నిరోధించడంలో నోడ్ ఆపరేటర్లకు ప్రవేశ అడ్డంకిని తక్కువగా ఉంచడం చాలా ముఖ్యం. + +భావనాత్మకంగా మేము మొదట స్కేలింగ్‌ను ఆన్‌చైన్ స్కేలింగ్ లేదా ఆఫ్‌చైన్ స్కేలింగ్ అని వర్గీకరిస్తాము. + +## అవసరాలు {#prerequisites} + +మీకు అన్ని పునాది అంశాలపై మంచి అవగాహన ఉండాలి. టెక్నాలజీ తక్కువగా పరీక్షించబడినందున స్కేలింగ్ పరిష్కారాలను అమలు చేయడం అధునాతనమైనది మరియు పరిశోధించబడుతూ, అభివృద్ధి చేయబడుతూనే ఉంది. + +## ఆన్‌చైన్ స్కేలింగ్ {#onchain-scaling} + +ఆన్‌చైన్ స్కేలింగ్‌కు Ethereum ప్రోటోకాల్ (లేయర్ 1 [మెయిన్‌నెట్](/glossary/#mainnet))లో మార్పులు అవసరం. చాలా కాలం పాటు, బ్లాక్‌చెయిన్‌ను షార్డింగ్ చేయడం Ethereumను స్కేల్ చేస్తుందని ఆశించారు. ఇది వాలిడేటర్‌ల ఉపసమితులచే ధృవీకరించబడటానికి బ్లాక్‌చెయిన్‌ను వివిక్త భాగాలుగా (షార్డ్‌లు) విభజించడం కలిగి ఉంటుంది. అయితే, లేయర్-2 రోలప్‌ల ద్వారా స్కేలింగ్ చేయడం ప్రాథమిక స్కేలింగ్ టెక్నిక్‌గా మారింది. వినియోగదారులకు రోలప్‌లను చౌకగా చేయడానికి ప్రత్యేకంగా రూపొందించబడిన Ethereum బ్లాక్‌లకు జోడించబడిన కొత్త చౌకైన డేటా రూపం ద్వారా దీనికి మద్దతు ఉంది. + +### షార్డింగ్ {#sharding} + +షార్డింగ్ అనేది డేటాబేస్‌ను విభజించే ప్రక్రియ. వాలిడేటర్‌ల ఉపసమితులు మొత్తం Ethereumను ట్రాక్ చేయడానికి బదులుగా వ్యక్తిగత షార్డ్‌లకు బాధ్యత వహిస్తాయి. షార్డింగ్ చాలా కాలంగా Ethereum [రోడ్‌మ్యాప్](/roadmap/)లో ఉంది మరియు ఒకప్పుడు ప్రూఫ్-ఆఫ్-స్టేక్‌కు ది మెర్జ్‌కు ముందు పంపించాలని ఉద్దేశించబడింది. అయినప్పటికీ, [లేయర్ 2 రోలప్‌ల](#layer-2-scaling) యొక్క వేగవంతమైన అభివృద్ధి మరియు [డాంక్‌షార్డింగ్](/roadmap/danksharding) యొక్క ఆవిష్కరణ (వాలిడేటర్‌లచే చాలా సమర్థవంతంగా ధృవీకరించబడగల Ethereum బ్లాక్‌లకు రోలప్ డేటా యొక్క బ్లాబ్‌లను జోడించడం) Ethereum కమ్యూనిటీని షార్డింగ్ ద్వారా స్కేలింగ్ చేయడానికి బదులుగా రోలప్-సెంట్రిక్ స్కేలింగ్‌కు అనుకూలంగా మార్చింది. ఇది Ethereum యొక్క ఏకాభిప్రాయ తర్కాన్ని సరళంగా ఉంచడానికి కూడా సహాయపడుతుంది. + +## ఆఫ్‌చైన్ స్కేలింగ్ {#offchain-scaling} + +ఆఫ్‌చైన్ పరిష్కారాలు లేయర్ 1 మెయిన్‌నెట్ నుండి విడిగా అమలు చేయబడతాయి - వాటికి ఇప్పటికే ఉన్న Ethereum ప్రోటోకాల్‌లో ఎటువంటి మార్పులు అవసరం లేదు. "లేయర్ 2" పరిష్కారాలు అని పిలువబడే కొన్ని పరిష్కారాలు, [ఆశాజనక రోలప్‌లు](/developers/docs/scaling/optimistic-rollups/), [జీరో-నాలెడ్జ్ రోలప్‌లు](/developers/docs/scaling/zk-rollups/) లేదా [స్టేట్ ఛానెల్‌లు](/developers/docs/scaling/state-channels/) వంటి వాటి భద్రతను నేరుగా లేయర్ 1 Ethereum ఏకాభిప్రాయం నుండి పొందుతాయి. ఇతర పరిష్కారాలలో [సైడ్‌చెయిన్‌లు](#sidechains), [వాలిడియమ్‌లు](#validium), లేదా [ప్లాస్మా చెయిన్‌లు](#plasma) వంటి మెయిన్‌నెట్ నుండి విడిగా వాటి భద్రతను పొందే వివిధ రూపాల్లో కొత్త చెయిన్‌లను సృష్టించడం ఉంటుంది. ఈ పరిష్కారాలు మెయిన్‌నెట్‌తో కమ్యూనికేట్ చేస్తాయి కానీ వివిధ లక్ష్యాలను సాధించడానికి వాటి భద్రతను విభిన్నంగా పొందుతాయి. + +### లేయర్ 2 స్కేలింగ్ {#layer-2-scaling} + +ఈ ఆఫ్‌చైన్ పరిష్కారాల వర్గం దాని భద్రతను మెయిన్‌నెట్ Ethereum నుండి పొందుతుంది. + +లేయర్ 2 అనేది మెయిన్‌నెట్ యొక్క బలమైన వికేంద్రీకృత భద్రతా నమూనాను సద్వినియోగం చేసుకుంటూ, Ethereum మెయిన్‌నెట్ (లేయర్ 1) నుండి లావాదేవీలను నిర్వహించడం ద్వారా మీ అప్లికేషన్‌ను స్కేల్ చేయడానికి సహాయపడటానికి రూపొందించిన పరిష్కారాల కోసం ఒక సామూహిక పదం. నెట్‌వర్క్ బిజీగా ఉన్నప్పుడు లావాదేవీ వేగం దెబ్బతింటుంది, ఇది కొన్ని రకాల డాప్స్ కోసం వినియోగదారు అనుభవాన్ని పేలవంగా చేస్తుంది. మరియు నెట్‌వర్క్ బిజీగా మారేకొద్దీ, లావాదేవీ పంపేవారు ఒకరినొకరు అధిగమించాలని లక్ష్యంగా పెట్టుకోవడంతో గ్యాస్ ధరలు పెరుగుతాయి. ఇది Ethereum వాడకాన్ని చాలా ఖరీదైనదిగా చేస్తుంది. + +చాలా లేయర్ 2 పరిష్కారాలు సర్వర్ లేదా సర్వర్‌ల సమూహం చుట్టూ కేంద్రీకృతమై ఉంటాయి, వీటిలో ప్రతి ఒక్కటి నోడ్, వాలిడేటర్, ఆపరేటర్, సీక్వెన్సర్, బ్లాక్ ప్రొడ్యూసర్ లేదా ఇలాంటి పదం అని పిలువబడవచ్చు. అమలును బట్టి, ఈ లేయర్ 2 నోడ్‌లను వాటిని ఉపయోగించే వ్యక్తులు, వ్యాపారాలు లేదా సంస్థలు లేదా 3వ పార్టీ ఆపరేటర్ లేదా పెద్ద సంఖ్యలో వ్యక్తులు (మెయిన్‌నెట్ మాదిరిగా) అమలు చేయవచ్చు. సాధారణంగా చెప్పాలంటే, లావాదేవీలు నేరుగా లేయర్ 1 (మెయిన్‌నెట్)కు సమర్పించడానికి బదులుగా ఈ లేయర్ 2 నోడ్‌లకు సమర్పించబడతాయి. కొన్ని పరిష్కారాల కోసం, లేయర్ 2 ఉదాహరణ వాటిని లేయర్ 1కి ఎంకరేజ్ చేయడానికి ముందు వాటిని సమూహాలుగా బ్యాచ్ చేస్తుంది, ఆ తర్వాత అవి లేయర్ 1 ద్వారా సురక్షితం చేయబడతాయి మరియు మార్చబడవు. ఇది ఎలా చేయబడుతుందనే వివరాలు వివిధ లేయర్ 2 టెక్నాలజీలు మరియు అమలుల మధ్య గణనీయంగా మారుతూ ఉంటాయి. + +ఒక నిర్దిష్ట లేయర్ 2 ఉదాహరణ అనేక అప్లికేషన్‌ల ద్వారా తెరవబడి, భాగస్వామ్యం చేయబడవచ్చు లేదా ఒక ప్రాజెక్ట్ ద్వారా అమలు చేయబడి, వారి అప్లికేషన్‌కు మాత్రమే మద్దతు ఇవ్వడానికి అంకితం చేయబడవచ్చు. + +#### లేయర్ 2 ఎందుకు అవసరం? {#why-is-layer-2-needed} + +- సెకనుకు పెరిగిన లావాదేవీలు వినియోగదారు అనుభవాన్ని బాగా మెరుగుపరుస్తాయి మరియు మెయిన్‌నెట్ Ethereumలో నెట్‌వర్క్ రద్దీని తగ్గిస్తాయి. +- లావాదేవీలు మెయిన్‌నెట్ Ethereumకు ఒకే లావాదేవీగా చుట్టబడతాయి, ఇది వినియోగదారులకు గ్యాస్ ఫీజులను తగ్గిస్తుంది మరియు Ethereumను ప్రతిచోటా ప్రజలకు మరింత కలుపుకొనిపోయేలా మరియు అందుబాటులోకి తెస్తుంది. +- స్కేలబిలిటీకి సంబంధించిన ఏవైనా నవీకరణలు వికేంద్రీకరణ లేదా భద్రత వ్యయంతో ఉండకూడదు – లేయర్ 2 Ethereum పైన నిర్మించబడింది. +- అప్లికేషన్-నిర్దిష్ట లేయర్ 2 నెట్‌వర్క్‌లు ఉన్నాయి, ఇవి పెద్ద ఎత్తున ఆస్తులతో పనిచేసేటప్పుడు వాటి స్వంత సామర్థ్యాల సమితిని తీసుకువస్తాయి. + +[లేయర్ 2 గురించి మరింత](/layer-2/). + +#### రోలప్‌లు {#rollups} + +రోలప్‌లు లేయర్ 1 వెలుపల లావాదేవీల అమలును నిర్వహిస్తాయి మరియు ఆ తర్వాత డేటా లేయర్ 1కు పోస్ట్ చేయబడుతుంది, అక్కడ ఏకాభిప్రాయం కుదురుతుంది. లావాదేవీ డేటా లేయర్ 1 బ్లాక్‌లలో చేర్చబడినందున, ఇది రోలప్‌లను స్థానిక Ethereum భద్రత ద్వారా సురక్షితం చేయడానికి అనుమతిస్తుంది. + +విభిన్న భద్రతా నమూనాలతో రెండు రకాల రోలప్‌లు ఉన్నాయి: + +- **ఆశాజనక రోలప్‌లు**: లావాదేవీలు డిఫాల్ట్‌గా చెల్లుబాటు అవుతాయని ఊహిస్తుంది మరియు సవాలు ఎదురైనప్పుడు మాత్రమే [**మోసం రుజువు**](/glossary/#fraud-proof) ద్వారా గణనను అమలు చేస్తుంది. [ఆశాజనక రోలప్‌ల గురించి మరింత](/developers/docs/scaling/optimistic-rollups/). +- **జీరో-నాలెడ్జ్ రోలప్‌లు**: ఆఫ్‌చైన్‌లో గణనను అమలు చేస్తుంది మరియు చైన్‌కు [**చెల్లుబాటు రుజువు**](/glossary/#validity-proof)ను సమర్పిస్తుంది. [జీరో-నాలెడ్జ్ రోలప్‌ల గురించి మరింత](/developers/docs/scaling/zk-rollups/). + +#### స్టేట్ ఛానెల్‌లు {#channels} + +స్టేట్ ఛానెల్‌లు మల్టీసిగ్ కాంట్రాక్టులను ఉపయోగించి పాల్గొనేవారిని త్వరగా మరియు స్వేచ్ఛగా ఆఫ్‌చైన్‌లో లావాదేవీలు చేయడానికి, ఆపై మెయిన్‌నెట్‌తో తుది నిర్ణయాన్ని పరిష్కరించడానికి వీలు కల్పిస్తాయి. ఇది నెట్‌వర్క్ రద్దీ, ఫీజులు మరియు ఆలస్యాలను తగ్గిస్తుంది. ప్రస్తుతం రెండు రకాల ఛానెల్‌లు స్టేట్ ఛానెల్‌లు మరియు చెల్లింపు ఛానెల్‌లు. + +[స్టేట్ ఛానెల్‌ల](/developers/docs/scaling/state-channels/) గురించి మరింత తెలుసుకోండి. + +### సైడ్‌చెయిన్‌లు {#sidechains} + +సైడ్చైన్ అనేది మెయిన్‌నెట్‌కు సమాంతరంగా నడిచే స్వతంత్ర EVM-అనుకూల బ్లాక్‌చెయిన్. ఇవి రెండు-మార్గాల వంతెనల ద్వారా Ethereumతో అనుకూలంగా ఉంటాయి మరియు వాటి స్వంత ఎంచుకున్న ఏకాభిప్రాయం మరియు బ్లాక్ పారామితుల నియమాల ప్రకారం నడుస్తాయి. + +[సైడ్‌చెయిన్‌ల](/developers/docs/scaling/sidechains/) గురించి మరింత తెలుసుకోండి. + +### ప్లాస్మా {#plasma} + +ప్లాస్మా చైన్ అనేది ప్రధాన Ethereum చైన్‌కు ఎంకరేజ్ చేయబడిన ఒక ప్రత్యేక బ్లాక్‌చెయిన్ మరియు వివాదాలను పరిష్కరించడానికి మోసం రుజువులను (ఉదాహరణకు [ఆశాజనక రోలప్‌లు](/developers/docs/scaling/optimistic-rollups/)) ఉపయోగిస్తుంది. + +[ప్లాస్మా](/developers/docs/scaling/plasma/) గురించి మరింత తెలుసుకోండి. + +### వాలిడియం {#validium} + +ఒక వాలిడియం చైన్ జీరో-నాలెడ్జ్ రోలప్‌ల వంటి చెల్లుబాటు రుజువులను ఉపయోగిస్తుంది కానీ డేటా ప్రధాన లేయర్ 1 Ethereum చైన్‌లో నిల్వ చేయబడదు. ఇది ప్రతి వాలిడియం చైన్‌కు సెకనుకు 10k లావాదేవీలకు దారితీయవచ్చు మరియు బహుళ చైన్‌లు సమాంతరంగా నడపబడవచ్చు. + +[వాలిడియం](/developers/docs/scaling/validium/) గురించి మరింత తెలుసుకోండి. + +## అంత ఎక్కువ స్కేలింగ్ పరిష్కారాలు ఎందుకు అవసరం? {#why-do-we-need-these} + +- బహుళ పరిష్కారాలు నెట్‌వర్క్‌లోని ఏ ఒక్క భాగంలోనైనా మొత్తం రద్దీని తగ్గించడంలో సహాయపడతాయి మరియు వైఫల్యం యొక్క ఒకే పాయింట్‌లను కూడా నివారిస్తాయి. +- మొత్తం దాని భాగాల మొత్తం కంటే గొప్పది. విభిన్న పరిష్కారాలు సామరస్యంగా ఉనికిలో ఉండి పని చేయగలవు, భవిష్యత్ లావాదేవీల వేగం మరియు నిర్గమాంశపై ఘాతాంక ప్రభావాన్ని అనుమతిస్తాయి. +- అన్ని పరిష్కారాలకు నేరుగా Ethereum ఏకాభిప్రాయ అల్గోరిథంను ఉపయోగించడం అవసరం లేదు, మరియు ప్రత్యామ్నాయాలు ఇతరత్రా పొందడానికి కష్టంగా ఉండే ప్రయోజనాలను అందించగలవు. + +## దృశ్య అభ్యాసకులా? {#visual-learner} + + + +_గమనిక, వీడియోలోని వివరణ అన్ని ఆఫ్‌చైన్ స్కేలింగ్ పరిష్కారాలను సూచించడానికి "లేయర్ 2" అనే పదాన్ని ఉపయోగిస్తుంది, అయితే మేము లేయర్ 1 మెయిన్‌నెట్ ఏకాభిప్రాయం ద్వారా దాని భద్రతను పొందే ఆఫ్‌చైన్ పరిష్కారంగా "లేయర్ 2"ని వేరు చేస్తాము._ + + + +## మరింత సమాచారం {#further-reading} + +- [రోలప్-సెంట్రిక్ Ethereum రోడ్‌మ్యాప్](https://ethereum-magicians.org/t/a-rollup-centric-ethereum-roadmap/4698) _విటాలిక్ బుటెరిన్_ +- [Ethereum కోసం లేయర్ 2 స్కేలింగ్ పరిష్కారాలపై తాజా విశ్లేషణలు](https://www.l2beat.com/) +- [Ethereum లేయర్ 2 స్కేలింగ్ పరిష్కారాలను మూల్యాంకనం చేయడం: ఒక పోలిక ఫ్రేమ్‌వర్క్](https://medium.com/matter-labs/evaluating-ethereum-l2-scaling-solutions-a-comparison-framework-b6b2f410f955) +- [రోలప్‌లకు అసంపూర్ణ మార్గదర్శి](https://vitalik.eth.limo/general/2021/01/05/rollup.html) +- [Ethereum-ఆధారిత ZK-రోలప్‌లు: ప్రపంచ విజేతలు](https://hackmd.io/@canti/rkUT0BD8K) +- [ఆశాజనక రోలప్‌లు vs ZK రోలప్‌లు](https://limechain.tech/blog/optimistic-rollups-vs-zk-rollups/) +- [అధిక స్కేలబిలిటీ కోసం రోలప్‌లు + డేటా షార్డ్‌లు ఎందుకు ఏకైక స్థిరమైన పరిష్కారం](https://polynya.medium.com/why-rollups-data-shards-are-the-only-sustainable-solution-for-high-scalability-c9aabd6fbb48) +- [ఏ రకమైన లేయర్ 3లు అర్ధవంతమైనవి?](https://vitalik.eth.limo/general/2022/09/17/layer_3.html) +- [డేటా లభ్యత లేదా: రోల్అప్‌లు ఆందోళనను ఆపి ఇతీరియమును ఎలా ప్రేమించాలో నేర్చుకున్నాయి](https://web.archive.org/web/20250515194659/https://web.archive.org/web/20241108192208/https://research.2077.xyz/data-availability-or-how-rollups-learned-to-stop-worrying-and-love-ethereum) +- [Ethereum రోలప్‌లకు ప్రాక్టికల్ గైడ్](https://web.archive.org/web/20241108192208/https://research.2077.xyz/the-practical-guide-to-ethereum-rollups) + +_మీకు సహాయపడిన కమ్యూనిటీ వనరు గురించి తెలుసా? ఈ పేజీని సవరించి, దాన్ని జోడించండి!_ diff --git a/public/content/translations/te/developers/docs/scaling/optimistic-rollups/index.md b/public/content/translations/te/developers/docs/scaling/optimistic-rollups/index.md new file mode 100644 index 00000000000..d68c7036868 --- /dev/null +++ b/public/content/translations/te/developers/docs/scaling/optimistic-rollups/index.md @@ -0,0 +1,265 @@ +--- +title: "ఆశావాద రోలప్‌లు" +description: "ఆశావాద రోల్‌అప్‌లకు పరిచయం-Ethereum సంఘం ఉపయోగించే స్కేలింగ్ పరిష్కారం." +lang: te +--- + +ఆప్టిమిస్టిక్ రోల్‌అప్‌లు లేయర్ 2 (L2) ప్రోటోకాల్‌లు Ethereum యొక్క బేస్ లేయర్ యొక్క నిర్గమాంశను విస్తరించడానికి రూపొందించబడ్డాయి. అవి ఆఫ్‌చెయిన్‌లో లావాదేవీలను ప్రాసెస్ చేయడం ద్వారా ప్రధాన ఇతీరియము చైన్‌పై గణనను తగ్గిస్తాయి, ప్రాసెసింగ్ వేగంలో గణనీయమైన మెరుగుదలలను అందిస్తాయి. [సైడ్చైన్లు](/developers/docs/scaling/sidechains/) వంటి ఇతర స్కేలింగ్ పరిష్కారాల వలె కాకుండా, ఆప్టిమిస్టిక్ రోలప్‌లు లావాదేవీ ఫలితాలను ఆన్‌చెయిన్‌లో ప్రచురించడం ద్వారా మెయిన్‌నెట్ నుండి భద్రతను పొందుతాయి, లేదా [ప్లాస్మా చైన్లు](/developers/docs/scaling/plasma/), ఇవి కూడా మోసం రుజువులతో ఇతీరియములో లావాదేవీలను ధృవీకరిస్తాయి, కానీ లావాదేవీ డేటాను వేరే చోట నిల్వ చేస్తాయి. + +Ethereumని ఉపయోగించడంలో గణన నెమ్మదిగా, ఖరీదైన భాగం కాబట్టి, ఆశావాద రోల్‌అప్‌లు స్కేలబిలిటీలో 10-100x మెరుగుదలలను అందించగలవు. ఆప్టిమిస్టిక్ రోలప్‌లు లావాదేవీలను ఇతీరియముకు `calldata`గా లేదా [blobs](/roadmap/danksharding/)లో వ్రాస్తాయి, వినియోగదారులకు గ్యాస్ ఖర్చులను తగ్గిస్తాయి. + +## అవసరాలు {#prerequisites} + +మీరు [Ethereum స్కేలింగ్](/developers/docs/scaling/) మరియు [లేయర్ 2](/layer-2/) పై మా పేజీలను చదివి అర్థం చేసుకుని ఉండాలి. + +## ఆశావాద రోల్అప్ అంటే ఏమిటి? {#what-is-an-optimistic-rollup} + +ఆప్టిమిస్టిక్ రోలప్ అనేది ఇతీరియమును స్కేలింగ్ చేయడానికి ఒక విధానం, ఇందులో గణన మరియు స్థితి నిల్వను ఆఫ్‌చెయిన్‌కు తరలించడం ఉంటుంది. ఆప్టిమిస్టిక్ రోలప్‌లు ఇతీరియము వెలుపల లావాదేవీలను అమలు చేస్తాయి, కానీ లావాదేవీ డేటాను మెయిన్‌నెట్‌కు `calldata`గా లేదా [blobs](/roadmap/danksharding/)లో పోస్ట్ చేస్తాయి. + +ఆప్టిమిస్టిక్ రోలప్ ఆపరేటర్లు ఇతీరియముకు సమర్పించే ముందు పెద్ద బ్యాచ్‌లలో బహుళ ఆఫ్‌చెయిన్ లావాదేవీలను కలిపి బండిల్ చేస్తారు. ఈ విధానం ప్రతి బ్యాచ్‌లోని బహుళ లావాదేవీల అంతటా స్థిర వ్యయాలను విస్తరించడాన్ని అనుమతిస్తుంది, తుది వినియోగదారులకు రుసుములను తగ్గిస్తుంది. ఆశావాద రోల్‌అప్‌లు Ethereumలో పోస్ట్ చేయబడిన డేటా మొత్తాన్ని తగ్గించడానికి కుదింపు పద్ధతులను కూడా ఉపయోగిస్తాయి. + +ఆప్టిమిస్టిక్ రోలప్‌లు “ఆప్టిమిస్టిక్”గా పరిగణించబడతాయి ఎందుకంటే అవి ఆఫ్‌చెయిన్ లావాదేవీలు చెల్లుబాటు అవుతాయని భావిస్తాయి మరియు ఆన్‌చెయిన్‌లో పోస్ట్ చేయబడిన లావాదేవీ బ్యాచ్‌ల కోసం చెల్లుబాటు రుజువులను ప్రచురించవు. ఇది ఆఫ్‌చెయిన్ లావాదేవీల కోసం క్రిప్టోగ్రాఫిక్ [చెల్లుబాటు రుజువులను](/glossary/#validity-proof) ప్రచురించే [జీరో-నౌలెడ్జ్ రోలప్‌ల](/developers/docs/scaling/zk-rollups) నుండి ఆప్టిమిస్టిక్ రోలప్‌లను వేరు చేస్తుంది. + +ఆశావాద రోల్‌అప్‌లు లావాదేవీలు సరిగ్గా లెక్కించబడని కేసులను గుర్తించడానికి మోసం-నిరూపణ పథకంపై ఆధారపడతాయి. ఇతీరియములో ఒక రోలప్ బ్యాచ్ సమర్పించబడిన తర్వాత, ఒక సమయ విండో (ఛాలెంజ్ పీరియడ్ అని పిలుస్తారు) ఉంటుంది, ఈ సమయంలో ఎవరైనా [మోసం రుజువును](/glossary/#fraud-proof) గణించడం ద్వారా రోలప్ లావాదేవీ ఫలితాలను సవాలు చేయవచ్చు. + +మోసం రుజువు విజయవంతమైతే, రోల్అప్ ప్రోటోకాల్ లావాదేవీ(ల) ని మళ్లీ అమలు చేస్తుంది మరియు తదనుగుణంగా రోల్అప్ స్థితిని అప్‌డేట్ చేస్తుంది. విజయవంతమైన మోసం రుజువు యొక్క ఇతర ప్రభావం ఏమిటంటే, ఒక బ్లాక్‌లో తప్పుగా అమలు చేయబడిన లావాదేవీని చేర్చడానికి బాధ్యత వహించే సీక్వెన్సర్ పెనాల్టీని పొందుతాడు. + +ఛాలెంజ్ వ్యవధి ముగిసిన తర్వాత రోల్అప్ బ్యాచ్ సవాలు చేయకపోతే (అంటే, అన్ని లావాదేవీలు సరిగ్గా అమలు చేయబడతాయి), అది చెల్లుబాటు అయ్యేదిగా పరిగణించబడుతుంది మరియు Ethereumలో ఆమోదించబడుతుంది. ఇతరులు ధృవీకరించబడని రోల్‌అప్ బ్లాక్‌లో నిర్మించడాన్ని కొనసాగించవచ్చు, కానీ ఒక హెచ్చరికతో: గతంలో ప్రచురించిన తప్పుగా అమలు చేయబడిన లావాదేవీ ఆధారంగా లావాదేవీ ఫలితాలు మార్చబడతాయి. + +## ఆశావాద రోల్‌అప్‌లు Ethereumతో ఎలా సంకర్షణ చెందుతాయి? {#optimistic-rollups-and-Ethereum} + +ఆప్టిమిస్టిక్ రోలప్‌లు ఇతీరియము పైన పనిచేయడానికి నిర్మించబడిన [ఆఫ్‌చెయిన్ స్కేలింగ్ పరిష్కారాలు](/developers/docs/scaling/#offchain-scaling). ప్రతి ఆశావాద రోల్అప్ Ethereum నెట్‌వర్క్‌లో అమలు చేయబడిన స్మార్ట్ కాంట్రాక్ట్‌ల సెట్ ద్వారా నిర్వహించబడుతుంది. ఆప్టిమిస్టిక్ రోలప్‌లు ప్రధాన ఇతీరియము చైన్ నుండి లావాదేవీలను ప్రాసెస్ చేస్తాయి, కానీ ఆఫ్‌చెయిన్ లావాదేవీలను (బ్యాచ్‌లలో) ఒక ఆన్‌చెయిన్ రోలప్ కాంట్రాక్ట్‌కు పోస్ట్ చేస్తాయి. Ethereum బ్లాక్‌చెయిన్ వలె, ఈ లావాదేవీ రికార్డు మార్పులేనిది మరియు "ఆశావాద రోల్అప్ చైన్"ను ఏర్పరుస్తుంది + +ఆశావాద రోల్అప్ యొక్క నిర్మాణం క్రింది భాగాలను కలిగి ఉంటుంది: + +**ఆన్‌చెయిన్ కాంట్రాక్టులు**: ఆప్టిమిస్టిక్ రోలప్ యొక్క ఆపరేషన్ ఇతీరియములో నడుస్తున్న స్మార్ట్ కాంట్రాక్టుల ద్వారా నియంత్రించబడుతుంది. రోల్‌అప్ బ్లాక్‌లను నిల్వ చేసే, రోల్‌అప్‌పై స్టేట్ అప్‌డేట్‌లను పర్యవేక్షించే మరియు వినియోగదారు డిపాజిట్‌లను ట్రాక్ చేసే ఒప్పందాలు ఇందులో ఉన్నాయి. ఈ కోణంలో, Ethereum ఆశావాద రోల్‌అప్‌ల కోసం బేస్ లేయర్ లేదా "లేయర్ 1"గా పనిచేస్తుంది. + +**ఆఫ్‌చెయిన్ వర్చువల్ మెషీన్ (VM)**: ఆప్టిమిస్టిక్ రోలప్ ప్రోటోకాల్‌ను నిర్వహించే కాంట్రాక్టులు ఇతీరియములో నడిచినప్పటికీ, రోలప్ ప్రోటోకాల్ [ఎథేరియం వర్చువల్ మషీన్](/developers/docs/evm/) నుండి వేరైన మరొక వర్చువల్ మెషీన్‌లో గణన మరియు స్థితి నిల్వను నిర్వహిస్తుంది. ఆఫ్‌చెయిన్ VM అనేది అప్లికేషన్లు నివసించే మరియు స్థితి మార్పులు అమలు చేయబడే ప్రదేశం; ఇది ఒక ఆప్టిమిస్టిక్ రోలప్ కోసం ఎగువ లేయర్ లేదా "లేయర్ 2"గా పనిచేస్తుంది. + +ఆప్టిమిస్టిక్ రోలప్‌లు EVM కోసం వ్రాసిన లేదా కంపైల్ చేయబడిన ప్రోగ్రామ్‌లను అమలు చేయడానికి రూపొందించబడినందున, ఆఫ్‌చెయిన్ VM అనేక EVM డిజైన్ స్పెక్స్‌ను కలిగి ఉంటుంది. అదనంగా, ఆన్‌చెయిన్‌లో గణించబడిన మోసం రుజువులు ఇతీరియము నెట్‌వర్క్‌ను ఆఫ్‌చెయిన్ VMలో గణించబడిన స్థితి మార్పుల యొక్క చెల్లుబాటును అమలు చేయడానికి అనుమతిస్తాయి. + +ఆప్టిమిస్టిక్ రోల్‌అప్‌లు 'హైబ్రిడ్ స్కేలింగ్ సొల్యూషన్స్'గా వర్ణించబడ్డాయి, ఎందుకంటే అవి ప్రత్యేక ప్రోటోకాల్‌లుగా ఉన్నప్పటికీ, వాటి భద్రతా లక్షణాలు Ethereum నుండి తీసుకోబడ్డాయి. ఇతర విషయాలతోపాటు, ఇతీరియము ఒక రోలప్ యొక్క ఆఫ్‌చెయిన్ గణన యొక్క ఖచ్చితత్వానికి మరియు గణన వెనుక ఉన్న డేటా లభ్యతకు హామీ ఇస్తుంది. ఇది భద్రత కోసం ఇతీరియముపై ఆధారపడని స్వచ్ఛమైన ఆఫ్‌చెయిన్ స్కేలింగ్ ప్రోటోకాల్‌ల (ఉదా., [సైడ్చైన్లు](/developers/docs/scaling/sidechains/)) కంటే ఆప్టిమిస్టిక్ రోలప్‌లను మరింత సురక్షితంగా చేస్తుంది. + +ఆశావాద రోల్‌అప్‌లు కింది వాటి కోసం ప్రధాన Ethereum ప్రోటోకాల్‌పై ఆధారపడతాయి: + +### డేటా లభ్యత {#data-availability} + +పేర్కొన్నట్లుగా, ఆప్టిమిస్టిక్ రోలప్‌లు లావాదేవీ డేటాను ఇతీరియముకు `calldata`గా లేదా [blobs](/roadmap/danksharding/)లో పోస్ట్ చేస్తాయి. రోలప్ చైన్ యొక్క అమలు సమర్పించబడిన లావాదేవీలపై ఆధారపడి ఉంటుంది కాబట్టి, ఎవరైనా ఈ సమాచారాన్ని — ఇతీరియము యొక్క బేస్ లేయర్‌పై లంగరు వేయబడినది — రోలప్ యొక్క స్థితిని అమలు చేయడానికి మరియు స్థితి పరివర్తనల యొక్క ఖచ్చితత్వాన్ని ధృవీకరించడానికి ఉపయోగించవచ్చు. + +[డేటా లభ్యత](/developers/docs/data-availability/) కీలకం ఎందుకంటే స్థితి డేటాకు ప్రాప్యత లేకుండా, ఛాలెంజర్‌లు చెల్లని రోలప్ కార్యకలాపాలను వివాదం చేయడానికి మోసం రుజువులను నిర్మించలేరు. Ethereum డేటా లభ్యతను అందించడంతో, రోలప్ ఆపరేటర్లు హానికరమైన చర్యల నుండి తప్పించుకునే ప్రమాదం (ఉదా., చెల్లని బ్లాక్‌లను సమర్పించడం) తగ్గించబడుతుంది. + +### సెన్సార్‌షిప్ నిరోధకత {#censorship-resistance} + +ఆశావాద రోల్‌అప్‌లు సెన్సార్‌షిప్ నిరోధకత కోసం Ethereumపై కూడా ఆధారపడతాయి. ఆశావాద రోల్‌అప్‌లో, లావాదేవీలను ప్రాసెస్ చేయడానికి మరియు రోలప్ బ్లాక్‌లను Ethereumకి సమర్పించడానికి కేంద్రీకృత సంస్థ (ఆపరేటర్) బాధ్యత వహిస్తుంది. దీనికి కొన్ని చిక్కులు ఉన్నాయి: + +- రోలప్ ఆపరేటర్లు వినియోగదారులను పూర్తిగా ఆఫ్‌లైన్‌లోకి వెళ్లడం ద్వారా లేదా వాటిలో నిర్దిష్ట లావాదేవీలను కలిగి ఉన్న బ్లాక్‌లను ఉత్పత్తి చేయడానికి నిరాకరించడం ద్వారా సెన్సార్ చేయవచ్చు. + +- Rollup ఆపరేటర్లు మెర్క్లే యాజమాన్యం యొక్క రుజువులకు అవసరమైన రాష్ట్ర డేటాను నిలిపివేయడం ద్వారా రోలప్ ఒప్పందంలో డిపాజిట్ చేసిన నిధులను ఉపసంహరించుకోకుండా వినియోగదారులను నిరోధించవచ్చు. స్టేట్ డేటాను విత్‌హోల్డింగ్ చేయడం వల్ల వినియోగదారులు రోల్‌అప్ స్థితిని దాచిపెట్టవచ్చు మరియు రోల్‌అప్‌తో పరస్పర చర్య చేయకుండా నిరోధించవచ్చు. + +Ethereumలో స్టేట్ అప్‌డేట్‌లతో అనుబంధించబడిన డేటాను ప్రచురించమని ఆపరేటర్‌లను బలవంతం చేయడం ద్వారా ఆశావాద రోల్‌అప్‌లు ఈ సమస్యను పరిష్కరిస్తాయి. ఆన్‌చెయిన్‌లో రోలప్ డేటాను ప్రచురించడం వలన క్రింది ప్రయోజనాలు ఉన్నాయి: + +- ఆశావాద రోల్‌అప్ ఆపరేటర్ ఆఫ్‌లైన్‌కు వెళ్లినా లేదా లావాదేవీ బ్యాచ్‌లను ఉత్పత్తి చేయడాన్ని ఆపివేసినట్లయితే, రోల్అప్ యొక్క చివరి స్థితిని పునరుత్పత్తి చేయడానికి మరియు బ్లాక్ ప్రొడక్షన్‌ను కొనసాగించడానికి మరొక నోడ్ అందుబాటులో ఉన్న డేటాను ఉపయోగించవచ్చు. + +- ఫండ్స్ యాజమాన్యాన్ని రుజువు చేసే మెర్కిల్ ప్రూఫ్‌లను రూపొందించడానికి మరియు రోలప్ నుండి వారి ఆస్తులను ఉపసంహరించుకోవడానికి వినియోగదారులు లావాదేవీ డేటాను ఉపయోగించవచ్చు. + +- వినియోగదారులు తమ లావాదేవీలను సీక్వెన్సర్‌కు బదులుగా L1లో సమర్పించవచ్చు, ఈ సందర్భంలో సీక్వెన్సర్ చెల్లుబాటు అయ్యే బ్లాక్‌లను ఉత్పత్తి చేయడం కొనసాగించడానికి నిర్దిష్ట కాలపరిమితిలోపు లావాదేవీని చేర్చాలి. + +### సెటిల్మెంట్ {#settlement} + +ఆశావాద రోల్‌అప్‌ల సందర్భంలో Ethereum పోషించే మరో పాత్ర సెటిల్‌మెంట్ లేయర్. సెటిల్‌మెంట్ లేయర్ మొత్తం బ్లాక్‌చెయిన్ పర్యావరణ వ్యవస్థను ఎంకరేజ్ చేస్తుంది, భద్రతను ఏర్పాటు చేస్తుంది మరియు మధ్యవర్తిత్వం అవసరమయ్యే మరొక గొలుసుపై (ఈ సందర్భంలో ఆశావాద రోల్‌అప్‌లు) వివాదం ఏర్పడితే ఆబ్జెక్టివ్ ముగింపును అందిస్తుంది. + +Ethereum Mainnet మోసపూరిత రుజువులను ధృవీకరించడానికి మరియు వివాదాలను పరిష్కరించడానికి ఆశావాద రోల్‌అప్‌ల కోసం ఒక కేంద్రాన్ని అందిస్తుంది. అంతేకాకుండా, ఇతీరియములో రోలప్ బ్లాక్ ఆమోదించబడిన తర్వాత మాత్రమే రోలప్‌లో నిర్వహించబడే లావాదేవీలు చివరివి అవుతాయి. ఒకసారి రోల్అప్ లావాదేవీ Ethereum యొక్క బేస్ లేయర్‌కు కట్టుబడి ఉంటే, దానిని వెనక్కి తిప్పడం సాధ్యం కాదు (చైన్ పునర్వ్యవస్థీకరణలో చాలా అవకాశం లేని సందర్భంలో తప్ప). + +## ఆశావాద రోల్‌అప్‌లు ఎలా పని చేస్తాయి? {#how-optimistic-rollups-work} + +### లావాదేవీ అమలు మరియు సమూహనం {#transaction-execution-and-aggregation} + +వినియోగదారులు లావాదేవీలను "ఆపరేటర్లు"కి సమర్పిస్తారు, ఇవి ఆశావాద రోల్‌అప్‌లో లావాదేవీలను ప్రాసెస్ చేయడానికి బాధ్యత వహించే నోడ్‌లు. "వాలిడేటర్" లేదా "అగ్రిగేటర్" అని కూడా పిలుస్తారు, ఆపరేటర్ లావాదేవీలను సమగ్రపరుస్తుంది, అంతర్లీన డేటాను కంప్రెస్ చేస్తుంది మరియు Ethereumలో బ్లాక్‌ను ప్రచురిస్తుంది. + +ఎవరైనా వాలిడేటర్‌గా మారగలిగినప్పటికీ, ప్రూఫ్-ఆఫ్-స్టేక్ సిస్టమ్ వలె, ఆప్టిమిస్టిక్ రోలప్ వాలిడేటర్లు బ్లాక్‌లను ఉత్పత్తి చేయడానికి ముందు తప్పనిసరిగా ఒక బాండ్‌ను అందించాలి. వ్యాలిడేటర్ చెల్లని బ్లాక్‌ను పోస్ట్ చేసినా లేదా పాతది కాని చెల్లని బ్లాక్‌పై బిల్డ్ చేసినా (వారి బ్లాక్ చెల్లుబాటులో ఉన్నప్పటికీ) ఈ బాండ్‌ను తగ్గించవచ్చు. ఈ విధంగా ఆశావాద రోల్‌అప్‌లు వ్యాలిడేటర్‌లు నిజాయితీగా పనిచేస్తున్నారని నిర్ధారించడానికి క్రిప్టో ఎకనామిక్ ప్రోత్సాహకాలను ఉపయోగించుకుంటాయి. + +ఆశావాద రోల్‌అప్ చైన్‌లోని ఇతర వ్యాలిడేటర్‌లు రోల్‌అప్ స్థితి యొక్క వారి కాపీని ఉపయోగించి సమర్పించిన లావాదేవీలను అమలు చేయాలని భావిస్తున్నారు. వ్యాలిడేటర్ యొక్క తుది స్థితి ఆపరేటర్ యొక్క ప్రతిపాదిత స్థితికి భిన్నంగా ఉంటే, వారు సవాలును ప్రారంభించవచ్చు మరియు మోసం రుజువును లెక్కించవచ్చు. + +కొన్ని ఆశావాద రోల్‌అప్‌లు పర్మిషన్‌లెస్ వాలిడేటర్ సిస్టమ్‌ను వదులుకోవచ్చు మరియు గొలుసును అమలు చేయడానికి ఒకే “సీక్వెన్సర్”ని ఉపయోగించవచ్చు. వాలిడేటర్ వలె, సీక్వెన్సర్ లావాదేవీలను ప్రాసెస్ చేస్తుంది, రోల్అప్ బ్లాక్‌లను ఉత్పత్తి చేస్తుంది మరియు రోల్అప్ లావాదేవీలను L1 చైన్ (Ethereum) కి సమర్పిస్తుంది. + +సీక్వెన్సర్ సాధారణ రోల్అప్ ఆపరేటర్ నుండి భిన్నంగా ఉంటుంది, ఎందుకంటే లావాదేవీల ఆర్డర్‌పై వారికి ఎక్కువ నియంత్రణ ఉంటుంది. అలాగే, సీక్వెన్సర్‌కు రోలప్ చైన్‌కు ప్రాధాన్యత యాక్సెస్ ఉంది మరియు ఆన్‌చెయిన్ కాంట్రాక్ట్‌కు లావాదేవీలను సమర్పించడానికి అధికారం ఉన్న ఏకైక సంస్థ ఇది. నాన్-సీక్వెన్సర్ నోడ్‌లు లేదా సాధారణ వినియోగదారుల నుండి లావాదేవీలు సీక్వెన్సర్ కొత్త బ్యాచ్‌లో చేర్చే వరకు ప్రత్యేక ఇన్‌బాక్స్‌లో క్యూలో ఉంచబడతాయి. + +#### ఇతీరియముకు రోలప్ బ్లాక్‌లను సమర్పించడం {#submitting-blocks-to-ethereum} + +పేర్కొన్నట్లుగా, ఆప్టిమిస్టిక్ రోలప్ యొక్క ఆపరేటర్ ఆఫ్‌చెయిన్ లావాదేవీలను ఒక బ్యాచ్‌గా బండిల్ చేసి, నోటరైజేషన్ కోసం ఇతీరియముకు పంపుతారు. ఈ ప్రక్రియలో లావాదేవీ సంబంధిత డేటాను కుదించడం మరియు దానిని ఇతీరియములో `calldata`గా లేదా బ్లాబ్స్‌లో ప్రచురించడం ఉంటుంది. + +`calldata` అనేది ఒక స్మార్ట్ కాంట్రాక్ట్‌లో సవరించలేని, నిరంతరాయంగా ఉండే ప్రాంతం, ఇది చాలావరకు [memory](/developers/docs/smart-contracts/anatomy/#memory) వలె ప్రవర్తిస్తుంది. `calldata` బ్లాక్ చైను యొక్క [history logs](https://docs.soliditylang.org/en/latest/introduction-to-smart-contracts.html?highlight=memory#logs)లో భాగంగా ఆన్‌చెయిన్‌లో నిలిచి ఉన్నప్పటికీ, ఇది ఇతీరియము యొక్క స్థితిలో భాగంగా నిల్వ చేయబడదు. `calldata` ఇతీరియము యొక్క స్థితిలో ఏ భాగాన్ని తాకదు కాబట్టి, ఇది డేటాను ఆన్‌చెయిన్‌లో నిల్వ చేయడానికి స్థితి కంటే చౌకగా ఉంటుంది. + +అమలు సమయంలో స్మార్ట్ కాంట్రాక్ట్ ఫంక్షన్‌కు ఆర్గ్యుమెంట్‌లను పంపడానికి `calldata` కీవర్డ్ కూడా Solidityలో ఉపయోగించబడుతుంది. `calldata` లావాదేవీ సమయంలో కాల్ చేయబడే ఫంక్షన్‌ను గుర్తిస్తుంది మరియు బైట్‌ల యొక్క ఏకపక్ష శ్రేణి రూపంలో ఫంక్షన్‌కు ఇన్‌పుట్‌లను కలిగి ఉంటుంది. + +ఆప్టిమిస్టిక్ రోలప్‌ల సందర్భంలో, కంప్రెస్డ్ లావాదేవీ డేటాను ఆన్‌చెయిన్ కాంట్రాక్ట్‌కి పంపడానికి `calldata` ఉపయోగించబడుతుంది. రోలప్ ఆపరేటర్ రోలప్ కాంట్రాక్ట్‌లో అవసరమైన ఫంక్షన్‌కు కాల్ చేయడం ద్వారా మరియు కంప్రెస్ చేయబడిన డేటాను ఫంక్షన్ ఆర్గ్యుమెంట్‌లుగా పంపడం ద్వారా కొత్త బ్యాచ్‌ని జోడిస్తుంది. `calldata`ను ఉపయోగించడం వలన వినియోగదారు రుసుము తగ్గుతుంది, ఎందుకంటే రోలప్‌లు ఆన్‌చెయిన్‌లో డేటాను నిల్వ చేయడం వల్ల వచ్చే ఖర్చులు ఎక్కువగా ఉంటాయి. + +ఈ భావన ఎలా పనిచేస్తుందో చూపించడానికి రోలప్ బ్యాచ్ సమర్పణకు [ఇక్కడ ఒక ఉదాహరణ](https://eth.blockscout.com/tx/0x9102bfce17c58b5fc1c974c24b6bb7a924fb5fbd7c4cd2f675911c27422a5591) ఉంది. సీక్వెన్సర్ `appendSequencerBatch()` పద్ధతిని ప్రారంభించింది మరియు `calldata`ను ఉపయోగించి కంప్రెస్ చేయబడిన లావాదేవీ డేటాను ఇన్‌పుట్‌లుగా పంపింది. + +కొన్ని రోల్‌అప్‌లు ఇప్పుడు Ethereumకి లావాదేవీల బ్యాచ్‌లను పోస్ట్ చేయడానికి బ్లాబ్‌లను ఉపయోగిస్తున్నాయి. + +బ్లాబ్స్ సవరించలేనివి మరియు నిరంతరాయంగా ఉంటాయి (`calldata` వలె) కానీ ~18 రోజుల తర్వాత చరిత్ర నుండి కత్తిరించబడతాయి. బ్లాబ్స్‌పై మరింత సమాచారం కోసం, [Danksharding](/roadmap/danksharding) చూడండి. + +### స్థితి కట్టుబాట్లు {#state-commitments} + +ఏ సమయంలోనైనా, ఆప్టిమిస్టిక్ రోలప్ యొక్క స్థితి (ఖాతాలు, బ్యాలెన్స్‌లు, కాంట్రాక్ట్ సంకేత భాష, మొదలైనవి.) "స్టేట్ ట్రీ" అని పిలువబడే [మెర్కిల్ ట్రీ](/whitepaper/#merkle-trees)గా నిర్వహించబడుతుంది. రోల్అప్ యొక్క తాజా స్థితిని సూచించే ఈ మెర్కిల్ ట్రీ (స్టేట్ రూట్) యొక్క రూట్ హ్యాష్ చేయబడింది మరియు రోల్అప్ ఒప్పందంలో నిల్వ చేయబడుతుంది. గొలుసులోని ప్రతి రాష్ట్ర పరివర్తన కొత్త రోల్అప్ స్థితిని ఉత్పత్తి చేస్తుంది, కొత్త స్టేట్ రూట్‌ను కంప్యూటింగ్ చేయడం ద్వారా ఆపరేటర్ దీనికి కట్టుబడి ఉంటాడు. + +బ్యాచ్‌లను పోస్ట్ చేసేటప్పుడు ఆపరేటర్ పాత స్టేట్ రూట్‌లు మరియు కొత్త స్టేట్ రూట్‌లు రెండింటినీ సమర్పించాల్సి ఉంటుంది. పాత స్థితి రూట్ ఆన్‌చెయిన్ కాంట్రాక్ట్‌లో ఉన్న స్థితి రూట్‌తో సరిపోలితే, రెండోది విస్మరించబడి కొత్త స్థితి రూట్‌తో భర్తీ చేయబడుతుంది. + +రోల్అప్ ఆపరేటర్ కూడా లావాదేవీ బ్యాచ్ కోసం మెర్కిల్ రూట్‌ను కలిగి ఉండాలి. ఇది [మెర్కిల్ ప్రూఫ్](/developers/tutorials/merkle-proofs-for-offline-data-integrity/)ని సమర్పించడం ద్వారా బ్యాచ్‌లో (L1లో) లావాదేవీని చేర్చినట్లు నిరూపించడానికి ఎవరైనా అనుమతిస్తుంది. + +ఆశావాద రోల్‌అప్‌లో రాష్ట్ర మార్పుల యొక్క ఖచ్చితత్వాన్ని నిరూపించడానికి రాష్ట్ర కట్టుబాట్లు, ముఖ్యంగా రాష్ట్ర మూలాలు అవసరం. రోలప్ కాంట్రాక్ట్ ఆపరేటర్ల నుండి కొత్త స్థితి రూట్‌లను పోస్ట్ చేసిన వెంటనే అంగీకరిస్తుంది, కానీ రోలప్‌ను దాని సరైన స్థితికి పునరుద్ధరించడానికి చెల్లని స్థితి రూట్‌లను తర్వాత తొలగించవచ్చు. + +### మోసం రుజువు {#fraud-proving} + +వివరించినట్లుగా, ఆప్టిమిస్టిక్ రోలప్‌లు చెల్లుబాటు రుజువులను అందించకుండా బ్లాక్‌లను ప్రచురించడానికి ఎవరినైనా అనుమతిస్తాయి. అయితే, చైన్ సురక్షితంగా ఉందని నిర్ధారించడానికి, ఆప్టిమిస్టిక్ రోలప్‌లు ఒక సమయ విండోను నిర్దేశిస్తాయి, ఈ సమయంలో ఎవరైనా స్థితి పరివర్తనను వివాదం చేయవచ్చు. అందువల్ల, రోలప్ బ్లాక్‌లను "అస్సెర్షన్స్" అని పిలుస్తారు, ఎందుకంటే ఎవరైనా వాటి చెల్లుబాటును వివాదం చేయవచ్చు. + +ఎవరైనా ఒక అస్సెర్షన్‌ను వివాదం చేస్తే, రోలప్ ప్రోటోకాల్ మోసం రుజువు గణనను ప్రారంభిస్తుంది. ప్రతి రకమైన మోసం రుజువు ఇంటరాక్టివ్ — మరొక వ్యక్తి దానిని సవాలు చేయడానికి ముందు ఎవరైనా ఒక అస్సెర్షన్‌ను పోస్ట్ చేయాలి. మోసం రుజువును గణించడానికి ఎన్ని రౌండ్ల పరస్పర చర్య అవసరమో అనే దానిలో తేడా ఉంటుంది. + +సింగిల్-రౌండ్ ఇంటరాక్టివ్ ప్రూవింగ్ స్కీమ్‌లు చెల్లని అస్సెర్షన్‌లను గుర్తించడానికి L1లో వివాదాస్పద లావాదేవీలను రీప్లే చేస్తాయి. రోలప్ ప్రోటోకాల్ ఒక వెరిఫైయర్ కాంట్రాక్ట్‌ను ఉపయోగించి L1 (ఇతీరియము)పై వివాదాస్పద లావాదేవీ యొక్క పునః-అమలును అనుకరిస్తుంది, గణించబడిన స్థితి రూట్ ఛాలెంజ్‌లో ఎవరు గెలుస్తారో నిర్ణయిస్తుంది. రోలప్ యొక్క సరైన స్థితి గురించి ఛాలెంజర్ యొక్క దావా సరిగ్గా ఉంటే, ఆపరేటర్ యొక్క బాండ్ స్లాష్ చేయబడటం ద్వారా శిక్షించబడుతుంది. + +అయితే, మోసాన్ని గుర్తించడానికి L1లో లావాదేవీలను పునః-అమలు చేయడానికి వ్యక్తిగత లావాదేవీల కోసం స్థితి కమిట్‌మెంట్‌లను ప్రచురించడం అవసరం మరియు రోలప్‌లు ఆన్‌చెయిన్‌లో ప్రచురించాల్సిన డేటాను పెంచుతుంది. లావాదేవీలను రీప్లే చేయడం కూడా గణనీయమైన గ్యాస్ ఖర్చులను కలిగిస్తుంది. ఈ కారణాల వల్ల, ఆప్టిమిస్టిక్ రోలప్‌లు మల్టీ-రౌండ్ ఇంటరాక్టివ్ ప్రూవింగ్‌కు మారుతున్నాయి, ఇది అదే లక్ష్యాన్ని (అంటే, చెల్లని రోలప్ కార్యకలాపాలను గుర్తించడం) మరింత సామర్థ్యంతో సాధిస్తుంది. + +#### మల్టీ-రౌండ్ ఇంటరాక్టివ్ ప్రూవింగ్ {#multi-round-interactive-proving} + +మల్టీ-రౌండ్ ఇంటరాక్టివ్ ప్రూవింగ్‌లో అస్సెర్టర్ మరియు ఛాలెంజర్ మధ్య ఒక L1 వెరిఫైయర్ కాంట్రాక్ట్ పర్యవేక్షణలో ఒక బ్యాక్-అండ్-ఫోర్త్ ప్రోటోకాల్ ఉంటుంది, ఇది చివరికి అబద్ధం చెప్పే పార్టీని నిర్ణయిస్తుంది. ఒక L2 నోడ్ ఒక అస్సెర్షన్‌ను సవాలు చేసిన తర్వాత, అస్సెర్టర్ వివాదాస్పద అస్సెర్షన్‌ను రెండు సమాన భాగాలుగా విభజించవలసి ఉంటుంది. ఈ సందర్భంలో ప్రతి వ్యక్తిగత అస్సెర్షన్ మరొక దాని వలె అనేక గణన దశలను కలిగి ఉంటుంది. + +ఛాలెంజర్ అప్పుడు తాను ఏ అస్సెర్షన్‌ను సవాలు చేయాలనుకుంటున్నాడో ఎంచుకుంటాడు. విభజన ప్రక్రియ ("బైసెక్షన్ ప్రోటోకాల్" అని పిలుస్తారు) రెండు పార్టీలు ఒకే ఒక్క అమలు దశ గురించి ఒక అస్సెర్షన్‌ను వివాదం చేసే వరకు కొనసాగుతుంది. ఈ సమయంలో, L1 కాంట్రాక్ట్ మోసపూరిత పార్టీని పట్టుకోవడానికి సూచనను (మరియు దాని ఫలితాన్ని) మూల్యాంకనం చేయడం ద్వారా వివాదాన్ని పరిష్కరిస్తుంది. + +అస్సెర్టర్ వివాదాస్పద సింగిల్-స్టెప్ గణన యొక్క చెల్లుబాటును ధృవీకరించే "వన్-స్టెప్ ప్రూఫ్"ను అందించవలసి ఉంటుంది. అస్సెర్టర్ వన్-స్టెప్ ప్రూఫ్‌ను అందించడంలో విఫలమైతే, లేదా L1 వెరిఫైయర్ ప్రూఫ్‌ను చెల్లనిదిగా భావిస్తే, వారు ఛాలెంజ్‌ను కోల్పోతారు. + +ఈ రకమైన మోసం రుజువు గురించి కొన్ని గమనికలు: + +1. మల్టీ-రౌండ్ ఇంటరాక్టివ్ ఫ్రాడ్ ప్రూవింగ్ సమర్థవంతమైనదిగా పరిగణించబడుతుంది ఎందుకంటే ఇది వివాద మధ్యవర్తిత్వంలో L1 చైన్ చేయాల్సిన పనిని తగ్గిస్తుంది. మొత్తం లావాదేవీని రీప్లే చేయడానికి బదులుగా, L1 చైన్ రోలప్ యొక్క అమలులో ఒకే ఒక దశను మాత్రమే పునః-అమలు చేయాలి. + +2. బైసెక్షన్ ప్రోటోకాల్స్ ఆన్‌చెయిన్‌లో పోస్ట్ చేయబడిన డేటా మొత్తాన్ని తగ్గిస్తాయి (ప్రతి లావాదేవీకి స్థితి కమిట్‌లను ప్రచురించాల్సిన అవసరం లేదు). అలాగే, ఆప్టిమిస్టిక్ రోలప్ లావాదేవీలు ఇతీరియము యొక్క గ్యాస్ పరిమితి ద్వారా నిర్బంధించబడవు. దీనికి విరుద్ధంగా, లావాదేవీలను పునః-అమలు చేసే ఆప్టిమిస్టిక్ రోలప్‌లు ఒకే ఇతీరియము లావాదేవీలో దాని అమలును అనుకరించడానికి L2 లావాదేవీకి తక్కువ గ్యాస్ పరిమితి ఉందని నిర్ధారించుకోవాలి. + +3. దురుద్దేశపూర్వక అస్సెర్టర్ యొక్క బాండ్‌లో కొంత భాగం ఛాలెంజర్‌కు ఇవ్వబడుతుంది, మిగిలిన భాగం బర్న్ చేయబడుతుంది. బర్నింగ్ వాలిడేటర్ల మధ్య కుమ్మక్కును నివారిస్తుంది; ఇద్దరు వాలిడేటర్లు బోగస్ ఛాలెంజ్‌లను ప్రారంభించడానికి కుమ్మక్కైతే, వారు ఇప్పటికీ మొత్తం స్టేక్‌లో గణనీయమైన భాగాన్ని కోల్పోతారు. + +4. మల్టీ-రౌండ్ ఇంటరాక్టివ్ ప్రూవింగ్‌కు రెండు పార్టీలు (అస్సెర్టర్ మరియు ఛాలెంజర్) నిర్దిష్ట సమయ విండోలో కదలికలు చేయాలి. గడువు ముగిసేలోపు చర్య తీసుకోవడంలో విఫలమైతే డిఫాల్ట్ పార్టీ ఛాలెంజ్‌ను కోల్పోతుంది. + +#### ఆప్టిమిస్టిక్ రోలప్‌లకు మోసం రుజువులు ఎందుకు ముఖ్యమైనవి {#fraud-proof-benefits} + +మోసం రుజువులు ముఖ్యమైనవి ఎందుకంటే అవి ఆప్టిమిస్టిక్ రోలప్‌లలో _ట్రస్ట్‌లెస్ ఫైనాలిటీ_ని సులభతరం చేస్తాయి. ట్రస్ట్‌లెస్ ఫైనాలిటీ అనేది ఆప్టిమిస్టిక్ రోలప్‌ల యొక్క ఒక నాణ్యత, ఇది ఒక లావాదేవీ — అది చెల్లుబాటు అయ్యేంత వరకు — చివరికి నిర్ధారించబడుతుందని హామీ ఇస్తుంది. + +దురుద్దేశపూర్వక నోడ్స్ తప్పుడు ఛాలెంజ్‌లను ప్రారంభించడం ద్వారా చెల్లుబాటు అయ్యే రోలప్ బ్లాక్ యొక్క నిర్ధారణను ఆలస్యం చేయడానికి ప్రయత్నించవచ్చు. అయితే, మోసం రుజువులు చివరికి రోలప్ బ్లాక్ యొక్క చెల్లుబాటును రుజువు చేసి, దానిని నిర్ధారించేలా చేస్తాయి. + +ఇది ఆప్టిమిస్టిక్ రోలప్‌ల యొక్క మరొక భద్రతా లక్షణానికి కూడా సంబంధించింది: చైన్ యొక్క చెల్లుబాటు _ఒక_ నిజాయితీగల నోడ్ ఉనికిపై ఆధారపడి ఉంటుంది. నిజాయితీగల నోడ్ చెల్లుబాటు అయ్యే అస్సెర్షన్‌లను పోస్ట్ చేయడం ద్వారా లేదా చెల్లని అస్సెర్షన్‌లను వివాదం చేయడం ద్వారా చైన్‌ను సరిగ్గా ముందుకు తీసుకెళ్లగలదు. ఏ సందర్భంలోనైనా, నిజాయితీగల నోడ్‌తో వివాదాలలోకి ప్రవేశించే దురుద్దేశపూర్వక నోడ్స్ మోసం రుజువు ప్రక్రియలో తమ స్టేక్‌లను కోల్పోతాయి. + +### L1/L2 ఇంటర్‌ఆపరబిలిటీ {#l1-l2-interoperability} + +ఆప్టిమిస్టిక్ రోలప్‌లు ఇతీరియము మెయిన్‌నెట్‌తో ఇంటర్‌ఆపరబిలిటీ కోసం రూపొందించబడ్డాయి మరియు వినియోగదారులు L1 మరియు L2 మధ్య సందేశాలు మరియు ఏకపక్ష డేటాను పంపడానికి అనుమతిస్తాయి. అవి EVMతో కూడా అనుకూలంగా ఉంటాయి, కాబట్టి మీరు ఇప్పటికే ఉన్న [డాప్స్](/developers/docs/dapps/)ను ఆప్టిమిస్టిక్ రోలప్‌లకు పోర్ట్ చేయవచ్చు లేదా ఇతీరియము అభివృద్ధి సాధనాలను ఉపయోగించి కొత్త డాప్స్‌ను సృష్టించవచ్చు. + +#### 1. ఆస్తి కదలిక {#asset-movement} + +##### రోలప్‌లోకి ప్రవేశించడం + +ఆప్టిమిస్టిక్ రోలప్‌ను ఉపయోగించడానికి, వినియోగదారులు ETH, ERC-20 టోకెన్లు మరియు ఇతర అంగీకరించిన ఆస్తులను L1లోని రోలప్ యొక్క [బ్రిడ్జ్](/developers/docs/bridges/) కాంట్రాక్ట్‌లో డిపాజిట్ చేస్తారు. బ్రిడ్జ్ కాంట్రాక్ట్ లావాదేవీని L2కి రిలే చేస్తుంది, అక్కడ సమానమైన ఆస్తులు మింట్ చేయబడి, ఆప్టిమిస్టిక్ రోలప్‌లో వినియోగదారుడు ఎంచుకున్న చిరునామాకు పంపబడతాయి. + +సీక్వెన్సర్ వాటిని రోలప్ కాంట్రాక్ట్‌కు తిరిగి సమర్పించే వరకు వినియోగదారు-ఉత్పత్తి లావాదేవీలు (L1 > L2 డిపాజిట్ వంటివి) సాధారణంగా క్యూలో ఉంటాయి. అయితే, సెన్సార్‌షిప్ నిరోధకతను కాపాడటానికి, ఆప్టిమిస్టిక్ రోలప్‌లు వినియోగదారులు అనుమతించబడిన గరిష్ట సమయం దాటి ఆలస్యం అయితే, లావాదేవీని నేరుగా ఆన్‌చెయిన్ రోలప్ కాంట్రాక్ట్‌కు సమర్పించడానికి అనుమతిస్తాయి. + +కొన్ని ఆప్టిమిస్టిక్ రోలప్‌లు సీక్వెన్సర్‌లు వినియోగదారులను సెన్సార్ చేయకుండా నిరోధించడానికి మరింత సూటిగా ఉండే విధానాన్ని అనుసరిస్తాయి. ఇక్కడ, రోలప్ చైన్‌లో ప్రాసెస్ చేయబడిన లావాదేవీలతో పాటు, మునుపటి బ్లాక్ నుండి L1 కాంట్రాక్ట్‌కు సమర్పించబడిన అన్ని లావాదేవీల (ఉదా., డిపాజిట్లు) ద్వారా ఒక బ్లాక్ నిర్వచించబడుతుంది. ఒక సీక్వెన్సర్ L1 లావాదేవీని విస్మరిస్తే, అది (నిరూపించదగిన) తప్పు స్థితి రూట్‌ను ప్రచురిస్తుంది; అందువల్ల, సీక్వెన్సర్‌లు L1లో పోస్ట్ చేసిన తర్వాత వినియోగదారు-ఉత్పత్తి సందేశాలను ఆలస్యం చేయలేరు. + +##### రోలప్ నుండి నిష్క్రమించడం + +మోసం రుజువు పథకం కారణంగా ఆప్టిమిస్టిక్ రోలప్ నుండి ఇతీరియముకు ఉపసంహరించుకోవడం మరింత కష్టం. ఒక వినియోగదారుడు L1లో ఎస్క్రో చేయబడిన నిధులను ఉపసంహరించుకోవడానికి L2 > L1 లావాదేవీని ప్రారంభిస్తే, వారు దాదాపు ఏడు రోజులు ఉండే ఛాలెంజ్ పీరియడ్ ముగిసే వరకు వేచి ఉండాలి. అయినప్పటికీ, ఉపసంహరణ ప్రక్రియ కూడా చాలా సరళంగా ఉంటుంది. + +L2 రోలప్‌లో ఉపసంహరణ అభ్యర్థన ప్రారంభించబడిన తర్వాత, లావాదేవీ తదుపరి బ్యాచ్‌లో చేర్చబడుతుంది, అయితే రోలప్‌లోని వినియోగదారుడి ఆస్తులు బర్న్ చేయబడతాయి. ఇతీరియములో బ్యాచ్ ప్రచురించబడిన తర్వాత, వినియోగదారుడు బ్లాక్‌లో వారి నిష్క్రమణ లావాదేవీని చేర్చడాన్ని ధృవీకరించే మెర్కిల్ ప్రూఫ్‌ను గణించవచ్చు. అప్పుడు L1లో లావాదేవీని ఖరారు చేయడానికి మరియు మెయిన్‌నెట్‌కు నిధులను ఉపసంహరించుకోవడానికి ఆలస్యం వ్యవధి వరకు వేచి ఉండటమే. + +ఇతీరియముకు నిధులను ఉపసంహరించుకునే ముందు ఒక వారం వేచి ఉండకుండా ఉండటానికి, ఆప్టిమిస్టిక్ రోలప్ వినియోగదారులు **లిక్విడిటీ ప్రొవైడర్** (LP)ను ఉపయోగించవచ్చు. ఒక లిక్విడిటీ ప్రొవైడర్ పెండింగ్‌లో ఉన్న L2 ఉపసంహరణ యొక్క యాజమాన్యాన్ని స్వీకరించి, L1లో వినియోగదారునికి (ఒక రుసుముకు బదులుగా) చెల్లిస్తుంది. + +నిధులను విడుదల చేయడానికి ముందు లిక్విడిటీ ప్రొవైడర్లు వినియోగదారుడి ఉపసంహరణ అభ్యర్థన యొక్క చెల్లుబాటును (చైన్‌ను స్వయంగా అమలు చేయడం ద్వారా) తనిఖీ చేయవచ్చు. ఈ విధంగా వారు లావాదేవీ చివరికి నిర్ధారించబడుతుందని హామీ కలిగి ఉంటారు (అంటే, ట్రస్ట్‌లెస్ ఫైనాలిటీ). + +#### 2. EVM అనుకూలత {#evm-compatibility} + +డెవలపర్‌ల కోసం, ఆప్టిమిస్టిక్ రోలప్‌ల యొక్క ప్రయోజనం వాటి అనుకూలత — లేదా, ఇంకా చెప్పాలంటే, [ఎథేరియం వర్చువల్ మషీన్ (EVM)](/developers/docs/evm/) తో సమానత్వం. EVM-అనుకూల రోలప్‌లు [ఇతీరియము ఎల్లో పేపర్](https://ethereum.github.io/yellowpaper/paper.pdf)లోని స్పెసిఫికేషన్‌లకు అనుగుణంగా ఉంటాయి మరియు బైట్‌కోడ్ స్థాయిలో EVMకు మద్దతు ఇస్తాయి. + +ఆప్టిమిస్టిక్ రోలప్‌లలో EVM-అనుకూలత క్రింది ప్రయోజనాలను కలిగి ఉంది: + +i. డెవలపర్లు కోడ్‌బేస్‌లను విస్తృతంగా సవరించాల్సిన అవసరం లేకుండా ఇతీరియముపై ఉన్న స్మార్ట్ కాంట్రాక్టులను ఆప్టిమిస్టిక్ రోలప్ చైన్‌లకు మైగ్రేట్ చేయవచ్చు. ఇది L2లో ఇతీరియము స్మార్ట్ కాంట్రాక్టులను డిప్లాయ్ చేసేటప్పుడు అభివృద్ధి బృందాలకు సమయాన్ని ఆదా చేస్తుంది. + +ii. ఆప్టిమిస్టిక్ రోలప్‌లను ఉపయోగించే డెవలపర్లు మరియు ప్రాజెక్ట్ బృందాలు ఇతీరియము యొక్క మౌలిక సదుపాయాలను సద్వినియోగం చేసుకోవచ్చు. ఇందులో ప్రోగ్రామింగ్ భాషలు, సంకేత భాష లైబ్రరీలు, పరీక్షా సాధనాలు, ఖాతాదారులు సాఫ్ట్‌వేర్, డిప్లాయ్‌మెంట్ ఇన్‌ఫ్రాస్ట్రక్చర్ మొదలైనవి ఉంటాయి. + +ఇప్పటికే ఉన్న పనిముట్లను ఉపయోగించడం ముఖ్యం ఎందుకంటే ఈ సాధనాలు సంవత్సరాలుగా విస్తృతంగా ఆడిట్ చేయబడ్డాయి, డీబగ్ చేయబడ్డాయి మరియు మెరుగుపరచబడ్డాయి. ఇది ఇతీరియము డెవలపర్లు పూర్తిగా కొత్త డెవలప్‌మెంట్ స్టాక్‌తో ఎలా నిర్మించాలో నేర్చుకోవలసిన అవసరాన్ని కూడా తొలగిస్తుంది. + +#### 3. క్రాస్-చైన్ కాంట్రాక్ట్ కాల్స్ {#cross-chain-contract-calls} + +వినియోగదారులు (బాహ్యంగా యాజమాన్యంలోని ఖాతాలు) రోలప్ కాంట్రాక్ట్‌కు ఒక లావాదేవీని సమర్పించడం ద్వారా లేదా ఒక సీక్వెన్సర్ లేదా వాలిడేటర్ వారి కోసం చేయడం ద్వారా L2 కాంట్రాక్టులతో సంకర్షణ చెందుతారు. ఆప్టిమిస్టిక్ రోలప్‌లు ఇతీరియముపై ఉన్న కాంట్రాక్ట్ ఖాతాలను L1 మరియు L2 మధ్య సందేశాలను రిలే చేయడానికి మరియు డేటాను పంపడానికి బ్రిడ్జింగ్ కాంట్రాక్టులను ఉపయోగించి L2 కాంట్రాక్టులతో సంకర్షణ చెందడానికి కూడా అనుమతిస్తాయి. దీనర్థం, మీరు ఇతీరియము మెయిన్‌నెట్‌పై ఒక L1 కాంట్రాక్ట్‌ను ప్రోగ్రామ్ చేసి, L2 ఆప్టిమిస్టిక్ రోలప్‌పై ఉన్న కాంట్రాక్టులకు చెందిన ఫంక్షన్‌లను ఇన్వోక్ చేయవచ్చు. + +క్రాస్-చైన్ కాంట్రాక్ట్ కాల్స్ అసమకాలికంగా జరుగుతాయి—అంటే కాల్ మొదట ప్రారంభించబడి, తర్వాత అమలు చేయబడుతుంది. ఇది ఇతీరియముపై రెండు కాంట్రాక్టుల మధ్య కాల్స్ నుండి భిన్నంగా ఉంటుంది, ఇక్కడ కాల్ వెంటనే ఫలితాలను ఉత్పత్తి చేస్తుంది. + +క్రాస్-చైన్ కాంట్రాక్ట్ కాల్‌కు ఒక ఉదాహరణ ముందుగా వివరించిన టోకెన్ డిపాజిట్. L1లోని ఒక కాంట్రాక్ట్ వినియోగదారుడి టోకెన్లను ఎస్క్రో చేసి, రోలప్‌లో సమానమైన టోకెన్లను మింట్ చేయడానికి ఒక జత L2 కాంట్రాక్ట్‌కు ఒక సందేశాన్ని పంపుతుంది. + +క్రాస్-చైన్ సందేశ కాల్స్ కాంట్రాక్ట్ అమలుకు దారితీస్తాయి కాబట్టి, పంపినవారు సాధారణంగా గణన కోసం [గ్యాస్ ఖర్చులను](/developers/docs/gas/) భరించవలసి ఉంటుంది. లక్ష్య చైన్‌లో లావాదేవీ విఫలం కాకుండా నిరోధించడానికి అధిక గ్యాస్ పరిమితిని సెట్ చేయడం మంచిది. టోకెన్ బ్రిడ్జింగ్ దృష్టాంతం ఒక మంచి ఉదాహరణ; లావాదేవీ యొక్క L1 వైపు (టోకెన్లను డిపాజిట్ చేయడం) పనిచేసి, కానీ L2 వైపు (కొత్త టోకెన్లను మింట్ చేయడం) తక్కువ గ్యాస్ కారణంగా విఫలమైతే, డిపాజిట్ తిరిగి పొందలేనిదిగా మారుతుంది. + +చివరగా, కాంట్రాక్టుల మధ్య L2 > L1 సందేశ కాల్స్ ఆలస్యాలను పరిగణనలోకి తీసుకోవాలని గమనించాలి (L1 > L2 కాల్స్ సాధారణంగా కొన్ని నిమిషాల తర్వాత అమలు చేయబడతాయి). ఎందుకంటే ఆప్టిమిస్టిక్ రోలప్ నుండి మెయిన్‌నెట్‌కు పంపిన సందేశాలు ఛాలెంజ్ విండో ముగిసే వరకు అమలు చేయబడవు. + +## ఆప్టిమిస్టిక్ రోలప్ ఫీజులు ఎలా పనిచేస్తాయి? {#how-do-optimistic-rollup-fees-work} + +ఆప్టిమిస్టిక్ రోలప్‌లు ఇతీరియము వలె ఒక గ్యాస్ ఫీజు స్కీమ్‌ను ఉపయోగిస్తాయి, ఇది వినియోగదారులు ప్రతి లావాదేవీకి ఎంత చెల్లించాలో సూచిస్తుంది. ఆప్టిమిస్టిక్ రోలప్‌లపై వసూలు చేయబడే ఫీజులు క్రింది భాగాలపై ఆధారపడి ఉంటాయి: + +1. **స్టేట్ రైట్**: ఆప్టిమిస్టిక్ రోలప్‌లు లావాదేవీ డేటా మరియు బ్లాక్ హెడర్‌లను (మునుపటి బ్లాక్ హెడర్ హాష్, స్థితి రూట్, బ్యాచ్ రూట్‌తో కూడినవి) ఇతీరియముకు ఒక `blob`, లేదా "బైనరీ లార్జ్ ఆబ్జెక్ట్"గా ప్రచురిస్తాయి. [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844) ఆన్‌చెయిన్‌లో డేటాను చేర్చడానికి ఒక ఖర్చు-సమర్థవంతమైన పరిష్కారాన్ని ప్రవేశపెట్టింది. ఒక `blob` అనేది ఒక కొత్త లావాదేవీ ఫీల్డ్, ఇది రోలప్‌లు కంప్రెస్డ్ స్థితి పరివర్తన డేటాను ఇతీరియము L1కు పోస్ట్ చేయడానికి అనుమతిస్తుంది. `calldata` వలె కాకుండా, ఇది శాశ్వతంగా ఆన్‌చెయిన్‌లో ఉంటుంది, బ్లాబ్స్ స్వల్పకాలికమైనవి మరియు [4096 యుగాల](https://github.com/ethereum/consensus-specs/blob/81f3ea8322aff6b9fb15132d050f8f98b16bdba4/configs/mainnet.yaml#L147) తర్వాత (సుమారు 18 రోజులు) ఖాతాదారుల నుండి కత్తిరించబడతాయి. కంప్రెస్డ్ లావాదేవీల బ్యాచ్‌లను పోస్ట్ చేయడానికి బ్లాబ్స్‌ను ఉపయోగించడం ద్వారా, ఆప్టిమిస్టిక్ రోలప్‌లు L1కు లావాదేవీలను వ్రాసే ఖర్చును గణనీయంగా తగ్గించగలవు. + +2. **బ్లాబ్ గ్యాస్ ఉపయోగించబడింది**: బ్లాబ్-క్యారీయింగ్ లావాదేవీలు [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559) ద్వారా ప్రవేశపెట్టబడిన దానికి సమానమైన డైనమిక్ ఫీజు మెకానిజంను ఉపయోగిస్తాయి. టైప్-3 లావాదేవీల కోసం గ్యాస్ ఫీజు బ్లాబ్స్ కోసం మూల రుసుమును పరిగణనలోకి తీసుకుంటుంది, ఇది బ్లాబ్-స్పేస్ డిమాండ్ మరియు పంపబడుతున్న లావాదేవీ యొక్క బ్లాబ్-స్పేస్ వాడకం ఆధారంగా నెట్‌వర్క్ ద్వారా నిర్ణయించబడుతుంది. + +3. **L2 ఆపరేటర్ ఫీజులు**: ఇది లావాదేవీలను ప్రాసెస్ చేయడంలో అయ్యే గణన ఖర్చులకు పరిహారంగా రోలప్ నోడ్స్‌కు చెల్లించబడే మొత్తం, ఇతీరియముపై గ్యాస్ ఫీజుల వలె. L2లకు అధిక ప్రాసెసింగ్ సామర్థ్యాలు ఉన్నందున మరియు ఇతీరియముపై వాలిడేటర్లను అధిక ఫీజులతో లావాదేవీలకు ప్రాధాన్యత ఇవ్వమని బలవంతం చేసే నెట్‌వర్క్ రద్దీలను ఎదుర్కోనందున రోలప్ నోడ్స్ తక్కువ లావాదేవీ ఫీజులను వసూలు చేస్తాయి. + +ఆప్టిమిస్టిక్ రోలప్‌లు వినియోగదారుల కోసం ఫీజులను తగ్గించడానికి అనేక మెకానిజమ్‌లను వర్తింపజేస్తాయి, ఇందులో లావాదేవీలను బ్యాచింగ్ చేయడం మరియు డేటా ప్రచురణ ఖర్చులను తగ్గించడానికి `calldata`ను కుదించడం వంటివి ఉంటాయి. ఇతీరియము-ఆధారిత ఆప్టిమిస్టిక్ రోలప్‌లను ఉపయోగించడానికి ఎంత ఖర్చవుతుందో నిజ-సమయ అవలోకనం కోసం మీరు [L2 ఫీ ట్రాకర్‌](https://l2fees.info/)ని తనిఖీ చేయవచ్చు. + +## ఆప్టిమిస్టిక్ రోలప్‌లు ఇతీరియమును ఎలా స్కేల్ చేస్తాయి? {#scaling-ethereum-with-optimistic-rollups} + +వివరించినట్లుగా, ఆప్టిమిస్టిక్ రోలప్‌లు డేటా లభ్యతకు హామీ ఇవ్వడానికి ఇతీరియముపై కుదించబడిన లావాదేవీ డేటాను ప్రచురిస్తాయి. ఆన్‌చెయిన్‌లో ప్రచురించబడిన డేటాను కుదించగల సామర్థ్యం ఆప్టిమిస్టిక్ రోలప్‌లతో ఇతీరియముపై త్రూపుట్‌ను స్కేలింగ్ చేయడానికి కీలకం. + +ప్రధాన ఇతీరియము చైన్ బ్లాక్‌లు ఎంత డేటాను కలిగి ఉండగలవో గ్యాస్ యూనిట్లలో (సగటు బ్లాక్ పరిమాణం 15 మిలియన్ల గ్యాస్) పరిమితులను విధిస్తుంది. ఇది ప్రతి లావాదేవీ ఎంత గ్యాస్‌ను ఉపయోగించగలదో పరిమితం చేస్తున్నప్పటికీ, లావాదేవీ-సంబంధిత డేటాను తగ్గించడం ద్వారా ప్రతి బ్లాక్‌కు ప్రాసెస్ చేయబడిన లావాదేవీలను పెంచవచ్చని కూడా దీని అర్థం—ఇది నేరుగా స్కేలబిలిటీని మెరుగుపరుస్తుంది. + +ఆప్టిమిస్టిక్ రోలప్‌లు లావాదేవీ డేటా కుదింపును సాధించడానికి మరియు TPS రేట్లను మెరుగుపరచడానికి అనేక పద్ధతులను ఉపయోగిస్తాయి. ఉదాహరణకు, ఈ [వ్యాసం](https://vitalik.eth.limo/general/2021/01/05/rollup.html) మెయిన్‌నెట్‌లో ఒక ప్రాథమిక వినియోగదారు లావాదేవీ (ఈథర్ పంపడం) ఉత్పత్తి చేసే డేటాను మరియు అదే లావాదేవీ రోలప్‌లో ఎంత డేటాను ఉత్పత్తి చేస్తుందో పోలుస్తుంది: + +| పరామితి | ఇతీరియము (L1) | రోలప్ (L2) | +| ------------- | ---------------------------------------------------- | ------------------------------------ | +| నాన్స్ | ~3 | 0 | +| గ్యాస్‌ప్రైస్ | ~8 | 0-0.5 | +| గ్యాస్ | 3 | 0-0.5 | +| కు | 21 | 4 | +| విలువ | 9 | ~3 | +| సంతకం | ~68 (2 + 33 + 33) | ~0.5 | +| నుండి | 0 (sig నుండి తిరిగి పొందబడింది) | 4 | +| **మొత్తం** | **~112 బైట్లు** | **~12 బైట్లు** | + +ఈ సంఖ్యలపై కొన్ని స్థూల గణనలు చేయడం ఆప్టిమిస్టిక్ రోలప్ అందించే స్కేలబిలిటీ మెరుగుదలలను చూపడంలో సహాయపడుతుంది: + +1. ప్రతి బ్లాక్ యొక్క లక్ష్య పరిమాణం 15 మిలియన్ల గ్యాస్ మరియు ఒక బైట్ డేటాను ధృవీకరించడానికి 16 గ్యాస్ ఖర్చవుతుంది. సగటు బ్లాక్ పరిమాణాన్ని 16 గ్యాస్‌తో (15,000,000/16) భాగించడం ద్వారా సగటు బ్లాక్ **937,500 బైట్ల డేటాను** కలిగి ఉండగలదని చూపిస్తుంది. +2. ఒక ప్రాథమిక రోలప్ లావాదేవీ 12 బైట్లను ఉపయోగిస్తే, సగటు ఇతీరియము బ్లాక్ **78,125 రోలప్ లావాదేవీలను** (937,500/12) లేదా **39 రోలప్ బ్యాచ్‌లను** (ప్రతి బ్యాచ్ సగటున 2,000 లావాదేవీలను కలిగి ఉంటే) ప్రాసెస్ చేయగలదు. +3. ప్రతి 15 సెకన్లకు ఇతీరియములో ఒక కొత్త బ్లాక్ ఉత్పత్తి చేయబడితే, రోలప్ యొక్క ప్రాసెసింగ్ వేగం సెకనుకు సుమారు **5,208 లావాదేవీలు** అవుతుంది. ఇది ఒక ఇతీరియము బ్లాక్ కలిగి ఉండగల ప్రాథమిక రోలప్ లావాదేవీల సంఖ్యను (**78,125**) సగటు బ్లాక్ సమయంతో (**15 సెకన్లు**) భాగించడం ద్వారా చేయబడుతుంది. + +ఆప్టిమిస్టిక్ రోలప్ లావాదేవీలు ఇతీరియములో మొత్తం బ్లాక్‌ను కలిగి ఉండవు కాబట్టి ఇది చాలా ఆశాజనకమైన అంచనా. అయితే, ఆప్టిమిస్టిక్ రోలప్‌లు ఇతీరియము వినియోగదారులకు ఎంత స్కేలబిలిటీ లాభాలను అందించగలవో ఇది ఒక స్థూల ఆలోచనను ఇస్తుంది (ప్రస్తుత అమలులు 2,000 TPS వరకు అందిస్తాయి). + +ఇతీరియముపై [డేటా షార్డింగ్](/roadmap/danksharding/) ప్రవేశపెట్టడం ఆప్టిమిస్టిక్ రోలప్‌లలో స్కేలబిలిటీని మెరుగుపరుస్తుందని భావిస్తున్నారు. రోలప్ లావాదేవీలు ఇతర నాన్-రోలప్ లావాదేవీలతో బ్లాక్‌స్పేస్‌ను పంచుకోవాలి కాబట్టి, వాటి ప్రాసెసింగ్ సామర్థ్యం ప్రధాన ఇతీరియము చైన్‌పై డేటా త్రూపుట్ ద్వారా పరిమితం చేయబడింది. డంక్‌షార్డింగ్ L2 చైన్‌లకు ప్రతి బ్లాక్‌కు డేటాను ప్రచురించడానికి అందుబాటులో ఉన్న స్థలాన్ని పెంచుతుంది, ఖరీదైన, శాశ్వత `CALLDATA`కు బదులుగా చౌకైన, అశాశ్వతమైన "బ్లాబ్" నిల్వను ఉపయోగిస్తుంది. + +### ఆప్టిమిస్టిక్ రోలప్‌ల యొక్క లాభాలు మరియు నష్టాలు {#optimistic-rollups-pros-and-cons} + +| ప్రయోజనాలు | అప్రయోజనాలు | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| భద్రత లేదా ట్రస్ట్‌లెస్నెస్‌ను త్యాగం చేయకుండా స్కేలబిలిటీలో భారీ మెరుగుదలలను అందిస్తుంది. | సంభావ్య మోసం సవాళ్ల కారణంగా లావాదేవీ ఫైనాలిటీలో ఆలస్యం. | +| లావాదేవీ డేటా లేయర్ 1 చైన్‌లో నిల్వ చేయబడుతుంది, పారదర్శకత, భద్రత, సెన్సార్‌షిప్-నిరోధకత మరియు వికేంద్రీకరణను మెరుగుపరుస్తుంది. | కేంద్రీకృత రోలప్ ఆపరేటర్లు (సీక్వెన్సర్లు) లావాదేవీ క్రమాన్ని ప్రభావితం చేయవచ్చు. | +| మోసం రుజువు ట్రస్ట్‌లెస్ ఫైనాలిటీకి హామీ ఇస్తుంది మరియు నిజాయితీగల మైనారిటీలు చైన్‌ను సురక్షితంగా ఉంచడానికి అనుమతిస్తుంది. | నిజాయితీగల నోడ్స్ లేకపోతే, ఒక దురుద్దేశపూర్వక ఆపరేటర్ చెల్లని బ్లాక్‌లు మరియు స్థితి కమిట్‌మెంట్‌లను పోస్ట్ చేయడం ద్వారా నిధులను దొంగిలించవచ్చు. | +| మోసం రుజువులను గణించడం సాధారణ L2 నోడ్‌కు అందుబాటులో ఉంటుంది, ప్రత్యేక హార్డ్‌వేర్ అవసరమయ్యే చెల్లుబాటు రుజువుల (ZK-రోలప్‌లలో ఉపయోగించబడేవి) వలె కాకుండా. | భద్రతా మోడల్ కనీసం ఒక నిజాయితీగల నోడ్ రోలప్ లావాదేవీలను అమలు చేయడం మరియు చెల్లని స్థితి పరివర్తనలను సవాలు చేయడానికి మోసం రుజువులను సమర్పించడంపై ఆధారపడి ఉంటుంది. | +| రోలప్‌లు "ట్రస్ట్‌లెస్ లైవ్‌నెస్" నుండి ప్రయోజనం పొందుతాయి (ఎవరైనా లావాదేవీలను అమలు చేయడం మరియు అస్సెర్షన్‌లను పోస్ట్ చేయడం ద్వారా చైన్‌ను ముందుకు నెట్టవచ్చు) | వినియోగదారులు నిధులను తిరిగి ఇతీరియముకు ఉపసంహరించుకునే ముందు ఒక వారం ఛాలెంజ్ పీరియడ్ ముగిసే వరకు వేచి ఉండాలి. | +| ఆప్టిమిస్టిక్ రోలప్‌లు చైన్‌పై భద్రతను పెంచడానికి బాగా రూపొందించిన క్రిప్టోఎకనామిక్ ప్రోత్సాహకాలపై ఆధారపడతాయి. | రోలప్‌లు అన్ని లావాదేవీ డేటాను ఆన్‌చెయిన్‌లో పోస్ట్ చేయాలి, ఇది ఖర్చులను పెంచవచ్చు. | +| EVM మరియు Solidityతో అనుకూలత డెవలపర్‌లను ఇతీరియము-స్థానిక స్మార్ట్ కాంట్రాక్టులను రోలప్‌లకు పోర్ట్ చేయడానికి లేదా కొత్త డాప్స్‌ను సృష్టించడానికి ఇప్పటికే ఉన్న పనిముట్లను ఉపయోగించడానికి అనుమతిస్తుంది. | | + +### ఆప్టిమిస్టిక్ రోలప్‌ల యొక్క దృశ్య వివరణ {#optimistic-video} + +దృశ్య అభ్యాసకులా? ఆప్టిమిస్టిక్ రోలప్‌లను వివరించే ఫైనిమాటిక్స్ చూడండి: + + + +## ఆప్టిమిస్టిక్ రోలప్‌లపై మరింత పఠనం + +- [ఆప్టిమిస్టిక్ రోలప్‌లు ఎలా పనిచేస్తాయి (పూర్తి గైడ్)](https://www.alchemy.com/overviews/optimistic-rollups) +- [ఒక బ్లాక్ చైను రోలప్ అంటే ఏమిటి? ఒక సాంకేతిక పరిచయం](https://www.ethereum-ecosystem.com/blog/what-is-a-blockchain-rollup-a-technical-introduction) +- [ఆర్బిట్రమ్‌కు అవసరమైన గైడ్](https://www.bankless.com/the-essential-guide-to-arbitrum) +- [ఇతీరియము రోలప్‌లకు ప్రాక్టికల్ గైడ్](https://web.archive.org/web/20241108192208/https://research.2077.xyz/the-practical-guide-to-ethereum-rollups) +- [ఇతీరియము L2లలో మోసం రుజువుల స్థితి](https://web.archive.org/web/20241124154627/https://research.2077.xyz/the-state-of-fraud-proofs-in-ethereum-l2s) +- [ఆప్టిమిజం యొక్క రోలప్ నిజంగా ఎలా పనిచేస్తుంది?](https://www.paradigm.xyz/2021/01/how-does-optimism-s-rollup-really-work) +- [OVM డీప్ డైవ్](https://medium.com/ethereum-optimism/ovm-deep-dive-a300d1085f52) +- [ఆప్టిమిస్టిక్ వర్చువల్ మెషీన్ అంటే ఏమిటి?](https://www.alchemy.com/overviews/optimistic-virtual-machine) diff --git a/public/content/translations/te/developers/docs/scaling/plasma/index.md b/public/content/translations/te/developers/docs/scaling/plasma/index.md new file mode 100644 index 00000000000..b60741d1679 --- /dev/null +++ b/public/content/translations/te/developers/docs/scaling/plasma/index.md @@ -0,0 +1,176 @@ +--- +title: "ప్లాస్మా గొలుసులు" +description: "ప్రస్తుతం Ethereum కమ్యూనిటీ ద్వారా ఉపయోగించబడుతున్న స్కేలింగ్ సొల్యూషన్‌గా ప్లాస్మా చైన్‌లకు పరిచయం." +lang: te +incomplete: true +sidebarDepth: 3 +--- + +ప్లాస్మా చైన్ అనేది Ethereum Mainnetకు లంగరు వేయబడిన ఒక ప్రత్యేక బ్లాక్ చైను, అయితే ఇది బ్లాక్ ధ్రువీకరణ కోసం దాని స్వంత యంత్రాంగంతో ఆఫ్-చెయిన్ లావాదేవీలను అమలు చేస్తుంది. ప్లాస్మా చైన్‌లను కొన్నిసార్లు "చైల్డ్" చైన్‌లుగా సూచిస్తారు, ముఖ్యంగా Ethereum Mainnet యొక్క చిన్న కాపీలు. వివాదాలను మధ్యవర్తిత్వం చేయడానికి ప్లాస్మా చైన్‌లు ([optimistic rollups](/developers/docs/scaling/optimistic-rollups/) లాగా) [fraud proofs](/glossary/#fraud-proof)ను ఉపయోగిస్తాయి. + +మెర్కిల్ ట్రీలు ఈ గొలుసుల యొక్క అంతులేని స్టాక్‌ను సృష్టించడాన్ని ప్రారంభిస్తాయి, ఇవి పేరెంట్ చెయిన్‌ల (Ethereum మెయిన్‌నెట్‌తో సహా) నుండి బ్యాండ్‌విడ్త్‌ను ఆఫ్‌లోడ్ చేయడానికి పని చేస్తాయి. అయితే, ఈ గొలుసులు Ethereum (మోసం రుజువుల ద్వారా) నుండి కొంత భద్రతను పొందినప్పటికీ, వాటి భద్రత మరియు సామర్థ్యం అనేక డిజైన్ పరిమితుల ద్వారా ప్రభావితమవుతాయి. + +## అవసరాలు {#prerequisites} + +మీరు అన్ని ప్రాథమిక అంశాల గురించి మంచి అవగాహన మరియు [ఇతీరియము స్కేలింగ్](/developers/docs/scaling/) గురించి ఉన్నత-స్థాయి అవగాహన కలిగి ఉండాలి. + +## ప్లాస్మా అంటే ఏమిటి? + +ప్లాస్మా అనేది Ethereum వంటి పబ్లిక్ బ్లాక్‌చెయిన్‌లలో స్కేలబిలిటీని మెరుగుపరచడానికి ఒక ఫ్రేమ్‌వర్క్. అసలు [ప్లాస్మా వైట్‌పేపర్](http://plasma.io/plasma.pdf)లో వివరించినట్లుగా, ప్లాస్మా చైన్‌లు మరొక బ్లాక్ చైనుపై నిర్మించబడ్డాయి (దీనిని "రూట్ చైన్" అని పిలుస్తారు). ప్రతి "చైల్డ్ చైన్" రూట్ చైన్ నుండి విస్తరించి ఉంటుంది మరియు సాధారణంగా పేరెంట్ చైన్‌లో అమలు చేయబడిన స్మార్ట్ కాంట్రాక్ట్ ద్వారా నిర్వహించబడుతుంది. + +ప్లాస్మా కాంట్రాక్ట్, ఇతర విషయాలతోపాటు, వినియోగదారులు Ethereum Mainnet మరియు ప్లాస్మా చైన్ మధ్య ఆస్తులను తరలించడానికి అనుమతించే ఒక [వంతెన](/developers/docs/bridges/) వలె పనిచేస్తుంది. ఇది వాటిని [సైడ్చైన్‌ల](/developers/docs/scaling/sidechains/)కు సారూప్యంగా చేసినప్పటికీ, ప్లాస్మా చైన్‌లు—కనీసం కొంతవరకు—Ethereum Mainnet యొక్క భద్రత నుండి ప్రయోజనం పొందుతాయి. ఇది వారి భద్రతకు మాత్రమే బాధ్యత వహించే సైడ్‌చెయిన్‌ల వలె కాకుండా ఉంటుంది. + +## ప్లాస్మా ఎలా పని చేస్తుంది? + +ప్లాస్మా ఫ్రేమ్‌వర్క్ యొక్క ప్రాథమిక భాగాలు: + +### ఆఫ్-చెయిన్ గణన {#offchain-computation} + +Ethereum యొక్క ప్రస్తుత ప్రాసెసింగ్ వేగం సెకనుకు ~ 15-20 లావాదేవీలకు పరిమితం చేయబడింది, ఎక్కువ మంది వినియోగదారులను నిర్వహించడానికి స్కేలింగ్ యొక్క స్వల్పకాలిక అవకాశాన్ని తగ్గిస్తుంది. ఇతీరియము యొక్క [ఏకాభిప్రాయ యంత్రాంగానికి](/developers/docs/consensus-mechanisms/) బ్లాక్ చైను స్థితికి ప్రతి నవీకరణను ధృవీకరించడానికి అనేక పీర్-టు-పీర్ నోడ్లు అవసరం కాబట్టి ఈ సమస్య ప్రధానంగా ఉంది. + +భద్రత కోసం Ethereum యొక్క ఏకాభిప్రాయ విధానం అవసరం అయినప్పటికీ, ఇది ప్రతి వినియోగ సందర్భానికి వర్తించకపోవచ్చు. ఉదాహరణకు, రెండు పార్టీల మధ్య కొంత నమ్మకం ఉన్నందున మొత్తం Ethereum నెట్‌వర్క్ ద్వారా ధృవీకరించబడిన ఒక కప్పు కాఫీ కోసం ఆలిస్‌కి బాబ్‌కి ఆమె రోజువారీ చెల్లింపులు అవసరం లేదు. + +Ethereum Mainnet అన్ని లావాదేవీలను ధృవీకరించాల్సిన అవసరం లేదని ప్లాస్మా భావిస్తోంది. బదులుగా, మేము మెయిన్‌నెట్‌లో లావాదేవీలను ప్రాసెస్ చేయగలము, ప్రతి లావాదేవీని ధృవీకరించకుండా నోడ్‌లను విముక్తి చేస్తాము. + +ప్లాస్మా చైన్‌లు వేగం మరియు ఖర్చు కోసం ఆప్టిమైజ్ చేయగలవు కాబట్టి ఆఫ్-చెయిన్ గణన అవసరం. ఉదాహరణకు, ప్లాస్మా చైన్ లావాదేవీల క్రమాన్ని మరియు అమలును నిర్వహించడానికి ఒకే "ఆపరేటర్"ని ఉపయోగించవచ్చు-మరియు చాలా తరచుగా చేస్తుంది. కేవలం ఒక ఎంటిటీ వెరిఫై చేసే లావాదేవీలతో, ప్లాస్మా చైన్‌లో ప్రాసెసింగ్ సమయాలు Ethereum Mainnet కంటే వేగంగా ఉంటాయి. + +### స్థితి కట్టుబాట్లు {#state-commitments} + +ప్లాస్మా ఆఫ్-చెయిన్ లావాదేవీలను అమలు చేస్తున్నప్పుడు, అవి ప్రధాన ఇతీరియము ఎగ్జిక్యూషన్ లేయర్‌పై స్థిరపడతాయి—లేకపోతే, ప్లాస్మా చైన్‌లు ఇతీరియము యొక్క భద్రతా హామీల నుండి ప్రయోజనం పొందలేవు. కానీ ప్లాస్మా చైన్ యొక్క స్థితిని తెలుసుకోకుండా ఆఫ్-చెయిన్ లావాదేవీలను ఖరారు చేయడం భద్రతా నమూనాను విచ్ఛిన్నం చేస్తుంది మరియు చెల్లని లావాదేవీల విస్తరణను అనుమతిస్తుంది. అందుకే ప్లాస్మా చైన్‌లో బ్లాక్‌లను ఉత్పత్తి చేయడానికి బాధ్యత వహించే సంస్థ అయిన ఆపరేటర్, Ethereumలో కాలానుగుణంగా "స్టేట్ కమిట్‌మెంట్‌లను" ప్రచురించాల్సిన అవసరం ఉంది. + +ఒక [కమిట్‌మెంట్ స్కీమ్](https://en.wikipedia.org/wiki/Commitment_scheme) అనేది ఒక విలువకు లేదా ప్రకటనకు కట్టుబడి, దానిని మరొక పక్షానికి బహిర్గతం చేయకుండా ఉండే ఒక క్రిప్టోగ్రాఫిక్ పద్ధతి. మీరు కట్టుబడి ఉన్న తర్వాత విలువ లేదా స్టేట్‌మెంట్‌ను మార్చలేరు అనే అర్థంలో కమిట్‌మెంట్‌లు "బైండింగ్". ప్లాస్మాలో స్థితి కట్టుబాట్లు "Merkle roots" ([Merkle tree](/whitepaper/#merkle-trees) నుండి ఉద్భవించాయి) రూపాన్ని తీసుకుంటాయి, వీటిని ఆపరేటర్ ఇతీరియము చైన్‌లోని ప్లాస్మా కాంట్రాక్ట్‌కు విరామాలలో పంపుతారు. + +మెర్కిల్ మూలాలు క్రిప్టోగ్రాఫిక్ ప్రిమిటివ్‌లు, ఇవి పెద్ద మొత్తంలో సమాచారాన్ని కుదించడానికి వీలు కల్పిస్తాయి. మెర్కిల్ రూట్ (ఈ సందర్భంలో "బ్లాక్ రూట్" అని కూడా పిలుస్తారు) బ్లాక్‌లోని అన్ని లావాదేవీలను సూచిస్తుంది. మెర్కిల్ రూట్‌లు ఒక చిన్న డేటా పెద్ద డేటాసెట్‌లో భాగమని ధృవీకరించడాన్ని కూడా సులభతరం చేస్తాయి. ఉదాహరణకు, ఒక వినియోగదారుడు ఒక నిర్దిష్ట బ్లాక్‌లో లావాదేవీ చేర్చబడిందని నిరూపించడానికి [Merkle proof](/developers/tutorials/merkle-proofs-for-offline-data-integrity/#main-content)ను ఉత్పత్తి చేయవచ్చు. + +ఆఫ్-చెయిన్ యొక్క స్థితి గురించి ఇతీరియముకు సమాచారాన్ని అందించడానికి Merkle రూట్‌లు ముఖ్యమైనవి. మీరు మెర్కిల్ రూట్‌లను "సేవ్ పాయింట్స్"గా భావించవచ్చు: ఆపరేటర్, "ఇది x పాయింట్‌లో ప్లాస్మా చైన్ యొక్క స్థితి మరియు ఇది రుజువుగా మెర్కిల్ రూట్." ఆపరేటర్ ఒక Merkle రూట్‌తో ప్లాస్మా చైన్ యొక్క _ప్రస్తుత స్థితికి_ కట్టుబడి ఉంటారు, అందుకే దీనిని "స్థితి కట్టుబాటు" అని పిలుస్తారు. + +### ప్రవేశాలు మరియు నిష్క్రమణలు {#entries-and-exits} + +Ethereum వినియోగదారులు ప్లాస్మా ప్రయోజనాన్ని పొందడానికి, Mainnet మరియు ప్లాస్మా గొలుసుల మధ్య నిధులను తరలించడానికి ఒక మెకానిజం ఉండాలి. ప్లాస్మా చైన్‌లోని చిరునామాకు మేము ఏకపక్షంగా ఈథర్‌ను పంపలేము, అయితే-ఈ చైన్‌లు అననుకూలంగా ఉన్నాయి, కాబట్టి లావాదేవీ విఫలమవుతుంది లేదా నిధులను కోల్పోయేలా చేస్తుంది. + +వినియోగదారు ఎంట్రీలు మరియు నిష్క్రమణలను ప్రాసెస్ చేయడానికి ప్లాస్మా Ethereumలో అమలవుతున్న మాస్టర్ ఒప్పందాన్ని ఉపయోగిస్తుంది. ఈ మాస్టర్ కాంట్రాక్ట్ రాష్ట్ర కట్టుబాట్లను ట్రాక్ చేయడానికి కూడా బాధ్యత వహిస్తుంది (ముందు వివరించబడింది) మరియు మోసపూరిత రుజువుల ద్వారా నిజాయితీ లేని ప్రవర్తనను శిక్షించడం (దీని తర్వాత మరింత). + +#### ప్లాస్మా చైన్‌లో ప్రవేశించడం {#entering-the-plasma-chain} + +ప్లాస్మా చైన్‌లోకి ప్రవేశించడానికి, ఆలిస్ (వినియోగదారు) ప్లాస్మా ఒప్పందంలో ETH లేదా ఏదైనా ERC-20 టోకెన్‌ను డిపాజిట్ చేయాలి. కాంట్రాక్ట్ డిపాజిట్‌లను చూసే ప్లాస్మా ఆపరేటర్, ఆలిస్ ప్రారంభ డిపాజిట్‌కి సమానమైన మొత్తాన్ని తిరిగి సృష్టించి, ప్లాస్మా చైన్‌లోని ఆమె చిరునామాకు విడుదల చేస్తాడు. చైల్డ్ చైన్‌లో నిధులను స్వీకరించినట్లు ఆలిస్ ధృవీకరించాలి మరియు ఆ తర్వాత లావాదేవీల కోసం ఈ నిధులను ఉపయోగించవచ్చు. + +#### ప్లాస్మా చైన్ నుండి నిష్క్రమించడం {#exiting-the-plasma-chain} + +అనేక కారణాల వల్ల ప్లాస్మా చైన్‌లోకి ప్రవేశించడం కంటే నిష్క్రమించడం చాలా క్లిష్టంగా ఉంటుంది. అతిపెద్దది ఏమిటంటే, Ethereum ప్లాస్మా చైన్ స్థితి గురించి సమాచారాన్ని కలిగి ఉన్నప్పటికీ, అది సమాచారం నిజమో కాదో ధృవీకరించలేదు. హానికరమైన వినియోగదారు తప్పుగా వాదించవచ్చు ("నా వద్ద 1000 ETH ఉంది") మరియు దావాను బ్యాకప్ చేయడానికి నకిలీ రుజువులను అందించకుండా తప్పించుకోవచ్చు. + +హానికరమైన ఉపసంహరణలను నిరోధించడానికి, "ఛాలెంజ్ పీరియడ్" ప్రవేశపెట్టబడింది. ఛాలెంజ్ వ్యవధిలో (సాధారణంగా ఒక వారం), ఎవరైనా మోసం ప్రూఫ్ ఉపయోగించి ఉపసంహరణ అభ్యర్థనను సవాలు చేయవచ్చు. సవాలు విజయవంతమైతే, ఉపసంహరణ అభ్యర్థన తిరస్కరించబడుతుంది. + +అయినప్పటికీ, వినియోగదారులు నిజాయితీగా ఉంటారు మరియు వారి స్వంత నిధుల గురించి సరైన క్లెయిమ్‌లు చేయడం సాధారణంగా జరుగుతుంది. ఈ దృష్టాంతంలో, ప్లాస్మా ఒప్పందానికి లావాదేవీని సమర్పించడం ద్వారా రూట్ చైన్ (Ethereum) పై ఉపసంహరణ అభ్యర్థనను ఆలిస్ ప్రారంభిస్తుంది. + +ప్లాస్మా చైన్‌లో తన నిధులను సృష్టించే లావాదేవీ బ్లాక్‌లో చేర్చబడిందని ధృవీకరించే మెర్కిల్ రుజువును కూడా ఆమె అందించాలి. [Unspent Transaction Output (UTXO)](https://en.wikipedia.org/wiki/Unspent_transaction_output) మోడల్‌ను ఉపయోగించే [ప్లాస్మా MVP](https://www.learnplasma.org/en/learn/mvp.html) వంటి ప్లాస్మా యొక్క పునరావృత్తులకు ఇది అవసరం. + +[ప్లాస్మా క్యాష్](https://www.learnplasma.org/en/learn/cash.html) వంటి ఇతరులు, UTXOలకు బదులుగా నిధులను [నాన్-ఫంగిబుల్ టోకెన్‌ల](/developers/docs/standards/tokens/erc-721/) వలె సూచిస్తాయి. ఉపసంహరణకు, ఈ సందర్భంలో, ప్లాస్మా గొలుసుపై టోకెన్ల యాజమాన్యం యొక్క రుజువు అవసరం. టోకెన్‌తో కూడిన రెండు తాజా లావాదేవీలను సమర్పించడం ద్వారా మరియు ఆ లావాదేవీలను బ్లాక్‌లో చేర్చడాన్ని ధృవీకరించే మెర్కిల్ రుజువును అందించడం ద్వారా ఇది జరుగుతుంది. + +నిజాయితీ ప్రవర్తనకు హామీగా ఉపసంహరణ అభ్యర్థనకు వినియోగదారు తప్పనిసరిగా బాండ్‌ను కూడా జోడించాలి. ఆలిస్ యొక్క ఉపసంహరణ అభ్యర్థన చెల్లదని ఛాలెంజర్ రుజువు చేస్తే, ఆమె బంధం కత్తిరించబడుతుంది మరియు దానిలో కొంత బహుమతిగా ఛాలెంజర్‌కు వెళ్తుంది. + +ఎవరైనా మోసం-ప్రూఫ్ అందించకుండానే ఛాలెంజ్ కాలం గడిచిపోతే, ఆలిస్ యొక్క ఉపసంహరణ అభ్యర్థన చెల్లుబాటు అయ్యేదిగా పరిగణించబడుతుంది, తద్వారా ఆమె Ethereumలో ప్లాస్మా ఒప్పందం నుండి డిపాజిట్లను తిరిగి పొందేందుకు అనుమతిస్తుంది. + +### వివాద మధ్యవర్తిత్వం {#dispute-arbitration} + +ఏదైనా బ్లాక్ చైను మాదిరిగానే, పాల్గొనేవారు హానికరంగా వ్యవహరించిన సందర్భంలో (ఉదా., నిధులను రెండుసార్లు ఖర్చు చేయడం) లావాదేవీల సమగ్రతను అమలు చేయడానికి ప్లాస్మా చైన్‌లకు ఒక యంత్రాంగం అవసరం. ఈ క్రమంలో, ప్లాస్మా చైన్‌లు రాష్ట్ర పరివర్తనల యొక్క చెల్లుబాటుకు సంబంధించిన వివాదాలను మధ్యవర్తిత్వం చేయడానికి మరియు చెడు ప్రవర్తనకు జరిమానా విధించడానికి మోసపూరిత రుజువులను ఉపయోగిస్తాయి. ప్లాస్మా చైల్డ్ చైన్ దాని పేరెంట్ చెయిన్‌కి లేదా రూట్ చెయిన్‌కి ఫిర్యాదు చేసే మెకానిజం వలె మోసపూరిత రుజువులు ఉపయోగించబడతాయి. + +మోసం-రుజువు అనేది ఒక నిర్దిష్ట రాష్ట్ర పరివర్తన చెల్లుబాటు కాదని కేవలం దావా. ఒక వినియోగదారు (ఆలిస్) ఒకే నిధులను రెండుసార్లు ఖర్చు చేయడానికి ప్రయత్నిస్తే ఒక ఉదాహరణ. బహుశా ఆమె బాబ్‌తో లావాదేవీలో UTXOని ఖర్చు చేసి ఉండవచ్చు మరియు అదే UTXO (ఇది ఇప్పుడు బాబ్‌కి చెందినది) మరొక లావాదేవీలో ఖర్చు చేయాలనుకుంటుంది. + +ఉపసంహరణను నిరోధించడానికి, బాబ్ మునుపటి లావాదేవీలో పేర్కొన్న UTXOని ఆలిస్ ఖర్చు చేసినట్లు రుజువు మరియు లావాదేవీని బ్లాక్‌లో చేర్చినందుకు మెర్కిల్ రుజువును అందించడం ద్వారా మోసం-ప్రూఫ్‌ను నిర్మిస్తాడు. అదే ప్రక్రియ ప్లాస్మా క్యాష్‌లో పనిచేస్తుంది-ఆలిస్ తను ఉపసంహరించుకోవడానికి ప్రయత్నిస్తున్న టోకెన్‌లను ఇంతకు ముందు బదిలీ చేసిందని బాబ్ రుజువును అందించాలి. + +బాబ్ యొక్క సవాలు విజయవంతమైతే, ఆలిస్ ఉపసంహరణ అభ్యర్థన రద్దు చేయబడుతుంది. అయితే, ఈ విధానం ఉపసంహరణ అభ్యర్థనల కోసం గొలుసును చూసే బాబ్ సామర్థ్యంపై ఆధారపడి ఉంటుంది. బాబ్ ఆఫ్‌లైన్‌లో ఉంటే, సవాలు వ్యవధి ముగిసిన తర్వాత ఆలిస్ హానికరమైన ఉపసంహరణను ప్రాసెస్ చేయవచ్చు. + +## ప్లాస్మాలో సామూహిక నిష్క్రమణ సమస్య {#the-mass-exit-problem-in-plasma} + +పెద్ద సంఖ్యలో వినియోగదారులు ఒకే సమయంలో ప్లాస్మా చైన్ నుండి ఉపసంహరించుకోవడానికి ప్రయత్నించినప్పుడు మాస్ ఎగ్జిట్ సమస్య ఏర్పడుతుంది. ఈ సమస్య ఎందుకు ఉందంటే, అది ప్లాస్మా యొక్క అతిపెద్ద సమస్యలలో ఒకటైన: **డేటా లభ్యత లేకపోవడం**. + +డేటా లభ్యత అనేది ప్రతిపాదిత బ్లాక్‌కు సంబంధించిన సమాచారం వాస్తవానికి బ్లాక్‌చెయిన్ నెట్‌వర్క్‌లో ప్రచురించబడిందని ధృవీకరించే సామర్ధ్యం. నిర్మాత బ్లాక్‌ని స్వయంగా ప్రచురించినా బ్లాక్‌ని సృష్టించడానికి ఉపయోగించే డేటాను నిలిపివేస్తే బ్లాక్ "అందుబాటులో లేదు". + +నోడ్‌లు బ్లాక్‌ను డౌన్‌లోడ్ చేయగలిగితే మరియు లావాదేవీల చెల్లుబాటును ధృవీకరించాలంటే బ్లాక్‌లు తప్పనిసరిగా అందుబాటులో ఉండాలి. బ్లాక్ చైనులు అన్ని లావాదేవీల డేటాను ఆన్-చైన్‌లో పోస్ట్ చేయమని బ్లాక్ ప్రొడ్యూసర్‌లను ఒత్తిడి చేయడం ద్వారా డేటా లభ్యతను నిర్ధారిస్తాయి. + +ఇతీరియము యొక్క బేస్ లేయర్‌పై నిర్మించే ఆఫ్-చెయిన్ స్కేలింగ్ ప్రోటోకాల్‌లను సురక్షితం చేయడంలో డేటా లభ్యత కూడా సహాయపడుతుంది. Ethereumలో లావాదేవీ డేటాను ప్రచురించమని ఈ గొలుసులపై ఆపరేటర్‌లను బలవంతం చేయడం ద్వారా, గొలుసు యొక్క సరైన స్థితిని సూచించే మోసపూరిత రుజువులను రూపొందించడం ద్వారా ఎవరైనా చెల్లని బ్లాక్‌లను సవాలు చేయవచ్చు. + +ప్లాస్మా చైన్‌లు ప్రధానంగా ఆపరేటర్‌తో లావాదేవీల డేటాను నిల్వ చేస్తాయి మరియు **Mainnetలో ఏ డేటాను ప్రచురించవు** (అంటే, ఆవర్తన స్థితి కట్టుబాట్లు మినహా). చెల్లని లావాదేవీలను సవాలు చేసే మోసపూరిత రుజువులను సృష్టించాల్సిన అవసరం ఉన్నట్లయితే, వినియోగదారులు బ్లాక్ డేటాను అందించడానికి ఆపరేటర్‌పై ఆధారపడాలి. ఈ సిస్టమ్ పని చేస్తే, వినియోగదారులు ఎల్లప్పుడూ నిధులను సురక్షితంగా ఉంచుకోవడానికి మోసపూరిత రుజువులను ఉపయోగించవచ్చు. + +ఆపరేటర్, ఏ యూజర్ అయినా, పార్టీ దురుద్దేశపూర్వకంగా ప్రవర్తించినప్పుడు సమస్య మొదలవుతుంది. బ్లాక్‌చెయిన్‌పై ఆపరేటర్ పూర్తిగా నియంత్రణలో ఉన్నందున, ప్లాస్మా చైన్‌లోని వినియోగదారులకు చెందిన నిధులను దొంగిలించడం వంటి పెద్ద స్థాయిలో చెల్లని స్థితి పరివర్తనలను ముందుకు తీసుకెళ్లడానికి వారికి మరింత ప్రోత్సాహం ఉంటుంది. + +ఈ సందర్భంలో, క్లాసిక్ మోసం-ప్రూఫ్ వ్యవస్థను ఉపయోగించడం పనిచేయదు. ఆపరేటర్ ఆలిస్ మరియు బాబ్ యొక్క నిధులను వారి వాలెట్‌కు బదిలీ చేయడం ద్వారా చెల్లని లావాదేవీని సులభంగా చేయవచ్చు మరియు మోసం-ప్రూఫ్‌ను రూపొందించడానికి అవసరమైన డేటాను దాచవచ్చు. వినియోగదారులు లేదా మెయిన్‌నెట్‌కు డేటాను అందుబాటులో ఉంచడానికి ఆపరేటర్ అవసరం లేనందున ఇది సాధ్యమవుతుంది. + +అందువల్ల, ప్లాస్మా చైన్ నుండి వినియోగదారులు "సామూహిక నిష్క్రమణ"ని ప్రయత్నించడం అత్యంత ఆశావాద పరిష్కారం. మాస్ ఎగ్జిట్ నిధులను దొంగిలించడానికి హానికరమైన ఆపరేటర్ యొక్క ప్రణాళికను నెమ్మదిస్తుంది మరియు వినియోగదారులకు కొంత రక్షణను అందిస్తుంది. ప్రతి UTXO (లేదా టోకెన్) ఎప్పుడు సృష్టించబడింది అనే దాని ఆధారంగా ఉపసంహరణ అభ్యర్థనలు ఆర్డర్ చేయబడతాయి, ఇది హానికరమైన ఆపరేటర్‌లను ఫ్రంట్-రన్నింగ్ నిజాయితీ గల వినియోగదారుల నుండి నిరోధించడం. + +అయినప్పటికీ, మాస్ ఎగ్జిట్ సమయంలో ఉపసంహరణ అభ్యర్థనల చెల్లుబాటును ధృవీకరించడానికి మాకు ఇంకా ఒక మార్గం అవసరం-అవకాశవాద వ్యక్తులు గందరగోళ ప్రాసెసింగ్ చెల్లని నిష్క్రమణలను క్యాష్ చేసుకోకుండా నిరోధించడానికి. పరిష్కారం చాలా సులభం: వినియోగదారులు వారి డబ్బును నిష్క్రమించడానికి చైన్ యొక్క చివరి **చెల్లుబాటు అయ్యే స్థితిని** పోస్ట్ చేయాలి. + +కానీ ఈ విధానం ఇప్పటికీ సమస్యలను కలిగి ఉంది. ఉదాహరణకు, ప్లాస్మా చైన్‌లోని వినియోగదారులందరూ నిష్క్రమించాల్సిన అవసరం ఉంటే (ఇది హానికరమైన ఆపరేటర్ విషయంలో సాధ్యమవుతుంది), అప్పుడు ప్లాస్మా చైన్ యొక్క మొత్తం చెల్లుబాటు అయ్యే స్థితిని తప్పనిసరిగా Ethereum యొక్క బేస్ లేయర్‌పై ఒకేసారి డంప్ చేయాలి. ప్లాస్మా చైన్‌ల యొక్క ఏకపక్ష పరిమాణం (అధిక నిర్గమాంశ = ఎక్కువ డేటా) మరియు Ethereum యొక్క ప్రాసెసింగ్ వేగంపై పరిమితులతో, ఇది సరైన పరిష్కారం కాదు. + +నిష్క్రమణ గేమ్‌లు సిద్ధాంతపరంగా చక్కగా అనిపించినప్పటికీ, నిజ జీవిత మాస్ ఎగ్జిట్‌లు Ethereumలోనే నెట్‌వర్క్-వ్యాప్త రద్దీని కలిగిస్తాయి. Ethereum యొక్క కార్యాచరణకు హాని కలిగించడమే కాకుండా, పేలవంగా సమన్వయం లేని మాస్ ఎగ్జిట్ అంటే, ఆపరేటర్ ప్లాస్మా చైన్‌లోని ప్రతి ఖాతాను తొలగించే ముందు వినియోగదారులు నిధులను ఉపసంహరించుకోలేకపోవచ్చు. + +## ప్లాస్మా యొక్క లాభనష్టాలు {#pros-and-cons-of-plasma} + +| ప్రయోజనాలు | అప్రయోజనాలు | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| ప్రతి లావాదేవీకి అధిక నిర్గమాంశ మరియు తక్కువ ధరను అందిస్తుంది. | సాధారణ గణనకు మద్దతు ఇవ్వదు (స్మార్ట్ కాంట్రాక్టులను అమలు చేయలేము). ప్రాథమిక టోకెన్ బదిలీలు, మార్పిడులు మరియు కొన్ని ఇతర లావాదేవీ రకాలు మాత్రమే ప్రిడికేట్ లాజిక్ ద్వారా మద్దతు ఇవ్వబడతాయి. | +| ఏకపక్ష వినియోగదారుల మధ్య లావాదేవీలకు మంచిది (ఇద్దరూ ప్లాస్మా చైన్‌లో స్థాపించబడితే ప్రతి వినియోగదారు జతకు ఓవర్‌హెడ్ ఉండదు) | మీ నిధుల భద్రతను నిర్ధారించడానికి నెట్‌వర్క్‌ను కాలానుగుణంగా గమనించాలి (సజీవత్వ అవసరం) లేదా ఈ బాధ్యతను వేరొకరికి అప్పగించాలి. | +| ప్రధాన చైన్‌కు సంబంధం లేని నిర్దిష్ట వినియోగ-కేసులకు ప్లాస్మా చైన్‌లను అనుగుణంగా మార్చుకోవచ్చు. వ్యాపారాలతో సహా ఎవరైనా, విభిన్న సందర్భాలలో పనిచేసే స్కేలబుల్ మౌలిక సదుపాయాలను అందించడానికి ప్లాస్మా స్మార్ట్ కాంట్రాక్టులను అనుకూలీకరించవచ్చు. | డేటాను నిల్వ చేయడానికి మరియు అభ్యర్థనపై దానిని అందించడానికి ఒకటి లేదా అంతకంటే ఎక్కువ ఆపరేటర్లపై ఆధారపడి ఉంటుంది. | +| గణన మరియు నిల్వను ఆఫ్-చెయిన్‌కు తరలించడం ద్వారా ఇతీరియము Mainnetపై భారాన్ని తగ్గిస్తుంది. | సవాళ్లను అనుమతించడానికి ఉపసంహరణలు చాలా రోజులు ఆలస్యం చేయబడతాయి. ఫంగిబుల్ ఆస్తుల కోసం, ద్రవ్యత ప్రదాతల ద్వారా దీనిని తగ్గించవచ్చు, కానీ దానితో అనుబంధిత మూలధన వ్యయం ఉంటుంది. | +| | చాలా మంది వినియోగదారులు ఒకేసారి నిష్క్రమించడానికి ప్రయత్నిస్తే, ఇతీరియము Mainnet రద్దీగా మారవచ్చు. | + +## ప్లాస్మా వర్సెస్ లేయర్ 2 స్కేలింగ్ ప్రోటోకాల్‌లు {#plasma-vs-layer-2} + +ప్లాస్మా ఒకప్పుడు ఇతీరియముకు ఉపయోగకరమైన స్కేలింగ్ పరిష్కారంగా పరిగణించబడినప్పటికీ, అప్పటి నుండి [లేయర్ 2 (L2) స్కేలింగ్ ప్రోటోకాల్‌ల](/layer-2/)కు అనుకూలంగా దానిని వదిలివేయబడింది. L2 స్కేలింగ్ పరిష్కారాలు ప్లాస్మా యొక్క అనేక సమస్యలను పరిష్కరిస్తాయి: + +### సామర్థ్యం {#efficiency} + +[జీరో-కనౌలెడ్జి రోల్అప్‌లు](/developers/docs/scaling/zk-rollups) ఆఫ్-చెయిన్‌లో ప్రాసెస్ చేయబడిన ప్రతి లావాదేవీల బ్యాచ్ యొక్క చెల్లుబాటుకు క్రిప్టోగ్రాఫిక్ ప్రూఫ్‌లను ఉత్పత్తి చేస్తాయి. ఇది వినియోగదారులను (మరియు ఆపరేటర్లను) చెల్లని స్థితి మార్పులను ముందుకు తీసుకెళ్లకుండా నిరోధిస్తుంది, సవాలు కాలాలు మరియు నిష్క్రమణ ఆటల అవసరాన్ని తొలగిస్తుంది. వినియోగదారులు తమ నిధులను భద్రపరచడానికి కాలానుగుణంగా చైన్‌ను గమనించాల్సిన అవసరం లేదని కూడా దీని అర్థం. + +### స్మార్ట్ కాంట్రాక్టులకు మద్దతు {#support-for-smart-contracts} + +ప్లాస్మా ఫ్రేమ్‌వర్క్‌తో మరో సమస్య [ఇతీరియము స్మార్ట్ కాంట్రాక్టుల అమలుకు మద్దతు ఇవ్వలేకపోవడం](https://ethresear.ch/t/why-smart-contracts-are-not-feasible-on-plasma/2598/4). ఫలితంగా, ప్లాస్మా యొక్క చాలా అమలులు ఎక్కువగా సాధారణ చెల్లింపుల కోసం లేదా ERC-20 టోకెన్‌ల మార్పిడి కోసం నిర్మించబడ్డాయి. + +దీనికి విరుద్ధంగా, ఆప్టిమిస్టిక్ రోల్అప్‌లు, [ఎథేరియం వర్చువల్ మషీన్](/developers/docs/evm/)తో అనుకూలంగా ఉంటాయి మరియు ఇతీరియము-స్థానిక [స్మార్ట్ కాంట్రాక్టులను](/developers/docs/smart-contracts/) అమలు చేయగలవు, వాటిని [వికేంద్రీకృత అప్లికేషన్‌లను](/developers/docs/dapps/) స్కేలింగ్ చేయడానికి ఉపయోగకరమైన మరియు _సురక్షితమైన_ పరిష్కారంగా చేస్తాయి. అదేవిధంగా, [EVM యొక్క జీరో-కనౌలెడ్జి అమలు (zkEVM)ను సృష్టించడానికి](https://ethresear.ch/t/a-zk-evm-specification/11549) ప్రణాళికలు జరుగుతున్నాయి, ఇది ZK-రోల్అప్‌లను ఏకపక్ష తర్కాన్ని ప్రాసెస్ చేయడానికి మరియు స్మార్ట్ కాంట్రాక్టులను అమలు చేయడానికి అనుమతిస్తుంది. + +### డేటా అందుబాటులో లేకపోవడం {#data-unavailability} + +ముందుగా వివరించినట్లుగా, ప్లాస్మా డేటా లభ్యత సమస్యతో బాధపడుతుంది. ఒక హానికరమైన ఆపరేటర్ ప్లాస్మా చైన్‌లో చెల్లని మార్పును ముందుకు తీసుకెళితే, వినియోగదారులు దానిని సవాలు చేయలేరు, ఎందుకంటే ఆపరేటర్ ఫ్రాడ్-ప్రూఫ్‌ను సృష్టించడానికి అవసరమైన డేటాను నిలిపివేయవచ్చు. రోల్అప్‌లు ఈ సమస్యను పరిష్కరిస్తాయి, ఆపరేటర్లు ఇతీరియముపై లావాదేవీ డేటాను పోస్ట్ చేయమని ఒత్తిడి చేయడం ద్వారా, ఎవరైనా చైన్ యొక్క స్థితిని ధృవీకరించడానికి మరియు అవసరమైతే ఫ్రాడ్ ప్రూఫ్‌లను సృష్టించడానికి అనుమతిస్తుంది. + +### సామూహిక నిష్క్రమణ సమస్య {#mass-exit-problem} + +ZK-రోల్అప్‌లు మరియు ఆప్టిమిస్టిక్ రోల్అప్‌లు రెండూ ప్లాస్మా యొక్క సామూహిక నిష్క్రమణ సమస్యను వివిధ మార్గాల్లో పరిష్కరిస్తాయి. ఉదాహరణకు, ఒక ZK-రోల్అప్ క్రిప్టోగ్రాఫిక్ యంత్రాంగాలపై ఆధారపడి ఉంటుంది, ఇవి ఏ దృష్టాంతంలోనైనా ఆపరేటర్లు వినియోగదారు నిధులను దొంగిలించలేరని నిర్ధారిస్తాయి. + +అదేవిధంగా, ఆప్టిమిస్టిక్ రోల్అప్‌లు ఉపసంహరణలపై ఆలస్య కాలాన్ని విధిస్తాయి, ఈ సమయంలో ఎవరైనా ఒక సవాలును ప్రారంభించవచ్చు మరియు హానికరమైన ఉపసంహరణ అభ్యర్థనలను నిరోధించవచ్చు. ఇది ప్లాస్మా మాదిరిగానే ఉన్నప్పటికీ, తేడా ఏమిటంటే, ధృవీకరణకర్తలకు ఫ్రాడ్ ప్రూఫ్‌లను సృష్టించడానికి అవసరమైన డేటాకు ప్రాప్యత ఉంటుంది. అందువల్ల, రోల్అప్ వినియోగదారులు ఇతీరియము Mainnetకు వెర్రిగా, "మొదట-బయటకు-వెళ్లే" వలసలో పాల్గొనవలసిన అవసరం లేదు. + +## ప్లాస్మా సైడ్చైన్‌లు మరియు షార్డింగ్ నుండి ఎలా భిన్నంగా ఉంటుంది? {#plasma-sidechains-sharding} + +ప్లాస్మా, సైడ్చైన్‌లు, మరియు షార్డింగ్ చాలా వరకు సారూప్యంగా ఉంటాయి ఎందుకంటే అవన్నీ ఏదో ఒక విధంగా ఇతీరియము Mainnetకు కనెక్ట్ అవుతాయి. అయితే, ఈ కనెక్షన్‌ల స్థాయి మరియు బలం మారుతూ ఉంటాయి, ఇది ప్రతి స్కేలింగ్ పరిష్కారం యొక్క భద్రతా లక్షణాలను ప్రభావితం చేస్తుంది. + +### ప్లాస్మా వర్సెస్ సైడ్చైన్‌లు {#plasma-vs-sidechains} + +ఒక [సైడ్చైన్](/developers/docs/scaling/sidechains/) అనేది రెండు-మార్గాల వంతెన ద్వారా ఇతీరియము Mainnetకు కనెక్ట్ చేయబడిన స్వతంత్రంగా పనిచేసే బ్లాక్ చైను. [వంతెనలు](/bridges/) వినియోగదారులను సైడ్చైన్‌లో లావాదేవీలు జరపడానికి రెండు బ్లాక్ చైనుల మధ్య టోకెన్‌లను మార్పిడి చేసుకోవడానికి అనుమతిస్తాయి, ఇతీరియము Mainnetపై రద్దీని తగ్గించి మరియు స్కేలబిలిటీని మెరుగుపరుస్తాయి. +సైడ్చైన్‌లు ఒక ప్రత్యేక ఏకాభిప్రాయ యంత్రాంగాన్ని ఉపయోగిస్తాయి మరియు సాధారణంగా ఇతీరియము Mainnet కంటే చాలా చిన్నవిగా ఉంటాయి. ఫలితంగా, ఈ చైన్‌లకు ఆస్తులను వంతెన చేయడం వలన పెరిగిన ప్రమాదం ఉంటుంది; సైడ్చైన్ మోడల్‌లో ఇతీరియము Mainnet నుండి వారసత్వంగా పొందిన భద్రతా హామీలు లేనందున, సైడ్చైన్‌పై దాడిలో వినియోగదారులు నిధుల నష్టాన్ని ఎదుర్కొంటారు. + +దీనికి విరుద్ధంగా, ప్లాస్మా చైన్‌లు తమ భద్రతను Mainnet నుండి పొందుతాయి. ఇది వాటిని సైడ్చైన్‌ల కంటే కొలవదగినంత సురక్షితంగా చేస్తుంది. సైడ్చైన్‌లు మరియు ప్లాస్మా చైన్‌లు రెండూ వేర్వేరు ఏకాభిప్రాయ ప్రోటోకాల్‌లను కలిగి ఉండవచ్చు, కానీ తేడా ఏమిటంటే ప్లాస్మా చైన్‌లు ఇతీరియము Mainnetపై ప్రతి బ్లాక్ కోసం Merkle రూట్‌లను ప్రచురిస్తాయి. బ్లాక్ రూట్‌లు అనేవి ప్లాస్మా చైన్‌లో జరిగే లావాదేవీల గురించి సమాచారాన్ని ధృవీకరించడానికి మనం ఉపయోగించగల చిన్న సమాచార భాగాలు. ప్లాస్మా చైన్‌పై దాడి జరిగితే, వినియోగదారులు తగిన ప్రూఫ్‌లను ఉపయోగించి తమ నిధులను సురక్షితంగా Mainnetకు తిరిగి ఉపసంహరించుకోవచ్చు. + +### ప్లాస్మా వర్సెస్ షార్డింగ్ {#plasma-vs-sharding} + +ప్లాస్మా చైన్‌లు మరియు షార్డ్ చైన్‌లు రెండూ ఇతీరియము Mainnetకు కాలానుగుణంగా క్రిప్టోగ్రాఫిక్ ప్రూఫ్‌లను ప్రచురిస్తాయి. అయితే, రెండింటికీ వేర్వేరు భద్రతా లక్షణాలు ఉన్నాయి. + +షార్డ్ చైన్‌లు ప్రతి డేటా షార్డ్ గురించి వివరణాత్మక సమాచారాన్ని కలిగి ఉన్న "కోలేషన్ హెడర్‌లను" Mainnetకు కట్టుబడి ఉంటాయి. Mainnetపై ఉన్న నోడ్లు డేటా షార్డ్‌ల చెల్లుబాటును ధృవీకరించి, అమలు చేస్తాయి, చెల్లని షార్డ్ మార్పుల అవకాశాన్ని తగ్గిస్తాయి మరియు నెట్‌వర్క్‌ను హానికరమైన కార్యకలాపాల నుండి రక్షిస్తాయి. + +ప్లాస్మా భిన్నంగా ఉంటుంది ఎందుకంటే Mainnet చైల్డ్ చైన్‌ల స్థితి గురించి కనీస సమాచారాన్ని మాత్రమే పొందుతుంది. దీనర్థం Mainnet చైల్డ్ చైన్‌లలో నిర్వహించే లావాదేవీలను ప్రభావవంతంగా ధృవీకరించలేదు, వాటిని తక్కువ సురక్షితంగా చేస్తుంది. + +**గమనిక** ఇతీరియము బ్లాక్ చైనును షార్డింగ్ చేయడం ఇకపై రోడ్‌మ్యాప్‌లో లేదు. ఇది రోల్అప్‌ల ద్వారా స్కేలింగ్ మరియు [Danksharding](/roadmap/danksharding) ద్వారా భర్తీ చేయబడింది. + +### ప్లాస్మాను ఉపయోగించండి {#use-plasma} + +బహుళ ప్రాజెక్టులు ప్లాస్మా యొక్క అమలులను అందిస్తాయి, మీరు వాటిని మీ డాప్స్‌లో విలీనం చేసుకోవచ్చు: + +- [Polygon](https://polygon.technology/) (గతంలో Matic Network) + +## మరింత సమాచారం {#further-reading} + +- [ప్లాస్మా నేర్చుకోండి](https://www.learnplasma.org/en/) +- ["భాగస్వామ్య భద్రత" అంటే ఏమిటి మరియు అది ఎందుకు అంత ముఖ్యం అనేదానికి ఒక శీఘ్ర రిమైండర్](https://old.reddit.com/r/ethereum/comments/sgd3zt/a_quick_reminder_of_what_shared_security_means/) +- [సైడ్చైన్‌లు వర్సెస్ ప్లాస్మా వర్సెస్ షార్డింగ్](https://vitalik.eth.limo/general/2019/06/12/plasma_vs_sharding.html) +- [ప్లాస్మాను అర్థం చేసుకోవడం, పార్ట్ 1: ప్రాథమికాలు](https://www.theblockcrypto.com/amp/post/10793/understanding-plasma-part-1-the-basics) +- [ప్లాస్మా యొక్క జీవితం మరియు మరణం](https://medium.com/dragonfly-research/the-life-and-death-of-plasma-b72c6a59c5ad#) + +_మీకు సహాయపడిన కమ్యూనిటీ వనరు గురించి తెలుసా? ఈ పేజీని సవరించి, దాన్ని జోడించండి!_ diff --git a/public/content/translations/te/developers/docs/scaling/sidechains/index.md b/public/content/translations/te/developers/docs/scaling/sidechains/index.md new file mode 100644 index 00000000000..b18ca238af4 --- /dev/null +++ b/public/content/translations/te/developers/docs/scaling/sidechains/index.md @@ -0,0 +1,73 @@ +--- +title: "సైడ్‌చైన్‌లు" +description: "ప్రస్తుతం Ethereum కమ్యూనిటీ ద్వారా ఉపయోగించబడుతున్న స్కేలింగ్ పరిష్కారంగా సైడ్‌చైన్‌లకు ఒక పరిచయం." +lang: te +sidebarDepth: 3 +--- + +ఒక సైడ్‌చైన్ అనేది Ethereum నుండి స్వతంత్రంగా నడిచే ఒక ప్రత్యేక బ్లాక్‌చైన్ మరియు రెండు-మార్గాల వంతెన ద్వారా Ethereum మెయిన్‌నెట్‌కు అనుసంధానించబడి ఉంటుంది. సైడ్‌చైన్‌లు ప్రత్యేక బ్లాక్ పారామితులను మరియు [ఏకాభిప్రాయం అల్గారిథంలను](/developers/docs/consensus-mechanisms/) కలిగి ఉంటాయి, ఇవి తరచుగా లావాదేవీల సమర్థవంతమైన ప్రాసెసింగ్ కోసం రూపొందించబడతాయి. అయితే, సైడ్‌చైన్‌ను ఉపయోగించడం వలన కొన్ని ప్రతికూలతలు ఉంటాయి, ఎందుకంటే అవి Ethereum యొక్క భద్రతా లక్షణాలను వారసత్వంగా పొందవు. [లేయర్ 2 స్కేలింగ్ సొల్యూషన్‌లకు](/layer-2/) విరుద్ధంగా, సైడ్‌చైన్‌లు స్టేట్ మార్పులు మరియు లావాదేవీల డేటాను Ethereum మెయిన్‌నెట్‌కు తిరిగి పోస్ట్ చేయవు. + +అధిక త్రూపుట్ సాధించడానికి సైడ్‌చైన్‌లు కొంతవరకు వికేంద్రీకరణ లేదా భద్రతను కూడా త్యాగం చేస్తాయి ([స్కేలబిలిటీ ట్రిలెమ్మా](https://vitalik.eth.limo/general/2021/05/23/scaling.html)). అయితే, Ethereum వికేంద్రీకరణ మరియు భద్రతపై రాజీ పడకుండా స్కేలింగ్ చేయడానికి కట్టుబడి ఉంది. + +## సైడ్‌చైన్‌లు ఎలా పనిచేస్తాయి? {#how-do-sidechains-work} + +సైడ్‌చైన్‌లు వేర్వేరు చరిత్రలు, అభివృద్ధి రోడ్‌మ్యాప్‌లు మరియు డిజైన్ పరిగణనలతో స్వతంత్ర బ్లాక్‌చైన్‌లు. ఒక సైడ్‌చైన్ Ethereum తో కొన్ని ఉపరితల-స్థాయి సారూప్యతలను పంచుకున్నప్పటికీ, దానికి అనేక విలక్షణమైన లక్షణాలు ఉన్నాయి. + +### ఏకాభిప్రాయం అల్గారిథంలు {#consensus-algorithms} + +సైడ్‌చైన్‌లను ప్రత్యేకంగా (అంటే, Ethereum నుండి భిన్నంగా) చేసే లక్షణాలలో ఒకటి ఉపయోగించిన ఏకాభిప్రాయం అల్గారిథం. సైడ్‌చైన్‌లు ఏకాభిప్రాయం కోసం Ethereumపై ఆధారపడవు మరియు వాటి అవసరాలకు సరిపోయే ప్రత్యామ్నాయ ఏకాభిప్రాయం ప్రోటోకాల్‌లను ఎంచుకోవచ్చు. సైడ్‌చైన్‌లపై ఉపయోగించే ఏకాభిప్రాయం అల్గారిథంల యొక్క కొన్ని ఉదాహరణలు: + +- [ప్రూఫ్-ఆఫ్-అథారిటీ](/developers/docs/consensus-mechanisms/poa/) +- [డెలిగేటెడ్ ప్రూఫ్-ఆఫ్-స్టేక్](https://en.bitcoin.it/wiki/Delegated_proof_of_stake) +- [బైజాంటైన్ ఫాల్ట్ టాలరెన్స్](https://decrypt.co/resources/byzantine-fault-tolerance-what-is-it-explained). + +Ethereum వలె, సైడ్‌చైన్‌లు లావాదేవీలను ధృవీకరించే మరియు ప్రాసెస్ చేసే, బ్లాక్‌లను ఉత్పత్తి చేసే మరియు బ్లాక్‌చైన్ స్టేట్‌ను నిల్వ చేసే నోడ్‌లను ధృవీకరిస్తాయి. నెట్‌వర్క్‌లో ఏకాభిప్రాయం నిర్వహించడానికి మరియు హానికరమైన దాడుల నుండి దాన్ని భద్రపరచడానికి కూడా వాలిడేటర్లు బాధ్యత వహిస్తారు. + +#### బ్లాక్ పారామితులు {#block-parameters} + +Ethereum [బ్లాక్ సమయాలు](/developers/docs/blocks/#block-time) (అంటే, కొత్త బ్లాక్‌లను ఉత్పత్తి చేయడానికి పట్టే సమయం) మరియు [బ్లాక్ పరిమాణాలు](/developers/docs/blocks/#block-size) (అంటే, గ్యాస్‌లో సూచించబడిన ప్రతి బ్లాక్‌కు ఉన్న డేటా మొత్తం)పై పరిమితులను విధిస్తుంది. దీనికి విరుద్ధంగా, సైడ్‌చైన్‌లు అధిక త్రూపుట్, వేగవంతమైన లావాదేవీలు మరియు తక్కువ రుసుములను సాధించడానికి వేగవంతమైన బ్లాక్ సమయాలు మరియు అధిక గ్యాస్ పరిమితులు వంటి విభిన్న పారామితులను తరచుగా స్వీకరిస్తాయి. + +దీని వలన కొన్ని ప్రయోజనాలు ఉన్నప్పటికీ, నెట్‌వర్క్ వికేంద్రీకరణ మరియు భద్రతకు ఇది క్లిష్టమైన చిక్కులను కలిగి ఉంది. వేగవంతమైన బ్లాక్ సమయాలు మరియు పెద్ద బ్లాక్ పరిమాణాలు వంటి బ్లాక్ పారామితులు, పూర్తి నోడ్‌ను అమలు చేయడంలో కష్టాన్ని పెంచుతాయి—చైన్‌ను భద్రపరచడానికి కొన్ని "సూపర్‌నోడ్లు" బాధ్యత వహిస్తాయి. అటువంటి సందర్భంలో, వాలిడేటర్ కుమ్మక్కు లేదా చైన్ యొక్క హానికరమైన స్వాధీనం యొక్క అవకాశం పెరుగుతుంది. + +వికేంద్రీకరణకు హాని కలిగించకుండా బ్లాక్‌చైన్‌లు స్కేల్ చేయడానికి, నోడ్‌ను నడపడం అనేది ప్రత్యేకమైన హార్డ్‌వేర్ ఉన్న పార్టీలకు మాత్రమే కాకుండా అందరికీ అందుబాటులో ఉండాలి. అందుకే Ethereum నెట్‌వర్క్‌లో ప్రతి ఒక్కరూ [పూర్తి నోడ్‌ను నడపగలరని](/developers/docs/nodes-and-clients/#why-should-i-run-an-ethereum-node) నిర్ధారించడానికి ప్రయత్నాలు జరుగుతున్నాయి. + +### EVM అనుకూలత {#evm-compatibility} + +కొన్ని సైడ్‌చైన్‌లు EVM-అనుకూలంగా ఉంటాయి మరియు [Ethereum వర్చువల్ మెషీన్ (EVM)](/developers/docs/evm/) కోసం అభివృద్ధి చేసిన కాంట్రాక్టులను అమలు చేయగలవు. EVM-అనుకూల సైడ్‌చైన్‌లు [Solidityలో వ్రాసిన](/developers/docs/smart-contracts/languages/) స్మార్ట్ కాంట్రాక్టులకు, అలాగే ఇతర EVM స్మార్ట్ కాంట్రాక్ట్ భాషలకు మద్దతు ఇస్తాయి, అంటే Ethereum మెయిన్‌నెట్ కోసం వ్రాసిన స్మార్ట్ కాంట్రాక్టులు EVM-అనుకూల సైడ్‌చైన్‌లలో కూడా పనిచేస్తాయి. + +అంటే మీరు మీ [డాప్‌ను](/developers/docs/dapps/) సైడ్‌చైన్‌లో ఉపయోగించాలనుకుంటే, మీ [స్మార్ట్ కాంట్రాక్ట్‌ను](/developers/docs/smart-contracts/) ఈ సైడ్‌చైన్‌లో అమలు చేయడం మాత్రమే మిగిలి ఉంది. ఇది మెయిన్‌నెట్ లాగానే కనిపిస్తుంది, అనిపిస్తుంది మరియు పనిచేస్తుంది—మీరు Solidityలో కాంట్రాక్టులు వ్రాస్తారు మరియు సైడ్‌చైన్‌ల RPC ద్వారా చైన్‌తో పరస్పర చర్య జరుపుతారు. + +సైడ్‌చైన్‌లు EVM-అనుకూలంగా ఉన్నందున, అవి Ethereum-స్థానిక డాప్స్ కోసం ఉపయోగకరమైన [స్కేలింగ్ పరిష్కారంగా](/developers/docs/scaling/) పరిగణించబడతాయి. మీ డాప్‌ను సైడ్‌చైన్‌లో ఉంచడం ద్వారా, వినియోగదారులు తక్కువ గ్యాస్ ఫీజులు మరియు వేగవంతమైన లావాదేవీలను ఆస్వాదించవచ్చు, ముఖ్యంగా మెయిన్‌నెట్ రద్దీగా ఉన్నప్పుడు. + +అయితే, ఇంతకుముందు వివరించినట్లుగా, సైడ్‌చైన్‌ను ఉపయోగించడం వలన ముఖ్యమైన ప్రతికూలతలు ఉంటాయి. ప్రతి సైడ్‌చైన్ దాని భద్రతకు బాధ్యత వహిస్తుంది మరియు Ethereum యొక్క భద్రతా లక్షణాలను వారసత్వంగా పొందదు. ఇది మీ వినియోగదారులను ప్రభావితం చేసే లేదా వారి నిధులను ప్రమాదంలో పడేసే హానికరమైన ప్రవర్తన యొక్క అవకాశాన్ని పెంచుతుంది. + +### ఆస్తి కదలిక {#asset-movement} + +ఒక ప్రత్యేక బ్లాక్‌చైన్ Ethereum మెయిన్‌నెట్‌కు సైడ్‌చైన్‌గా మారాలంటే, దానికి Ethereum మెయిన్‌నెట్ నుండి మరియు దానికి ఆస్తుల బదిలీని సులభతరం చేసే సామర్థ్యం అవసరం. Ethereum తో ఈ ఇంటరాపరబిలిటీ బ్లాక్‌చైన్ వంతెనను ఉపయోగించి సాధించబడుతుంది. [వంతెనలు](/bridges/) Ethereum మెయిన్‌నెట్ మరియు ఒక సైడ్‌చైన్‌పై అమలు చేయబడిన స్మార్ట్ కాంట్రాక్టులను ఉపయోగించి వాటి మధ్య నిధుల బ్రిడ్జింగ్‌ను నియంత్రిస్తాయి. + +వంతెనలు వినియోగదారులకు Ethereum మరియు సైడ్‌చైన్ మధ్య నిధులను తరలించడానికి సహాయపడినప్పటికీ, ఆస్తులు రెండు చైన్‌ల మధ్య భౌతికంగా తరలించబడవు. బదులుగా, సాధారణంగా మింటింగ్ మరియు బర్నింగ్ వంటి యంత్రాంగాలను చైన్‌ల మధ్య విలువను బదిలీ చేయడానికి ఉపయోగిస్తారు. [వంతెనలు ఎలా పనిచేస్తాయనే దానిపై](/developers/docs/bridges/#how-do-bridges-work) మరింత సమాచారం. + +## సైడ్‌చైన్‌ల యొక్క ప్రయోజనాలు మరియు నష్టాలు {#pros-and-cons-of-sidechains} + +| ప్రయోజనాలు | అప్రయోజనాలు | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------- | +| సైడ్‌చైన్‌లకు మద్దతు ఇచ్చే సాంకేతికత బాగా స్థిరపడింది మరియు విస్తృతమైన పరిశోధన మరియు డిజైన్‌లో మెరుగుదలల నుండి ప్రయోజనం పొందుతుంది. | స్కేలబిలిటీ కోసం సైడ్‌చైన్‌లు కొంతవరకు వికేంద్రీకరణ మరియు విశ్వసనీయతను వదులుకుంటాయి. | +| సైడ్‌చైన్‌లు సాధారణ గణనలకు మద్దతు ఇస్తాయి మరియు EVM అనుకూలతను అందిస్తాయి (అవి Ethereum-స్థానిక డాప్స్‌ను నడపగలవు). | ఒక సైడ్‌చైన్ ప్రత్యేక ఏకాభిప్రాయం యంత్రాంగాన్ని ఉపయోగిస్తుంది మరియు Ethereum యొక్క భద్రతా హామీల నుండి ప్రయోజనం పొందదు. | +| లావాదేవీలను సమర్థవంతంగా ప్రాసెస్ చేయడానికి మరియు వినియోగదారులకు లావాదేవీ రుసుములను తగ్గించడానికి సైడ్‌చైన్‌లు విభిన్న ఏకాభిప్రాయం నమూనాలను ఉపయోగిస్తాయి. | సైడ్‌చైన్‌లకు అధిక విశ్వాస అంచనాలు అవసరం (ఉదా., హానికరమైన సైడ్‌చైన్ వాలిడేటర్ల కోరం మోసం చేయగలదు). | +| EVM-అనుకూల సైడ్‌చైన్‌లు డాప్స్‌ను వారి పర్యావరణ వ్యవస్థను విస్తరించడానికి అనుమతిస్తాయి. | | + +### సైడ్‌చైన్‌లను ఉపయోగించండి {#use-sidechains} + +బహుళ ప్రాజెక్టులు సైడ్‌చైన్‌ల అమలులను అందిస్తాయి, వీటిని మీరు మీ డాప్స్‌లో విలీనం చేయవచ్చు: + +- [Polygon PoS](https://polygon.technology/solutions/polygon-pos) +- [Skale](https://skale.network/) +- [Gnosis Chain (పూర్వం xDai)](https://www.gnosischain.com/) +- [Loom Network](https://loomx.io/) +- [Metis Andromeda](https://www.metis.io/) + +## మరింత సమాచారం {#further-reading} + +- [సైడ్‌చైన్‌ల ద్వారా Ethereum డాప్స్‌ను స్కేలింగ్ చేయడం](https://medium.com/loom-network/dappchains-scaling-ethereum-dapps-through-sidechains-f99e51fff447) _ఫిబ్రవరి 8, 2018 - జార్జియోస్ కాన్స్టాంటోపౌలోస్_ + +_మీకు సహాయపడిన కమ్యూనిటీ వనరు గురించి తెలుసా? ఈ పేజీని సవరించి, దాన్ని జోడించండి!_ diff --git a/public/content/translations/te/developers/docs/scaling/state-channels/index.md b/public/content/translations/te/developers/docs/scaling/state-channels/index.md new file mode 100644 index 00000000000..339c36d8b34 --- /dev/null +++ b/public/content/translations/te/developers/docs/scaling/state-channels/index.md @@ -0,0 +1,261 @@ +--- +title: "స్టేట్ చానెల్స్" +description: "ప్రస్తుతం Ethereum కమ్యూనిటీ ద్వారా ఉపయోగించబడుతున్న స్కేలింగ్ పరిష్కారంగా స్టేట్ ఛానెల్స్ మరియు చెల్లింపు ఛానెల్స్‌కు ఒక పరిచయం." +lang: te +sidebarDepth: 3 +--- + +Ethereum Mainnetతో పరస్పర చర్యను కనిష్టంగా ఉంచుతూ, స్టేట్ చానెల్స్ పాల్గొనేవారిని సురక్షితంగా ఆఫ్చైన్ లావాదేవీలను నిర్వహించడానికి అనుమతిస్తాయి. ఛానెల్ తెరిచి మరియు మూసివేయడానికి కేవలం రెండు ఆన్‌చైన్ లావాదేవీలను మాత్రమే సమర్పిస్తూ, ఛానెల్ పీర్స్ ఏకపక్ష సంఖ్యలో ఆఫ్‌చైన్ లావాదేవీలను నిర్వహించవచ్చు. ఇది అత్యంత అధిక లావాదేవీ థ్రూపుట్‌కు అనుమతిస్తుంది మరియు వినియోగదారులకు తక్కువ ఖర్చులకు దారితీస్తుంది. + +## అవసరాలు {#prerequisites} + +మీరు [Ethereum స్కేలింగ్](/developers/docs/scaling/) మరియు [లేయర్ 2](/layer-2/) పై మా పేజీలను చదివి అర్థం చేసుకుని ఉండాలి. + +## ఛానెల్స్ అంటే ఏమిటి? {#what-are-channels} + +Ethereum వంటి పబ్లిక్ బ్లాక్‌చెయిన్‌లు, వాటి పంపిణీ చేయబడిన ఆర్కిటెక్చర్ కారణంగా స్కేలబిలిటీ సవాళ్లను ఎదుర్కొంటాయి: ఆన్‌చైన్ లావాదేవీలను అన్ని నోడ్‌ల ద్వారా అమలు చేయాలి. నెట్‌వర్క్‌ను వికేంద్రీకృతంగా ఉంచడానికి లావాదేవీల థ్రూపుట్‌పై పరిమితిని విధిస్తూ, సాధారణ హార్డ్‌వేర్‌ను ఉపయోగించి ఒక బ్లాక్‌లోని లావాదేవీల పరిమాణాన్ని నోడ్‌లు నిర్వహించగలగాలి. అంతిమ పరిష్కారం కోసం ప్రధాన చైన్ భద్రతపై ఆధారపడుతూనే వినియోగదారులను ఆఫ్‌చైన్‌లో పరస్పరం సంభాషించుకోవడానికి అనుమతించడం ద్వారా బ్లాక్‌చెయిన్ ఛానెల్స్ ఈ సమస్యను పరిష్కరిస్తాయి. + +ఛానెల్స్ అనేవి రెండు పార్టీల మధ్య అనేక లావాదేవీలు చేసుకుని, ఆపై తుది ఫలితాలను మాత్రమే బ్లాక్‌చెయిన్‌కు పోస్ట్ చేయడానికి అనుమతించే సాధారణ పీర్-టు-పీర్ ప్రోటోకాల్స్. వారు రూపొందించే సారాంశ డేటా నిజంగా చెల్లుబాటు అయ్యే మధ్యంతర లావాదేవీల సెట్ యొక్క ఫలితం అని నిరూపించడానికి ఛానెల్ క్రిప్టోగ్రఫీని ఉపయోగిస్తుంది. ఒక ["మల్టీసిగ్"](/developers/docs/smart-contracts/#multisig) స్మార్ట్ కాంట్రాక్ట్ లావాదేవీలు సరైన పార్టీలచే సంతకం చేయబడ్డాయని నిర్ధారిస్తుంది. + +ఛానెల్స్‌తో, స్టేట్ మార్పులు ఆసక్తి గల పార్టీల ద్వారా అమలు చేయబడి మరియు ధృవీకరించబడతాయి, ఇది Ethereum యొక్క ఎగ్జిక్యూషన్ లేయర్‌పై గణనను తగ్గిస్తుంది. ఇది Ethereum పై రద్దీని తగ్గిస్తుంది మరియు వినియోగదారుల కోసం లావాదేవీల ప్రాసెసింగ్ వేగాన్ని కూడా పెంచుతుంది. + +ప్రతి ఛానెల్ Ethereum పై నడిచే ఒక [మల్టీసిగ్ స్మార్ట్ కాంట్రాక్ట్](/developers/docs/smart-contracts/#multisig) ద్వారా నిర్వహించబడుతుంది. ఒక ఛానెల్‌ను తెరవడానికి, పాల్గొనేవారు ఛానెల్ కాంట్రాక్ట్‌ను ఆన్‌చైన్‌లో డిప్లాయ్ చేసి, దానిలో నిధులను జమ చేస్తారు. ఛానెల్ యొక్క స్టేట్‌ను ప్రారంభించడానికి ఇద్దరు పార్టీలు సమిష్టిగా ఒక స్టేట్ అప్‌డేట్‌పై సంతకం చేస్తాయి, ఆ తర్వాత వారు త్వరగా మరియు స్వేచ్ఛగా ఆఫ్‌చైన్‌లో లావాదేవీలు జరపవచ్చు. + +ఛానెల్‌ను మూసివేయడానికి, పాల్గొనేవారు ఛానెల్ యొక్క చివరి అంగీకరించిన స్టేట్‌ను ఆన్‌చైన్‌లో సమర్పిస్తారు. ఆ తర్వాత, స్మార్ట్ కాంట్రాక్ట్ ఛానెల్ యొక్క చివరి స్టేట్‌లో ప్రతి పాల్గొనేవారి బ్యాలెన్స్ ప్రకారం లాక్ చేయబడిన నిధులను పంపిణీ చేస్తుంది. + +కనిపించే ఓవర్‌హెడ్ లేకుండా అధిక పౌనఃపున్యంతో లావాదేవీలు చేయాలనుకునే కొన్ని ముందుగా నిర్వచించిన పాల్గొనేవారికి పీర్-టు-పీర్ ఛానెల్స్ ప్రత్యేకంగా ఉపయోగపడతాయి. బ్లాక్‌చెయిన్ ఛానెల్స్ రెండు వర్గాలుగా విభజించబడ్డాయి: **చెల్లింపు ఛానెల్స్** మరియు **స్టేట్ ఛానెల్స్**. + +## చెల్లింపు ఛానెల్స్ {#payment-channels} + +చెల్లింపు ఛానెల్ అనేది ఇద్దరు వినియోగదారులు సమిష్టిగా నిర్వహించే "ద్విముఖ లెడ్జర్"గా ఉత్తమంగా వర్ణించబడింది. లెడ్జర్ యొక్క ప్రారంభ బ్యాలెన్స్ ఛానెల్ ప్రారంభ దశలో ఆన్‌చైన్ కాంట్రాక్ట్‌లో లాక్ చేయబడిన డిపాజిట్ల మొత్తం. ప్రారంభ వన్-టైమ్ ఆన్‌చైన్ సృష్టి మరియు చివరికి ఛానెల్ మూసివేత మినహా, చెల్లింపు ఛానెల్ బదిలీలు తక్షణమే మరియు అసలు బ్లాక్‌చెయిన్ ప్రమేయం లేకుండానే నిర్వహించబడతాయి. + +లెడ్జర్ యొక్క బ్యాలెన్స్‌కు (అంటే, చెల్లింపు ఛానెల్ యొక్క స్టేట్) అప్‌డేట్‌లకు ఛానెల్‌లోని అన్ని పార్టీల ఆమోదం అవసరం. అన్ని ఛానెల్ పాల్గొనేవారు సంతకం చేసిన ఛానెల్ అప్‌డేట్, Ethereum పై లావాదేవీలాగే, ఖరారు చేయబడినట్లుగా పరిగణించబడుతుంది. + +సాధారణ వినియోగదారు పరస్పర చర్యల (ఉదా., ETH బదిలీలు, అటామిక్ స్వాప్‌లు, మైక్రోపేమెంట్‌లు) ఖరీదైన ఆన్‌చైన్ కార్యకలాపాలను తగ్గించడానికి రూపొందించిన తొలి స్కేలింగ్ పరిష్కారాలలో చెల్లింపు ఛానెల్స్ ఉన్నాయి. వారి బదిలీల నికర మొత్తం జమ చేసిన టోకెన్‌లను మించనంత కాలం, ఛానెల్ పాల్గొనేవారు ఒకరికొకరు అపరిమితమైన, తక్షణ, రుసుము లేని లావాదేవీలను నిర్వహించవచ్చు. + +## స్టేట్ ఛానెల్స్ {#state-channels} + +ఆఫ్‌చైన్ చెల్లింపులకు మద్దతు ఇవ్వడం మినహా, సాధారణ స్టేట్ ట్రాన్సిషన్ లాజిక్‌ను నిర్వహించడానికి చెల్లింపు ఛానెల్స్ ఉపయోగకరంగా నిరూపించబడలేదు. ఈ సమస్యను పరిష్కరించడానికి మరియు సాధారణ-ప్రయోజన గణనను స్కేల్ చేయడానికి ఛానెల్స్‌ను ఉపయోగకరంగా చేయడానికి స్టేట్ ఛానెల్స్ సృష్టించబడ్డాయి. + +స్టేట్ ఛానెల్స్‌కు ఇప్పటికీ చెల్లింపు ఛానెల్స్‌తో చాలా ఉమ్మడిగా ఉన్నాయి. ఉదాహరణకు, వినియోగదారులు క్రిప్టోగ్రాఫికల్‌గా సంతకం చేసిన సందేశాలను (లావాదేవీలు) మార్పిడి చేయడం ద్వారా పరస్పర చర్య చేస్తారు, దీనిపై ఇతర ఛానెల్ పాల్గొనేవారు కూడా సంతకం చేయాలి. ప్రతిపాదిత స్టేట్ అప్‌డేట్‌పై అన్ని పాల్గొనేవారు సంతకం చేయకపోతే, అది చెల్లనిదిగా పరిగణించబడుతుంది. + +అయితే, వినియోగదారు బ్యాలెన్స్‌లను కలిగి ఉండటంతో పాటు, ఛానెల్ కాంట్రాక్ట్ నిల్వ యొక్క ప్రస్తుత స్టేట్‌ను (అంటే, కాంట్రాక్ట్ వేరియబుల్స్ యొక్క విలువలు) కూడా ట్రాక్ చేస్తుంది. + +ఇది ఇద్దరు వినియోగదారుల మధ్య ఆఫ్‌చైన్‌లో స్మార్ట్ కాంట్రాక్ట్‌ను అమలు చేయడం సాధ్యం చేస్తుంది. ఈ దృశ్యంలో, స్మార్ట్ కాంట్రాక్ట్ యొక్క అంతర్గత స్టేట్‌కు అప్‌డేట్‌లకు ఛానెల్‌ను సృష్టించిన పీర్‌ల ఆమోదం మాత్రమే అవసరం. + +ఇది ఇంతకుముందు వివరించిన స్కేలబిలిటీ సమస్యను పరిష్కరించినప్పటికీ, భద్రతకు ఇది ప్రభావాలను కలిగి ఉంటుంది. Ethereumలో, స్టేట్ మార్పుల చెల్లుబాటు నెట్‌వర్క్ యొక్క ఏకాభిప్రాయం ప్రోటోకాల్ ద్వారా అమలు చేయబడుతుంది. ఇది స్మార్ట్ కాంట్రాక్ట్ యొక్క స్టేట్‌కు చెల్లని అప్‌డేట్‌ను ప్రతిపాదించడం లేదా స్మార్ట్ కాంట్రాక్ట్ ఎగ్జిక్యూషన్‌ను మార్చడం అసాధ్యం చేస్తుంది. + +స్టేట్ ఛానెల్స్‌కు అవే భద్రతా హామీలు ఉండవు. కొంతవరకు, స్టేట్ ఛానెల్ అనేది మెయిన్‌నెట్ యొక్క సూక్ష్మ వెర్షన్. నియమాలను అమలు చేసే పరిమిత సంఖ్యలో పాల్గొనేవారితో, హానికరమైన ప్రవర్తన (ఉదా., చెల్లని స్టేట్ అప్‌డేట్‌లను ప్రతిపాదించడం) యొక్క అవకాశం పెరుగుతుంది. స్టేట్ ఛానెల్స్ [ఫ్రాడ్ ప్రూఫ్స్](/glossary/#fraud-proof) ఆధారంగా వివాద మధ్యవర్తిత్వ వ్యవస్థ నుండి తమ భద్రతను పొందుతాయి. + +## స్టేట్ ఛానెల్స్ ఎలా పనిచేస్తాయి {#how-state-channels-work} + +ప్రాథమికంగా, స్టేట్ ఛానెల్‌లోని కార్యకలాపం అనేది వినియోగదారులు మరియు బ్లాక్‌చెయిన్ సిస్టమ్‌తో కూడిన పరస్పర చర్యల సెషన్. వినియోగదారులు ఎక్కువగా ఒకరితో ఒకరు ఆఫ్‌చైన్‌లో కమ్యూనికేట్ చేస్తారు మరియు ఛానెల్‌ను తెరవడానికి, మూసివేయడానికి లేదా పాల్గొనేవారి మధ్య సంభావ్య వివాదాలను పరిష్కరించడానికి అంతర్లీన బ్లాక్‌చెయిన్‌తో మాత్రమే సంభాషిస్తారు. + +కింది విభాగం స్టేట్ ఛానెల్ యొక్క ప్రాథమిక వర్క్‌ఫ్లోను వివరిస్తుంది: + +### ఛానెల్‌ను తెరవడం {#opening-the-channel} + +ఛానెల్‌ను తెరవడానికి పాల్గొనేవారు మెయిన్‌నెట్‌లోని స్మార్ట్ కాంట్రాక్ట్‌కు నిధులను కేటాయించాలి. డిపాజిట్ వర్చువల్ ట్యాబ్‌గా కూడా పనిచేస్తుంది, కాబట్టి పాల్గొనే నటులు చెల్లింపులను వెంటనే పరిష్కరించాల్సిన అవసరం లేకుండా స్వేచ్ఛగా లావాదేవీలు చేయవచ్చు. ఛానెల్ ఆన్‌చైన్‌లో ఖరారు చేయబడినప్పుడు మాత్రమే పార్టీలు ఒకరికొకరు పరిష్కరించుకుని వారి ట్యాబ్ నుండి మిగిలి ఉన్నదాన్ని ఉపసంహరించుకుంటారు. + +ఈ డిపాజిట్ ప్రతి పాల్గొనేవారి నుండి నిజాయితీ ప్రవర్తనను హామీ ఇవ్వడానికి ఒక బాండ్‌గా కూడా ఉపయోగపడుతుంది. వివాద పరిష్కార దశలో డిపాజిటర్లు హానికరమైన చర్యలకు పాల్పడినట్లు తేలితే, కాంట్రాక్ట్ వారి డిపాజిట్‌ను స్లాష్ చేస్తుంది. + +ఛానెల్ పీర్స్ వారు అందరూ అంగీకరించే ఒక ప్రారంభ స్టేట్‌పై సంతకం చేయాలి. ఇది స్టేట్ ఛానెల్ యొక్క జెనెసిస్‌గా పనిచేస్తుంది, ఆ తర్వాత వినియోగదారులు లావాదేవీలు ప్రారంభించవచ్చు. + +### ఛానెల్ ఉపయోగించడం {#using-the-channel} + +ఛానెల్ యొక్క స్టేట్‌ను ప్రారంభించిన తర్వాత, పీర్స్ లావాదేవీలపై సంతకం చేసి ఆమోదం కోసం ఒకరికొకరు పంపుకోవడం ద్వారా పరస్పర చర్య చేస్తారు. పాల్గొనేవారు ఈ లావాదేవీలతో స్టేట్ అప్‌డేట్‌లను ప్రారంభిస్తారు మరియు ఇతరుల నుండి స్టేట్ అప్‌డేట్‌లపై సంతకం చేస్తారు. ప్రతి లావాదేవీలో కిందివి ఉంటాయి: + +- **నాన్స్**, ఇది లావాదేవీలకు ప్రత్యేక ID గా పనిచేస్తుంది మరియు రీప్లే దాడులను నివారిస్తుంది. ఇది స్టేట్ అప్‌డేట్‌లు జరిగిన క్రమాన్ని కూడా గుర్తిస్తుంది (ఇది వివాద పరిష్కారానికి ముఖ్యం). + +- ఛానెల్ యొక్క పాత స్టేట్ + +- ఛానెల్ యొక్క కొత్త స్టేట్ + +- స్టేట్ మార్పును ప్రేరేపించే లావాదేవీ (ఉదా., ఆలిస్ బాబ్‌కు 5 ETH పంపుతుంది) + +ఆన్‌చైన్ ఫుట్‌ప్రింట్‌ను తగ్గించాలనే స్టేట్ ఛానెల్స్ లక్ష్యానికి అనుగుణంగా, వినియోగదారులు మెయిన్‌నెట్‌లో పరస్పర చర్య చేసినప్పుడు సాధారణంగా జరిగే విధంగా ఛానెల్‌లోని స్టేట్ అప్‌డేట్‌లు ఆన్‌చైన్‌లో ప్రసారం చేయబడవు. పాల్గొనేవారు స్టేట్ అప్‌డేట్‌లపై అంగీకరించినంత కాలం, అవి Ethereum లావాదేవీ అంతిమమైనవిగా ఉంటాయి. వివాదం తలెత్తితే పాల్గొనేవారు మెయిన్‌నెట్ ఏకాభిప్రాయంపై మాత్రమే ఆధారపడాలి. + +### ఛానెల్‌ను మూసివేయడం {#closing-the-channel} + +స్టేట్ ఛానెల్‌ను మూసివేయడానికి ఛానెల్ యొక్క చివరి, అంగీకరించిన స్టేట్‌ను ఆన్‌చైన్ స్మార్ట్ కాంట్రాక్ట్‌కు సమర్పించాలి. స్టేట్ అప్‌డేట్‌లో సూచించిన వివరాలలో ప్రతి పాల్గొనేవారి కదలికల సంఖ్య మరియు ఆమోదించబడిన లావాదేవీల జాబితా ఉంటాయి. + +స్టేట్ అప్‌డేట్ చెల్లుబాటు అవుతుందని ధృవీకరించిన తర్వాత (అంటే, ఇది అన్ని పార్టీలచే సంతకం చేయబడింది), స్మార్ట్ కాంట్రాక్ట్ ఛానెల్‌ను ఖరారు చేస్తుంది మరియు ఛానెల్ ఫలితం ప్రకారం లాక్ చేయబడిన నిధులను పంపిణీ చేస్తుంది. ఆఫ్‌చైన్‌లో చేసిన చెల్లింపులు Ethereum యొక్క స్టేట్‌కు వర్తింపజేయబడతాయి మరియు ప్రతి పాల్గొనేవారు లాక్ చేయబడిన నిధులలో తమ మిగిలిన భాగాన్ని అందుకుంటారు. + +పైన వివరించిన దృశ్యం సంతోషకరమైన సందర్భంలో ఏమి జరుగుతుందో సూచిస్తుంది. కొన్నిసార్లు, వినియోగదారులు ఒప్పందానికి రాలేక ఛానెల్‌ను ఖరారు చేయలేకపోవచ్చు (విచారకరమైన కేసు). కింది వాటిలో ఏదైనా పరిస్థితికి నిజం కావచ్చు: + +- పాల్గొనేవారు ఆఫ్‌లైన్‌కి వెళ్లి స్టేట్ మార్పులను ప్రతిపాదించడంలో విఫలమవుతారు + +- పాల్గొనేవారు చెల్లుబాటు అయ్యే స్టేట్ అప్‌డేట్‌లపై సహ-సంతకం చేయడానికి నిరాకరిస్తారు + +- పాల్గొనేవారు ఆన్‌చైన్ కాంట్రాక్ట్‌కు పాత స్టేట్ అప్‌డేట్‌ను ప్రతిపాదించడం ద్వారా ఛానెల్‌ను ఖరారు చేయడానికి ప్రయత్నిస్తారు + +- పాల్గొనేవారు ఇతరులు సంతకం చేయడానికి చెల్లని స్టేట్ మార్పులను ప్రతిపాదిస్తారు + +ఛానెల్‌లో పాల్గొనే నటుల మధ్య ఏకాభిప్రాయం విఫలమైనప్పుడల్లా, చివరి ఎంపిక ఛానెల్ యొక్క చివరి, చెల్లుబాటు అయ్యే స్టేట్‌ను అమలు చేయడానికి మెయిన్‌నెట్ ఏకాభిప్రాయంపై ఆధారపడటం. ఈ సందర్భంలో, స్టేట్ ఛానెల్‌ను మూసివేయడానికి ఆన్‌చైన్‌లో వివాదాలను పరిష్కరించడం అవసరం. + +### వివాదాలను పరిష్కరించడం {#settling-disputes} + +సాధారణంగా, ఛానెల్‌లోని పార్టీలు ముందుగానే ఛానెల్‌ను మూసివేయడానికి అంగీకరిస్తాయి మరియు చివరి స్టేట్ మార్పుపై సహ-సంతకం చేస్తాయి, దానిని వారు స్మార్ట్ కాంట్రాక్ట్‌కు సమర్పిస్తారు. అప్‌డేట్ ఆన్‌చైన్‌లో ఆమోదించబడిన తర్వాత, ఆఫ్‌చైన్ స్మార్ట్ కాంట్రాక్ట్ యొక్క ఎగ్జిక్యూషన్ ముగుస్తుంది మరియు పాల్గొనేవారు తమ డబ్బుతో ఛానెల్ నుండి నిష్క్రమిస్తారు. + +అయితే, ఒక పార్టీ స్మార్ట్ కాంట్రాక్ట్ ఎగ్జిక్యూషన్‌ను ముగించి, ఛానెల్‌ను ఖరారు చేయడానికి ఆన్‌చైన్ అభ్యర్థనను సమర్పించవచ్చు—వారి ప్రతిరూపం ఆమోదం కోసం వేచి ఉండకుండా. ముందుగా వివరించిన ఏకాభిప్రాయం-విచ్ఛిన్నం చేసే పరిస్థితులు ఏవైనా సంభవిస్తే, ఏ పార్టీ అయినా ఛానెల్‌ను మూసివేసి నిధులను పంపిణీ చేయడానికి ఆన్‌చైన్ కాంట్రాక్ట్‌ను ప్రేరేపించవచ్చు. ఇది **ట్రస్ట్‌లెస్‌నెస్**ను అందిస్తుంది, నిజాయితీ గల పార్టీలు తమ డిపాజిట్ల నుండి ఏ సమయంలోనైనా, ఇతర పార్టీ చర్యలతో సంబంధం లేకుండా నిష్క్రమించగలరని నిర్ధారిస్తుంది. + +ఛానెల్ నిష్క్రమణను ప్రాసెస్ చేయడానికి, వినియోగదారు అప్లికేషన్ యొక్క చివరి చెల్లుబాటు అయ్యే స్టేట్ అప్‌డేట్‌ను ఆన్‌చైన్ కాంట్రాక్ట్‌కు సమర్పించాలి. ఇది సరిపోలితే (అంటే, ఇది అన్ని పార్టీల సంతకాన్ని కలిగి ఉంటుంది), అప్పుడు నిధులు వారికి అనుకూలంగా పునఃపంపిణీ చేయబడతాయి. + +అయితే, సింగిల్-యూజర్ నిష్క్రమణ అభ్యర్థనలను అమలు చేయడంలో ఆలస్యం ఉంది. ఛానెల్‌ను ముగించడానికి చేసిన అభ్యర్థన ఏకగ్రీవంగా ఆమోదించబడితే, ఆన్‌చైన్ నిష్క్రమణ లావాదేవీ వెంటనే అమలు చేయబడుతుంది. + +మోసపూరిత చర్యల అవకాశం కారణంగా సింగిల్-యూజర్ నిష్క్రమణలలో ఆలస్యం ఏర్పడుతుంది. ఉదాహరణకు, ఒక ఛానెల్ పార్టిసిపెంట్ పాత స్టేట్ అప్‌డేట్‌ను ఆన్‌చైన్‌లో సమర్పించడం ద్వారా Ethereum పై ఛానెల్‌ను ఖరారు చేయడానికి ప్రయత్నించవచ్చు. + +ఒక ప్రతిఘటనగా, స్టేట్ ఛానెల్స్ నిజాయితీగల వినియోగదారులను చెల్లుబాటుకాని స్టేట్ అప్‌డేట్‌లను సవాలు చేయడానికి, ఛానెల్ యొక్క తాజా, చెల్లుబాటు అయ్యే స్టేట్‌ను ఆన్‌చైన్‌లో సమర్పించడం ద్వారా అనుమతిస్తాయి. స్టేట్ ఛానెల్స్ కొత్త, అంగీకరించిన స్టేట్ అప్‌డేట్‌లు పాత స్టేట్ అప్‌డేట్‌లను అధిగమించే విధంగా రూపొందించబడ్డాయి. + +ఒక పీర్ ఆన్‌చైన్ వివాద-పరిష్కార వ్యవస్థను ప్రేరేపించిన తర్వాత, ఇతర పార్టీ ఒక సమయ పరిమితిలో (ఛాలెంజ్ విండో అని పిలుస్తారు) ప్రతిస్పందించాల్సి ఉంటుంది. ఇది వినియోగదారులను నిష్క్రమణ లావాదేవీని సవాలు చేయడానికి అనుమతిస్తుంది, ముఖ్యంగా ఇతర పార్టీ పాత అప్‌డేట్‌ను వర్తింపజేస్తుంటే. + +పరిస్థితి ఏదైనప్పటికీ, ఛానెల్ వినియోగదారులకు ఎల్లప్పుడూ బలమైన అంతిమ హామీలు ఉంటాయి: వారి ఆధీనంలో ఉన్న స్టేట్ మార్పు అన్ని సభ్యులచే సంతకం చేయబడి, అది అత్యంత ఇటీవలి అప్‌డేట్ అయితే, అది సాధారణ ఆన్‌చైన్ లావాదేవీతో సమానమైన అంతిమతను కలిగి ఉంటుంది. వారు ఇప్పటికీ ఇతర పార్టీని ఆన్‌చైన్‌లో సవాలు చేయవలసి ఉంటుంది, కానీ వారు కలిగి ఉన్న చివరి చెల్లుబాటు అయ్యే స్టేట్‌ను ఖరారు చేయడం మాత్రమే సాధ్యమయ్యే ఫలితం. + +### స్టేట్ ఛానెల్స్ Ethereum తో ఎలా సంకర్షణ చెందుతాయి? {#how-do-state-channels-interact-with-ethereum} + +అవి ఆఫ్‌చైన్ ప్రోటోకాల్స్‌గా ఉన్నప్పటికీ, స్టేట్ ఛానెల్స్‌కు ఒక ఆన్‌చైన్ భాగం ఉంది: ఛానెల్‌ను తెరిచేటప్పుడు Ethereum పై డిప్లాయ్ చేయబడిన స్మార్ట్ కాంట్రాక్ట్. ఈ కాంట్రాక్ట్ ఛానెల్‌లో జమ చేసిన ఆస్తులను నియంత్రిస్తుంది, స్టేట్ అప్‌డేట్‌లను ధృవీకరిస్తుంది మరియు పాల్గొనేవారి మధ్య వివాదాలను మధ్యవర్తిత్వం చేస్తుంది. + +[లేయర్ 2](/layer-2/) స్కేలింగ్ పరిష్కారాల వలె కాకుండా, స్టేట్ ఛానెల్స్ మెయిన్‌నెట్‌కు లావాదేవీల డేటా లేదా స్టేట్ కమిట్‌మెంట్‌లను ప్రచురించవు. అయితే, అవి [సైడ్‌చైన్స్](/developers/docs/scaling/sidechains/) కంటే మెయిన్‌నెట్‌కు ఎక్కువ కనెక్ట్ చేయబడి ఉంటాయి, ఇది వాటిని కొంతవరకు సురక్షితంగా చేస్తుంది. + +స్టేట్ ఛానెల్స్ కింది వాటి కోసం ప్రధాన Ethereum ప్రోటోకాల్‌పై ఆధారపడతాయి: + +#### 1. సజీవత్వం {#liveness} + +ఛానెల్ తెరిచేటప్పుడు డిప్లాయ్ చేయబడిన ఆన్‌చైన్ కాంట్రాక్ట్ ఛానెల్ యొక్క కార్యాచరణకు బాధ్యత వహిస్తుంది. కాంట్రాక్ట్ Ethereum పై నడుస్తుంటే, ఛానెల్ ఎల్లప్పుడూ వినియోగానికి అందుబాటులో ఉంటుంది. దీనికి విరుద్ధంగా, మెయిన్‌నెట్ పనిచేస్తున్నప్పటికీ సైడ్‌చైన్ ఎప్పుడైనా విఫలం కావచ్చు, ఇది వినియోగదారు నిధులను ప్రమాదంలో పడేస్తుంది. + +#### 2. భద్రత {#security} + +కొంతవరకు, స్టేట్ ఛానెల్స్ భద్రతను అందించడానికి మరియు వినియోగదారులను హానికరమైన పీర్‌ల నుండి రక్షించడానికి Ethereum పై ఆధారపడతాయి. తరువాత విభాగాలలో చర్చించినట్లుగా, ఛానెల్స్ ఒక ఫ్రాడ్ ప్రూఫ్ యంత్రాంగాన్ని ఉపయోగిస్తాయి, ఇది చెల్లని లేదా పాత అప్‌డేట్‌తో ఛానెల్‌ను ఖరారు చేసే ప్రయత్నాలను సవాలు చేయడానికి వినియోగదారులను అనుమతిస్తుంది. + +ఈ సందర్భంలో, నిజాయితీ గల పార్టీ ధృవీకరణ కోసం ఛానెల్ యొక్క తాజా చెల్లుబాటు అయ్యే స్టేట్‌ను ఫ్రాడ్ ప్రూఫ్‌గా ఆన్‌చైన్ కాంట్రాక్ట్‌కు అందిస్తుంది. ఫ్రాడ్ ప్రూఫ్స్ పరస్పరం అవిశ్వాసం గల పార్టీలు తమ నిధులను ప్రమాదంలో పెట్టకుండా ఆఫ్‌చైన్ లావాదేవీలను నిర్వహించడానికి వీలు కల్పిస్తాయి. + +#### 3. ఫైనాలిటీ {#finality} + +ఛానెల్ వినియోగదారులు సమిష్టిగా సంతకం చేసిన స్టేట్ అప్‌డేట్‌లు ఆన్‌చైన్ లావాదేవీల వలె మంచివిగా పరిగణించబడతాయి. అయినప్పటికీ, ఛానెల్‌లోని అన్ని కార్యకలాపాలు Ethereum పై ఛానెల్ మూసివేయబడినప్పుడు మాత్రమే నిజమైన అంతిమతను సాధిస్తాయి. + +ఆశావాద సందర్భంలో, రెండు పార్టీలు సహకరించుకుని, చివరి స్టేట్ అప్‌డేట్‌పై సంతకం చేసి, ఛానెల్‌ను మూసివేయడానికి ఆన్‌చైన్‌లో సమర్పించవచ్చు, ఆ తర్వాత ఛానెల్ యొక్క చివరి స్టేట్ ప్రకారం నిధులు పంపిణీ చేయబడతాయి. నిరాశావాద సందర్భంలో, ఎవరైనా తప్పు స్టేట్ అప్‌డేట్‌ను ఆన్‌చైన్‌లో పోస్ట్ చేయడం ద్వారా మోసం చేయడానికి ప్రయత్నిస్తే, ఛాలెంజ్ విండో ముగిసే వరకు వారి లావాదేవీ ఖరారు చేయబడదు. + +## వర్చువల్ స్టేట్ ఛానెల్స్ {#virtual-state-channels} + +స్టేట్ ఛానెల్ యొక్క అమాయకపు అమలు అనేది ఇద్దరు వినియోగదారులు ఆఫ్‌చైన్‌లో ఒక అప్లికేషన్‌ను అమలు చేయాలనుకున్నప్పుడు కొత్త కాంట్రాక్ట్‌ను డిప్లాయ్ చేయడం. ఇది అసాధ్యం మాత్రమే కాదు, ఇది స్టేట్ ఛానెల్స్ యొక్క వ్యయ-ప్రభావశీలతను కూడా తిరస్కరిస్తుంది (ఆన్‌చైన్ లావాదేవీల ఖర్చులు త్వరగా పెరిగిపోతాయి). + +ఈ సమస్యను పరిష్కరించడానికి, "వర్చువల్ ఛానెల్స్" సృష్టించబడ్డాయి. తెరవడానికి మరియు ముగించడానికి ఆన్‌చైన్ లావాదేవీలు అవసరమయ్యే సాధారణ ఛానెల్స్ వలె కాకుండా, వర్చువల్ ఛానెల్‌ను ప్రధాన చైన్‌తో సంభాషించకుండానే తెరవవచ్చు, అమలు చేయవచ్చు మరియు ఖరారు చేయవచ్చు. ఈ పద్ధతిని ఉపయోగించి వివాదాలను ఆఫ్‌చైన్‌లో కూడా పరిష్కరించడం సాధ్యమే. + +ఈ వ్యవస్థ "లెడ్జర్ ఛానెల్స్" అని పిలవబడే వాటి ఉనికిపై ఆధారపడి ఉంటుంది, ఇవి ఆన్‌చైన్‌లో నిధులు సమకూర్చబడ్డాయి. రెండు పార్టీల మధ్య వర్చువల్ ఛానెల్స్‌ను ఇప్పటికే ఉన్న లెడ్జర్ ఛానెల్ పైన నిర్మించవచ్చు, లెడ్జర్ ఛానెల్ యజమాని(లు) మధ్యవర్తిగా పనిచేస్తారు. + +ప్రతి వర్చువల్ ఛానెల్‌లోని వినియోగదారులు కొత్త కాంట్రాక్ట్ ఇన్‌స్టాన్స్ ద్వారా పరస్పర చర్య చేస్తారు, లెడ్జర్ ఛానెల్ బహుళ కాంట్రాక్ట్ ఇన్‌స్టాన్స్‌లకు మద్దతు ఇవ్వగలదు. లెడ్జర్ ఛానెల్ యొక్క స్టేట్‌లో ఒకటి కంటే ఎక్కువ కాంట్రాక్ట్ స్టోరేజ్ స్టేట్‌లు కూడా ఉంటాయి, ఇది విభిన్న వినియోగదారుల మధ్య ఆఫ్‌చైన్‌లో అప్లికేషన్‌ల సమాంతర అమలుకు అనుమతిస్తుంది. + +సాధారణ ఛానెల్స్ లాగే, వినియోగదారులు స్టేట్ మెషిన్‌ను ముందుకు నడిపించడానికి స్టేట్ అప్‌డేట్‌లను మార్పిడి చేసుకుంటారు. వివాదం తలెత్తితే తప్ప, ఛానెల్‌ను తెరిచేటప్పుడు లేదా ముగించేటప్పుడు మాత్రమే మధ్యవర్తిని సంప్రదించాలి. + +### వర్చువల్ చెల్లింపు ఛానెల్స్ {#virtual-payment-channels} + +వర్చువల్ చెల్లింపు ఛానెల్స్ వర్చువల్ స్టేట్ ఛానెల్స్ వలె అదే ఆలోచనపై పనిచేస్తాయి: ఒకే నెట్‌వర్క్‌కు కనెక్ట్ అయిన పాల్గొనేవారు ఆన్‌చైన్‌లో కొత్త ఛానెల్‌ను తెరవాల్సిన అవసరం లేకుండా సందేశాలను పంపవచ్చు. వర్చువల్ చెల్లింపు ఛానెల్స్‌లో, విలువ బదిలీలు ఒకటి లేదా అంతకంటే ఎక్కువ మధ్యవర్తుల ద్వారా మళ్లించబడతాయి, బదిలీ చేయబడిన నిధులను ఉద్దేశించిన గ్రహీత మాత్రమే స్వీకరించగలరనే హామీలతో. + +## స్టేట్ ఛానెల్స్ యొక్క అప్లికేషన్లు {#applications-of-state-channels} + +### చెల్లింపులు {#payments} + +తొలి బ్లాక్‌చెయిన్ ఛానెల్స్ అనేవి రెండు పార్టీలు మెయిన్‌నెట్‌పై అధిక లావాదేవీల రుసుము చెల్లించకుండా వేగంగా, తక్కువ రుసుముతో ఆఫ్‌చైన్‌లో బదిలీలు చేయడానికి వీలు కల్పించే సాధారణ ప్రోటోకాల్స్. నేడు, ఈథర్ మరియు టోకెన్ల మార్పిడి మరియు డిపాజిట్ల కోసం రూపొందించిన అప్లికేషన్‌లకు చెల్లింపు ఛానెల్స్ ఇప్పటికీ ఉపయోగకరంగా ఉన్నాయి. + +ఛానెల్-ఆధారిత చెల్లింపులకు కింది ప్రయోజనాలు ఉన్నాయి: + +1. **థ్రూపుట్**: ప్రతి ఛానెల్‌కు ఆఫ్‌చైన్ లావాదేవీల మొత్తం Ethereum యొక్క థ్రూపుట్‌కు సంబంధం లేకుండా ఉంటుంది, ఇది బ్లాక్ సైజు మరియు బ్లాక్ టైమ్ వంటి వివిధ కారకాలచే ప్రభావితమవుతుంది. ఆఫ్‌చైన్‌లో లావాదేవీలను అమలు చేయడం ద్వారా, బ్లాక్‌చెయిన్ ఛానెల్స్ అధిక థ్రూపుట్‌ను సాధించగలవు. + +2. **గోప్యత**: ఛానెల్స్ ఆఫ్‌చైన్‌లో ఉన్నందున, పాల్గొనేవారి మధ్య పరస్పర చర్యల వివరాలు Ethereum యొక్క పబ్లిక్ బ్లాక్‌చెయిన్‌లో నమోదు చేయబడవు. ఛానెల్ వినియోగదారులు ఛానెల్స్‌కు నిధులు సమకూర్చడం, మూసివేయడం లేదా వివాదాలను పరిష్కరించేటప్పుడు మాత్రమే ఆన్‌చైన్‌లో పరస్పరం సంభాషించవలసి ఉంటుంది. అందువల్ల, మరింత ప్రైవేట్ లావాదేవీలను కోరుకునే వ్యక్తులకు ఛానెల్స్ ఉపయోగకరంగా ఉంటాయి. + +3. **లేటెన్సీ**: ఛానెల్ పాల్గొనేవారి మధ్య నిర్వహించే ఆఫ్‌చైన్ లావాదేవీలు, ఇరుపక్షాలు సహకరిస్తే, ఆలస్యాన్ని తగ్గించి, తక్షణమే పరిష్కరించబడతాయి. దీనికి విరుద్ధంగా, మెయిన్‌నెట్‌లో ఒక లావాదేవీని పంపడానికి నోడ్‌లు లావాదేవీని ప్రాసెస్ చేయడానికి, లావాదేవీతో కొత్త బ్లాక్‌ను ఉత్పత్తి చేయడానికి మరియు ఏకాభిప్రాయానికి రావడానికి వేచి ఉండాలి. లావాదేవీని ఖరారు చేసినట్లు పరిగణలోకి తీసుకునే ముందు వినియోగదారులు మరిన్ని బ్లాక్ నిర్ధారణల కోసం వేచి ఉండాల్సి రావచ్చు. + +4. **ఖర్చు**: పాల్గొనేవారి సమితి సుదీర్ఘ కాలం పాటు అనేక స్టేట్ అప్‌డేట్‌లను మార్పిడి చేసుకునే పరిస్థితులలో స్టేట్ ఛానెల్స్ ప్రత్యేకంగా ఉపయోగపడతాయి. స్టేట్ ఛానెల్ స్మార్ట్ కాంట్రాక్ట్‌ను తెరవడం మరియు మూసివేయడం మాత్రమే అయ్యే ఖర్చులు; పరిష్కార ఖర్చు తదనుగుణంగా పంపిణీ చేయబడినందున ఛానెల్‌ను తెరవడం మరియు మూసివేయడం మధ్య ప్రతి స్టేట్ మార్పు చివరి దాని కంటే చౌకగా ఉంటుంది. + +[రోలప్‌లు](/developers/docs/scaling/#rollups) వంటి లేయర్ 2 పరిష్కారాలపై స్టేట్ ఛానెల్స్‌ను అమలు చేయడం వల్ల చెల్లింపుల కోసం వాటిని మరింత ఆకర్షణీయంగా మార్చవచ్చు. ఛానెల్స్ చౌక చెల్లింపులను అందించినప్పటికీ, ప్రారంభ దశలో మెయిన్‌నెట్‌లో ఆన్‌చైన్ కాంట్రాక్ట్‌ను సెటప్ చేసే ఖర్చులు ఖరీదైనవి కావచ్చు—ముఖ్యంగా గ్యాస్ రుసుములు పెరిగినప్పుడు. Ethereum-ఆధారిత రోలప్‌లు [తక్కువ లావాదేవీల రుసుములను](https://l2fees.info/) అందిస్తాయి మరియు సెటప్ రుసుములను తగ్గించడం ద్వారా ఛానెల్ పాల్గొనేవారికి ఓవర్‌హెడ్‌ను తగ్గించగలవు. + +### సూక్ష్మ లావాదేవీలు {#microtransactions} + +మైక్రోట్రాన్సాక్షన్‌లు అనేవి తక్కువ-విలువైన చెల్లింపులు (ఉదా., డాలర్‌లో ఒక భాగానికి కంటే తక్కువ) వీటిని వ్యాపారాలు నష్టాలను చవిచూడకుండా ప్రాసెస్ చేయలేవు. ఈ సంస్థలు చెల్లింపు సేవా ప్రదాతలకు చెల్లించాలి, ఇది కస్టమర్ చెల్లింపులపై మార్జిన్ లాభం సంపాదించడానికి చాలా తక్కువగా ఉంటే వారు చేయలేరు. + +చెల్లింపు ఛానెల్స్ మైక్రోట్రాన్సాక్షన్‌లతో సంబంధం ఉన్న ఓవర్‌హెడ్‌ను తగ్గించడం ద్వారా ఈ సమస్యను పరిష్కరిస్తాయి. ఉదాహరణకు, ఒక ఇంటర్నెట్ సర్వీస్ ప్రొవైడర్ (ISP) కస్టమర్‌తో ఒక చెల్లింపు ఛానెల్‌ను తెరిచి, వారు సేవను ఉపయోగించిన ప్రతిసారీ చిన్న చెల్లింపులను ప్రసారం చేయడానికి వారిని అనుమతించవచ్చు. + +ఛానెల్ తెరవడం మరియు మూసివేయడం ఖర్చుకు మించి, పాల్గొనేవారు మైక్రోట్రాన్సాక్షన్‌లపై తదుపరి ఖర్చులను భరించరు (గ్యాస్ ఫీజులు లేవు). ఇది వినియోగదారులకు సేవలకు ఎంత చెల్లించాలో ఎక్కువ సౌలభ్యాన్ని కలిగి ఉన్నందున మరియు వ్యాపారాలు లాభదాయకమైన మైక్రోట్రాన్సాక్షన్‌లపై నష్టపోనందున ఇది ఒక విజయ-విజయ పరిస్థితి. + +### వికేంద్రీకృత అప్లికేషన్లు {#decentralized-applications} + +చెల్లింపు ఛానెల్స్ లాగే, స్టేట్ ఛానెల్స్ స్టేట్ మెషిన్ యొక్క చివరి స్టేట్‌ల ప్రకారం షరతులతో కూడిన చెల్లింపులు చేయగలవు. స్టేట్ ఛానెల్స్ ఏకపక్ష స్టేట్ మార్పు లాజిక్‌కు కూడా మద్దతు ఇవ్వగలవు, ఇది ఆఫ్‌చైన్‌లో సాధారణ యాప్‌లను అమలు చేయడానికి వాటిని ఉపయోగకరంగా చేస్తుంది. + +స్టేట్ ఛానెల్స్ తరచుగా సాధారణ టర్న్-బేస్డ్ అప్లికేషన్‌లకు పరిమితం చేయబడతాయి, ఎందుకంటే ఇది ఆన్‌చైన్ కాంట్రాక్ట్‌కు కట్టుబడి ఉన్న నిధులను నిర్వహించడం సులభం చేస్తుంది. అంతేకాక, పరిమిత సంఖ్యలో పార్టీలు ఆఫ్‌చైన్ అప్లికేషన్ యొక్క స్టేట్‌ను విరామాలలో అప్‌డేట్ చేయడంతో, నిజాయితీ లేని ప్రవర్తనను శిక్షించడం చాలా సులభం. + +స్టేట్ ఛానెల్ అప్లికేషన్ యొక్క సామర్థ్యం దాని రూపకల్పనపై కూడా ఆధారపడి ఉంటుంది. ఉదాహరణకు, ఒక డెవలపర్ యాప్ ఛానెల్ కాంట్రాక్ట్‌ను ఒకసారి ఆన్‌చైన్‌లో డిప్లాయ్ చేసి, ఇతర ఆటగాళ్లను ఆన్‌చైన్‌కి వెళ్లకుండానే యాప్‌ను మళ్లీ ఉపయోగించుకోవడానికి అనుమతించవచ్చు. ఈ సందర్భంలో, ప్రారంభ యాప్ ఛానెల్ బహుళ వర్చువల్ ఛానెల్స్‌కు మద్దతు ఇచ్చే లెడ్జర్ ఛానెల్‌గా పనిచేస్తుంది, ప్రతి ఒక్కటి యాప్ యొక్క స్మార్ట్ కాంట్రాక్ట్ యొక్క కొత్త ఇన్‌స్టాన్స్ ఆఫ్‌చైన్‌లో నడుస్తుంది. + +స్టేట్ ఛానెల్ అప్లికేషన్‌లకు సంభావ్య వినియోగ-కేసు సాధారణ ఇద్దరు ఆటగాళ్ల ఆటలు, ఇక్కడ ఆట ఫలితం ఆధారంగా నిధులు పంపిణీ చేయబడతాయి. ఇక్కడ ప్రయోజనం ఏమిటంటే, ఆటగాళ్ళు ఒకరినొకరు విశ్వసించాల్సిన అవసరం లేదు (విశ్వసనీయత) మరియు ఆన్‌చైన్ కాంట్రాక్ట్, ఆటగాళ్ళు కాదు, నిధుల కేటాయింపు మరియు వివాదాల పరిష్కారాన్ని (వికేంద్రీకరణ) నియంత్రిస్తుంది. + +స్టేట్ ఛానెల్ యాప్‌లకు ఇతర సంభావ్య వినియోగ-కేసులలో ENS పేరు యాజమాన్యం, NFT లెడ్జర్‌లు మరియు మరెన్నో ఉన్నాయి. + +### అటామిక్ బదిలీలు {#atomic-transfers} + +తొలి చెల్లింపు ఛానెల్స్ రెండు పార్టీల మధ్య బదిలీలకు మాత్రమే పరిమితం చేయబడ్డాయి, ఇది వాటి వినియోగాన్ని పరిమితం చేసింది. అయితే, వర్చువల్ ఛానెల్స్ పరిచయం వ్యక్తులు ఆన్‌చైన్‌లో కొత్త ఛానెల్‌ను తెరవాల్సిన అవసరం లేకుండా మధ్యవర్తుల ద్వారా (అంటే, బహుళ p2p ఛానెల్స్) బదిలీలను మళ్లించడానికి అనుమతించింది. + +సాధారణంగా "మల్టీ-హాప్ బదిలీలు" అని వర్ణించబడిన, రూట్ చేయబడిన చెల్లింపులు అటామిక్ (అంటే, లావాదేవీ యొక్క అన్ని భాగాలు విజయవంతమవుతాయి లేదా అది పూర్తిగా విఫలమవుతుంది). అటామిక్ బదిలీలు [హాష్డ్ టైమ్‌లాక్ కాంట్రాక్ట్స్ (HTLCs)](https://en.bitcoin.it/wiki/Hash_Time_Locked_Contracts) ను ఉపయోగిస్తాయి, ఇది నిర్దిష్ట షరతులు నెరవేరినప్పుడు మాత్రమే చెల్లింపు విడుదల చేయబడిందని నిర్ధారిస్తుంది, తద్వారా కౌంటర్‌పార్టీ ప్రమాదాన్ని తగ్గిస్తుంది. + +## స్టేట్ ఛానెల్స్ ఉపయోగించడం వల్ల కలిగే నష్టాలు {#drawbacks-of-state-channels} + +### సజీవత్వ అంచనాలు {#liveness-assumptions} + +సామర్థ్యాన్ని నిర్ధారించడానికి, స్టేట్ ఛానెల్స్ పాల్గొనేవారికి వివాదాలకు ప్రతిస్పందించే సామర్థ్యంపై సమయ పరిమితులను ఉంచుతాయి. ఈ నియమం ప్రకారం పీర్స్ ఎల్లప్పుడూ ఆన్‌లైన్‌లో ఉండి ఛానెల్ కార్యకలాపాలను పర్యవేక్షిస్తారని మరియు అవసరమైనప్పుడు సవాళ్లను పోటీ చేస్తారని భావిస్తుంది. + +వాస్తవానికి, వినియోగదారులు తమ నియంత్రణలో లేని కారణాల వల్ల ఆఫ్‌లైన్‌కి వెళ్లవచ్చు (ఉదా., పేలవమైన ఇంటర్నెట్ కనెక్షన్, మెకానికల్ వైఫల్యం మొదలైనవి). నిజాయితీ గల వినియోగదారు ఆఫ్‌లైన్‌కి వెళితే, ఒక హానికరమైన పీర్ పాత మధ్యంతర స్టేట్‌లను అడ్జుడికేటర్ కాంట్రాక్ట్‌కు సమర్పించి, కట్టుబడి ఉన్న నిధులను దొంగిలించడం ద్వారా పరిస్థితిని దోపిడీ చేయవచ్చు. + +కొన్ని ఛానెల్స్ "వాచ్‌టవర్‌లను" ఉపయోగిస్తాయి—ఇతరుల తరఫున ఆన్‌చైన్ వివాద సంఘటనలను చూడటానికి మరియు సంబంధిత పార్టీలను హెచ్చరించడం వంటి అవసరమైన చర్యలు తీసుకోవడానికి బాధ్యత వహించే సంస్థలు. అయితే, ఇది స్టేట్ ఛానెల్‌ను ఉపయోగించే ఖర్చులను పెంచుతుంది. + +### డేటా అందుబాటులో లేకపోవడం {#data-unavailability} + +ముందుగా వివరించినట్లుగా, చెల్లని వివాదాన్ని సవాలు చేయడానికి స్టేట్ ఛానెల్ యొక్క తాజా, చెల్లుబాటు అయ్యే స్టేట్‌ను సమర్పించాలి. ఇది ఒక అంచనాపై ఆధారపడిన మరో నియమం—వినియోగదారులకు ఛానెల్ యొక్క తాజా స్టేట్‌కు యాక్సెస్ ఉందని. + +ఛానెల్ వినియోగదారులు ఆఫ్‌చైన్ అప్లికేషన్ స్టేట్ కాపీలను నిల్వ చేయాలని ఆశించడం సహేతుకమైనప్పటికీ, లోపం లేదా మెకానికల్ వైఫల్యం కారణంగా ఈ డేటా కోల్పోవచ్చు. వినియోగదారు వద్ద డేటా బ్యాకప్ లేకపోతే, ఇతర పార్టీ వారి ఆధీనంలో ఉన్న పాత స్టేట్ మార్పులను ఉపయోగించి చెల్లని నిష్క్రమణ అభ్యర్థనను ఖరారు చేయదని వారు ఆశించగలరు. + +నెట్‌వర్క్ డేటా లభ్యతపై నియమాలను అమలు చేస్తుంది కాబట్టి Ethereum వినియోగదారులు ఈ సమస్యతో వ్యవహరించాల్సిన అవసరం లేదు. లావాదేవీ డేటా అన్ని నోడ్‌ల ద్వారా నిల్వ చేయబడి, ప్రచారం చేయబడుతుంది మరియు అవసరమైతే వినియోగదారులు డౌన్‌లోడ్ చేసుకోవడానికి అందుబాటులో ఉంటుంది. + +### ద్రవత్వ సమస్యలు {#liquidity-issues} + +బ్లాక్‌చెయిన్ ఛానెల్‌ను స్థాపించడానికి, పాల్గొనేవారు ఛానెల్ యొక్క జీవితచక్రం కోసం ఆన్‌చైన్ స్మార్ట్ కాంట్రాక్ట్‌లో నిధులను లాక్ చేయాలి. ఇది ఛానెల్ వినియోగదారుల ద్రవత్వాన్ని తగ్గిస్తుంది మరియు మెయిన్‌నెట్‌లో నిధులను లాక్ చేసి ఉంచగలిగే వారికి ఛానెల్స్‌ను కూడా పరిమితం చేస్తుంది. + +అయితే, లెడ్జర్ ఛానెల్స్—ఆఫ్‌చైన్ సర్వీస్ ప్రొవైడర్ (OSP) ద్వారా నిర్వహించబడతాయి—వినియోగదారుల కోసం ద్రవత్వ సమస్యలను తగ్గించగలవు. లెడ్జర్ ఛానెల్‌కు కనెక్ట్ చేయబడిన ఇద్దరు పీర్స్ ఒక వర్చువల్ ఛానెల్‌ను సృష్టించగలరు, దానిని వారు ఎప్పుడైనా, పూర్తిగా ఆఫ్‌చైన్‌లో తెరవగలరు మరియు ఖరారు చేయగలరు. + +ఆఫ్‌చైన్ సర్వీస్ ప్రొవైడర్లు బహుళ పీర్స్‌తో ఛానెల్స్‌ను కూడా తెరవవచ్చు, ఇది చెల్లింపులను మళ్లించడానికి వాటిని ఉపయోగకరంగా చేస్తుంది. వాస్తవానికి, వినియోగదారులు వారి సేవల కోసం OSPలకు ఫీజు చెల్లించాలి, ఇది కొంతమందికి అవాంఛనీయంగా ఉండవచ్చు. + +### గ్రీఫింగ్ దాడులు {#griefing-attacks} + +ఫ్రాడ్ ప్రూఫ్-ఆధారిత వ్యవస్థలలో గ్రీఫింగ్ దాడులు ఒక సాధారణ లక్షణం. గ్రీఫింగ్ దాడి దాడి చేసిన వ్యక్తికి ప్రత్యక్షంగా ప్రయోజనం చేకూర్చదు కానీ బాధితుడికి దుఃఖాన్ని (అంటే, హాని) కలిగిస్తుంది, అందుకే ఆ పేరు వచ్చింది. + +ఫ్రాడ్ ప్రూవింగ్ గ్రీఫింగ్ దాడులకు గురవుతుంది ఎందుకంటే నిజాయితీ గల పార్టీ ప్రతి వివాదానికి, చెల్లని వాటికి కూడా స్పందించాలి, లేదా వారి నిధులను కోల్పోయే ప్రమాదం ఉంది. ఒక హానికరమైన పార్టిసిపెంట్ పదేపదే పాత స్టేట్ మార్పులను ఆన్‌చైన్‌లో పోస్ట్ చేయాలని నిర్ణయించుకోవచ్చు, ఇది నిజాయితీ గల పార్టీని చెల్లుబాటు అయ్యే స్టేట్‌తో ప్రతిస్పందించమని బలవంతం చేస్తుంది. ఆ ఆన్‌చైన్ లావాదేవీల ఖర్చు త్వరగా పెరిగిపోతుంది, దీనివల్ల నిజాయితీ గల పార్టీలు ఈ ప్రక్రియలో నష్టపోతాయి. + +### ముందుగా నిర్వచించిన పార్టిసిపెంట్ సెట్‌లు {#predefined-participant-sets} + +రూపకల్పన ప్రకారం, స్టేట్ ఛానెల్‌ను కలిగి ఉన్న పాల్గొనేవారి సంఖ్య దాని జీవితకాలం అంతా స్థిరంగా ఉంటుంది. ఎందుకంటే పార్టిసిపెంట్ సెట్‌ను అప్‌డేట్ చేయడం ఛానెల్ ఆపరేషన్‌ను సంక్లిష్టం చేస్తుంది, ముఖ్యంగా ఛానెల్‌కు నిధులు సమకూర్చేటప్పుడు లేదా వివాదాలను పరిష్కరించేటప్పుడు. పాల్గొనేవారిని జోడించడం లేదా తీసివేయడం కూడా అదనపు ఆన్‌చైన్ కార్యకలాపాలను అవసరం చేస్తుంది, ఇది వినియోగదారులకు ఓవర్‌హెడ్‌ను పెంచుతుంది. + +ఇది స్టేట్ ఛానెల్స్ గురించి తార్కికంగా ఆలోచించడాన్ని సులభతరం చేసినప్పటికీ, ఇది ఛానెల్ డిజైన్‌ల వినియోగాన్ని అప్లికేషన్ డెవలపర్‌లకు పరిమితం చేస్తుంది. రోలప్‌ల వంటి ఇతర స్కేలింగ్ పరిష్కారాల zugunstenలో స్టేట్ ఛానెల్స్‌ను ఎందుకు వదిలివేయబడ్డాయో ఇది పాక్షికంగా వివరిస్తుంది. + +### సమాంతర లావాదేవీల ప్రాసెసింగ్ {#parallel-transaction-processing} + +స్టేట్ ఛానెల్‌లోని పాల్గొనేవారు వంతులవారీగా స్టేట్ అప్‌డేట్‌లను పంపుతారు, అందుకే అవి "టర్న్-బేస్డ్ అప్లికేషన్‌ల"కు (ఉదా., ఇద్దరు ఆటగాళ్ల చెస్ గేమ్) ఉత్తమంగా పనిచేస్తాయి. ఇది ఏకకాలంలో స్టేట్ అప్‌డేట్‌లను నిర్వహించాల్సిన అవసరాన్ని తొలగిస్తుంది మరియు పాత అప్‌డేట్ పోస్టర్‌లను శిక్షించడానికి ఆన్‌చైన్ కాంట్రాక్ట్ చేయవలసిన పనిని తగ్గిస్తుంది. అయితే, ఈ డిజైన్ యొక్క ఒక సైడ్-ఎఫెక్ట్ ఏమిటంటే, లావాదేవీలు ఒకదానిపై ఒకటి ఆధారపడి ఉంటాయి, ఇది లేటెన్సీని పెంచుతుంది మరియు మొత్తం వినియోగదారు అనుభవాన్ని తగ్గిస్తుంది. + +కొన్ని స్టేట్ ఛానెల్స్ "ఫుల్-డ్యూప్లెక్స్" డిజైన్‌ను ఉపయోగించి ఈ సమస్యను పరిష్కరిస్తాయి, ఇది ఆఫ్‌చైన్ స్టేట్‌ను రెండు ఏకదిశాత్మక "సింప్లెక్స్" స్టేట్‌లుగా విభజిస్తుంది, ఇది ఏకకాల స్టేట్ అప్‌డేట్‌లకు అనుమతిస్తుంది. ఇటువంటి డిజైన్‌లు ఆఫ్‌చైన్ థ్రూపుట్‌ను మెరుగుపరుస్తాయి మరియు లావాదేవీ ఆలస్యాలను తగ్గిస్తాయి. + +## స్టేట్ ఛానెల్స్ ఉపయోగించండి {#use-state-channels} + +మీరు మీ డాప్స్‌లో విలీనం చేయగల స్టేట్ ఛానెల్స్ యొక్క అమలులను బహుళ ప్రాజెక్టులు అందిస్తాయి: + +- [Connext](https://connext.network/) +- [Kchannels](https://www.kchannels.io/) +- [Perun](https://perun.network/) +- [Raiden](https://raiden.network/) +- [Statechannels.org](https://statechannels.org/) + +## మరింత సమాచారం {#further-reading} + +**స్టేట్ ఛానెల్స్** + +- [Ethereum యొక్క లేయర్ 2 స్కేలింగ్ పరిష్కారాలను అర్థం చేసుకోవడం: స్టేట్ ఛానెల్స్, ప్లాస్మా మరియు ట్రూబిట్](https://medium.com/l4-media/making-sense-of-ethereums-layer-2-scaling-solutions-state-channels-plasma-and-truebit-22cb40dcc2f4) _– జోష్ స్టార్క్, ఫిబ్రవరి 12 2018_ +- [స్టేట్ ఛానెల్స్ - ఒక వివరణ](https://www.jeffcoleman.ca/state-channels/) _Nov 6, 2015 - జెఫ్ కోల్మన్_ +- [స్టేట్ ఛానెల్స్ యొక్క ప్రాథమికాలు](https://education.district0x.io/general-topics/understanding-ethereum/basics-state-channels/) _District0x_ +- [బ్లాక్‌చెయిన్ స్టేట్ ఛానెల్స్: ఎ స్టేట్ ఆఫ్ ది ఆర్ట్](https://ieeexplore.ieee.org/document/9627997) + +_మీకు సహాయపడిన కమ్యూనిటీ వనరు గురించి తెలుసా? ఈ పేజీని సవరించి, దాన్ని జోడించండి!_ diff --git a/public/content/translations/te/developers/docs/scaling/validium/index.md b/public/content/translations/te/developers/docs/scaling/validium/index.md new file mode 100644 index 00000000000..a47db2ff7f6 --- /dev/null +++ b/public/content/translations/te/developers/docs/scaling/validium/index.md @@ -0,0 +1,166 @@ +--- +title: "వాలిడియం" +description: "ప్రస్తుతం Ethereum కమ్యూనిటీ ద్వారా ఉపయోగించబడుతున్న స్కేలింగ్ పరిష్కారంగా వాలిడియంకు పరిచయం." +lang: te +sidebarDepth: 3 +--- + +వాలిడియం అనేది [స్కేలింగ్ సొల్యూషన్](/developers/docs/scaling/), ఇది [ZK-రోలప్‌లు](/developers/docs/scaling/zk-rollups/) వంటి చెల్లుబాటు రుజువులను ఉపయోగించి లావాదేవీల సమగ్రతను అమలు చేస్తుంది, కానీ Ethereum మెయిన్‌నెట్‌లో లావాదేవీల డేటాను నిల్వ చేయదు. ఆఫ్‌చైన్ డేటా లభ్యత ట్రేడ్-ఆఫ్‌లను పరిచయం చేసినప్పటికీ, ఇది స్కేలబిలిటీలో భారీ మెరుగుదలలకు దారితీస్తుంది (వాలిడియంలు సెకనుకు [~9,000 లావాదేవీలు లేదా అంతకంటే ఎక్కువ](https://blog.matter-labs.io/zkrollup-vs-validium-starkex-5614e38bc263) ప్రాసెస్ చేయగలవు). + +## అవసరాలు {#prerequisites} + +మీరు మా [Ethereum స్కేలింగ్](/developers/docs/scaling/) మరియు [లేయర్ 2](/layer-2) పేజీని చదివి అర్థం చేసుకొని ఉండాలి. + +## వాలిడియం అంటే ఏమిటి? {#what-is-validium} + +వాలిడియంలు అనేవి ఆఫ్‌చైన్ డేటా లభ్యత మరియు గణనను ఉపయోగించే స్కేలింగ్ పరిష్కారాలు, ఇవి Ethereum మెయిన్‌నెట్ నుండి లావాదేవీలను ప్రాసెస్ చేయడం ద్వారా థ్రూపుట్‌ను మెరుగుపరచడానికి రూపొందించబడ్డాయి. జీరో-కనౌలెడ్జి రోలప్‌లు (ZK-రోలప్‌లు) వలె, వాలిడియంలు Ethereumలో ఆఫ్‌చైన్ లావాదేవీలను ధృవీకరించడానికి [జీరో-కనౌలెడ్జి రుజువులను](/glossary/#zk-proof) ప్రచురిస్తాయి. ఇది చెల్లని స్థితి పరివర్తనలను నివారిస్తుంది మరియు వాలిడియం చైన్ యొక్క భద్రతా హామీలను మెరుగుపరుస్తుంది. + +ఈ "చెల్లుబాటు రుజువులు" ZK-SNARKs (జీరో-నాలెడ్జ్ సక్సెంట్ నాన్-ఇంటరాక్టివ్ ఆర్గ్యుమెంట్ ఆఫ్ నాలెడ్జ్) లేదా ZK-STARKs (జీరో-నాలెడ్జ్ స్కేలబుల్ ట్రాన్స్‌పరెంట్ ఆర్గ్యుమెంట్ ఆఫ్ నాలెడ్జ్) రూపంలో రావచ్చు. [జీరో-కనౌలెడ్జి రుజువులు](https://consensys.net/blog/blockchain-explained/zero-knowledge-proofs-starks-vs-snarks/) గురించి మరింత. + +వాలిడియం వినియోగదారులకు చెందిన నిధులు Ethereumలోని ఒక స్మార్ట్ కాంట్రాక్ట్ ద్వారా నియంత్రించబడతాయి. ZK-రోలప్‌ల మాదిరిగానే వాలిడియంలు దాదాపు తక్షణ ఉపసంహరణలను అందిస్తాయి; మెయిన్‌నెట్‌లో ఉపసంహరణ అభ్యర్థన కోసం చెల్లుబాటు రుజువు ధృవీకరించబడిన తర్వాత, వినియోగదారులు [మెర్కిల్ రుజువులను](/developers/tutorials/merkle-proofs-for-offline-data-integrity/) అందించడం ద్వారా నిధులను ఉపసంహరించుకోవచ్చు. మెర్కిల్ రుజువు ధృవీకరించబడిన లావాదేవీల బ్యాచ్‌లో వినియోగదారు ఉపసంహరణ లావాదేవీని చేర్చడాన్ని ధృవీకరిస్తుంది, ఇది ఆన్‌చైన్ కాంట్రాక్ట్ ఉపసంహరణను ప్రాసెస్ చేయడానికి అనుమతిస్తుంది. + +అయితే, వాలిడియం వినియోగదారులు తమ నిధులను స్తంభింపజేయవచ్చు మరియు ఉపసంహరణలను పరిమితం చేయవచ్చు. వాలిడియం చైన్‌లో డేటా లభ్యత మేనేజర్లు వినియోగదారుల నుండి ఆఫ్‌చైన్ స్టేట్ డేటాను నిలిపివేస్తే ఇది జరగవచ్చు. లావాదేవీ డేటాకు యాక్సెస్ లేకుండా, వినియోగదారులు నిధుల యాజమాన్యాన్ని నిరూపించడానికి మరియు ఉపసంహరణలను అమలు చేయడానికి అవసరమైన మెర్కిల్ రుజువును లెక్కించలేరు. + +వాలిడియంలు మరియు ZK-రోలప్‌ల మధ్య ఉన్న ప్రధాన వ్యత్యాసం ఇదే—డేటా లభ్యత స్పెక్ట్రంలో వాటి స్థానాలు. రెండు పరిష్కారాలు డేటా నిల్వను విభిన్నంగా సంప్రదిస్తాయి, ఇది భద్రత మరియు విశ్వసనీయతకు చిక్కులను కలిగి ఉంటుంది. + +## వాలిడియంలు Ethereumతో ఎలా సంకర్షణ చెందుతాయి? {#how-do-validiums-interact-with-ethereum} + +వాలిడియంలు అనేవి ఇప్పటికే ఉన్న Ethereum చైన్ పైన నిర్మించబడిన స్కేలింగ్ ప్రోటోకాల్‌లు. ఇది లావాదేవీలను ఆఫ్‌చైన్‌లో అమలు చేసినప్పటికీ, ఒక వాలిడియం చైన్ మెయిన్‌నెట్‌లో అమలు చేయబడిన స్మార్ట్ కాంట్రాక్ట్‌ల సేకరణ ద్వారా నిర్వహించబడుతుంది, వీటిలో ఇవి ఉన్నాయి: + +1. **వెరిఫైయర్ కాంట్రాక్ట్**: వెరిఫైయర్ కాంట్రాక్ట్ స్టేట్ అప్‌డేట్‌లు చేసేటప్పుడు వాలిడియం ఆపరేటర్ సమర్పించిన రుజువుల చెల్లుబాటును ధృవీకరిస్తుంది. ఇందులో ఆఫ్‌చైన్ లావాదేవీల సరైనతను ధృవీకరించే చెల్లుబాటు రుజువులు మరియు ఆఫ్‌చైన్ లావాదేవీల డేటా ఉనికిని ధృవీకరించే డేటా లభ్యత రుజువులు ఉంటాయి. + +2. **ప్రధాన కాంట్రాక్ట్**: ప్రధాన కాంట్రాక్ట్ బ్లాక్ ఉత్పత్తిదారులు సమర్పించిన స్టేట్ కట్టుబాట్లను (మెర్కిల్ రూట్‌లు) నిల్వ చేస్తుంది మరియు ఆన్‌చైన్‌లో చెల్లుబాటు రుజువు ధృవీకరించబడిన తర్వాత వాలిడియం స్టేట్‌ను నవీకరిస్తుంది. ఈ కాంట్రాక్ట్ వాలిడియం చైన్‌కు డిపాజిట్లు మరియు దాని నుండి ఉపసంహరణలను కూడా ప్రాసెస్ చేస్తుంది. + +వాలిడియంలు కింది వాటి కోసం ప్రధాన Ethereum చైన్‌పై కూడా ఆధారపడతాయి: + +### సెటిల్మెంట్ {#settlement} + +ఒక వాలిడియంలో అమలు చేయబడిన లావాదేవీలు వాటి చెల్లుబాటును పేరెంట్ చైన్ ధృవీకరించే వరకు పూర్తిగా ధృవీకరించబడవు. ఒక వాలిడియంలో నిర్వహించబడే అన్ని వ్యాపారాలు చివరికి మెయిన్‌నెట్‌లో సెటిల్ చేయబడాలి. Ethereum బ్లాక్‌చైన్ వాలిడియం వినియోగదారుల కోసం "సెటిల్మెంట్ హామీలను" కూడా అందిస్తుంది, అంటే ఆఫ్‌చైన్ లావాదేవీలను ఒకసారి ఆన్‌చైన్‌కు కట్టుబడితే రివర్స్ చేయడం లేదా మార్చడం సాధ్యం కాదు. + +### భద్రత {#security} + +Ethereum, సెటిల్మెంట్ లేయర్‌గా పనిచేస్తూ, వాలిడియంలో స్టేట్ పరివర్తనల చెల్లుబాటుకు కూడా హామీ ఇస్తుంది. వాలిడియం చైన్‌లో అమలు చేయబడిన ఆఫ్‌చైన్ లావాదేవీలు బేస్ Ethereum లేయర్‌లోని ఒక స్మార్ట్ కాంట్రాక్ట్ ద్వారా ధృవీకరించబడతాయి. + +ఒకవేళ ఆన్‌చైన్ వెరిఫైయర్ కాంట్రాక్ట్ రుజువు చెల్లదని భావిస్తే, లావాదేవీలు తిరస్కరించబడతాయి. దీని అర్థం ఆపరేటర్లు వాలిడియం స్టేట్‌ను నవీకరించే ముందు Ethereum ప్రోటోకాల్ ద్వారా అమలు చేయబడిన చెల్లుబాటు షరతులను సంతృప్తి పరచాలి. + +## వాలిడియం ఎలా పనిచేస్తుంది? {#how-does-validium-work} + +### లావాదేవీలు {#transactions} + +వినియోగదారులు లావాదేవీలను ఆపరేటర్‌కు సమర్పిస్తారు, ఇది వాలిడియం చైన్‌లో లావాదేవీలను అమలు చేయడానికి బాధ్యత వహించే నోడ్. కొన్ని వాలిడియంలు చైన్‌ను అమలు చేయడానికి ఒకే ఆపరేటర్‌ను ఉపయోగించవచ్చు లేదా ఆపరేటర్లను మార్చడానికి [ప్రూఫ్-ఆఫ్-స్టేక్ (PoS)](/developers/docs/consensus-mechanisms/pos/) మెకానిజంపై ఆధారపడవచ్చు. + +ఆపరేటర్ లావాదేవీలను ఒక బ్యాచ్‌గా సమీకరించి, దానిని ప్రూవింగ్ కోసం ఒక ప్రూవింగ్ సర్క్యూట్‌కు పంపుతాడు. ప్రూవింగ్ సర్క్యూట్ లావాదేవీ బ్యాచ్ (మరియు ఇతర సంబంధిత డేటా)ను ఇన్‌పుట్‌లుగా అంగీకరిస్తుంది మరియు ఆపరేషన్లు సరిగ్గా నిర్వహించబడ్డాయని ధృవీకరించే ఒక చెల్లుబాటు రుజువును అవుట్‌పుట్ చేస్తుంది. + +### స్థితి కట్టుబాట్లు {#state-commitments} + +వాలిడియం యొక్క స్టేట్ మెర్కిల్ ట్రీగా హాష్ చేయబడుతుంది, దీని రూట్ Ethereumలోని ప్రధాన కాంట్రాక్ట్‌లో నిల్వ చేయబడుతుంది. మెర్కిల్ రూట్, దీనిని స్టేట్ రూట్ అని కూడా అంటారు, ఇది వాలిడియంలోని ఖాతాలు మరియు బ్యాలెన్సుల ప్రస్తుత స్టేట్‌కు క్రిప్టోగ్రాఫిక్ కట్టుబాటుగా పనిచేస్తుంది. + +స్టేట్ అప్‌డేట్ చేయడానికి, ఆపరేటర్ ఒక కొత్త స్టేట్ రూట్‌ను (లావాదేవీలను అమలు చేసిన తర్వాత) లెక్కించి, దానిని ఆన్‌చైన్ కాంట్రాక్ట్‌కు సమర్పించాలి. చెల్లుబాటు రుజువు సరిపోలితే, ప్రతిపాదిత స్టేట్ ఆమోదించబడుతుంది మరియు వాలిడియం కొత్త స్టేట్ రూట్‌కు మారుతుంది. + +### డిపాజిట్లు మరియు ఉపసంహరణలు {#deposits-and-withdrawals} + +వినియోగదారులు ఆన్‌చైన్ కాంట్రాక్ట్‌లో ETH (లేదా ఏదైనా ERC-అనుకూల టోకెన్) డిపాజిట్ చేయడం ద్వారా నిధులను Ethereum నుండి వాలిడియంకు తరలిస్తారు. కాంట్రాక్ట్ డిపాజిట్ ఈవెంట్‌ను వాలిడియం ఆఫ్‌చైన్‌కు రిలే చేస్తుంది, ఇక్కడ వినియోగదారుడి చిరునామాకు వారి డిపాజిట్‌కు సమానమైన మొత్తంతో క్రెడిట్ చేయబడుతుంది. ఆపరేటర్ ఈ డిపాజిట్ లావాదేవీని కూడా కొత్త బ్యాచ్‌లో చేర్చుతాడు. + +నిధులను మెయిన్‌నెట్‌కు తిరిగి తరలించడానికి, ఒక వాలిడియం వినియోగదారు ఉపసంహరణ లావాదేవీని ప్రారంభించి, దానిని ఆపరేటర్‌కు సమర్పిస్తాడు, అతను ఉపసంహరణ అభ్యర్థనను ధృవీకరించి, దానిని ఒక బ్యాచ్‌లో చేర్చుతాడు. వినియోగదారు సిస్టమ్ నుండి నిష్క్రమించే ముందు వాలిడియం చైన్‌లో వారి ఆస్తులు కూడా నాశనం చేయబడతాయి. బ్యాచ్‌తో అనుబంధించబడిన చెల్లుబాటు రుజువు ధృవీకరించబడిన తర్వాత, వినియోగదారు తమ ప్రారంభ డిపాజిట్ యొక్క మిగిలిన భాగాన్ని ఉపసంహరించుకోవడానికి ప్రధాన కాంట్రాక్ట్‌కు కాల్ చేయవచ్చు. + +సెన్సార్‌షిప్‌ను నిరోధించే ఒక మెకానిజంగా, వాలిడియం ప్రోటోకాల్ ఆపరేటర్ ద్వారా వెళ్లకుండా నేరుగా వాలిడియం కాంట్రాక్ట్ నుండి ఉపసంహరించుకోవడానికి వినియోగదారులను అనుమతిస్తుంది. ఈ సందర్భంలో, వినియోగదారులు స్టేట్ రూట్‌లో ఒక ఖాతా చేర్చబడిందని చూపిస్తూ వెరిఫైయర్ కాంట్రాక్ట్‌కు ఒక మెర్కిల్ ప్రూఫ్‌ను అందించాలి. రుజువు అంగీకరించబడితే, వినియోగదారు తమ నిధులను వాలిడియం నుండి నిష్క్రమించడానికి ప్రధాన కాంట్రాక్ట్ యొక్క ఉపసంహరణ ఫంక్షన్‌కు కాల్ చేయవచ్చు. + +### బ్యాచ్ సమర్పణ {#batch-submission} + +లావాదేవీల బ్యాచ్‌ను అమలు చేసిన తర్వాత, ఆపరేటర్ అనుబంధిత చెల్లుబాటు రుజువును వెరిఫైయర్ కాంట్రాక్ట్‌కు సమర్పించి, ప్రధాన కాంట్రాక్ట్‌కు ఒక కొత్త స్టేట్ రూట్‌ను ప్రతిపాదిస్తాడు. రుజువు చెల్లుబాటు అయితే, ప్రధాన కాంట్రాక్ట్ వాలిడియం స్టేట్‌ను నవీకరిస్తుంది మరియు బ్యాచ్‌లోని లావాదేవీల ఫలితాలను ఖరారు చేస్తుంది. + +ZK-రోలప్‌లా కాకుండా, వాలిడియంలో బ్లాక్ ప్రొడ్యూసర్లు లావాదేవీల బ్యాచ్‌ల కోసం లావాదేవీల డేటాను ప్రచురించాల్సిన అవసరం లేదు (బ్లాక్ హెడర్‌లు మాత్రమే). ఇది వాలిడియంను పూర్తిగా ఆఫ్‌చైన్ స్కేలింగ్ ప్రోటోకాల్‌గా చేస్తుంది, "హైబ్రిడ్" స్కేలింగ్ ప్రోటోకాల్స్ ([లేయర్ 2](/layer-2/)) కాకుండా, ఇవి బ్లోబ్ డేటా, `కాల్‌డేటా`, లేదా రెండింటి కలయికను ఉపయోగించి ప్రధాన Ethereum చైన్‌లో స్టేట్ డేటాను ప్రచురిస్తాయి. + +### డేటా లభ్యత {#data-availability} + +చెప్పినట్లుగా, వాలిడియంలు ఆఫ్‌చైన్ డేటా లభ్యత మోడల్‌ను ఉపయోగిస్తాయి, ఇక్కడ ఆపరేటర్లు అన్ని లావాదేవీల డేటాను Ethereum మెయిన్‌నెట్ నుండి వేరుగా నిల్వ చేస్తారు. వాలిడియం యొక్క తక్కువ ఆన్‌చైన్ డేటా ఫుట్‌ప్రింట్ స్కేలబిలిటీని మెరుగుపరుస్తుంది (త్రూపుట్ Ethereum యొక్క డేటా ప్రాసెసింగ్ సామర్థ్యంతో పరిమితం కాదు) మరియు వినియోగదారు రుసుములను తగ్గిస్తుంది (ఆన్‌చైన్‌లో డేటాను ప్రచురించడానికి అయ్యే ఖర్చు తక్కువ). + +అయితే, ఆఫ్‌చైన్ డేటా లభ్యత ఒక సమస్యను కలిగిస్తుంది: మెర్కిల్ రుజువులను సృష్టించడానికి లేదా ధృవీకరించడానికి అవసరమైన డేటా అందుబాటులో ఉండకపోవచ్చు. దీని అర్థం ఆపరేటర్లు దురుద్దేశపూర్వకంగా వ్యవహరిస్తే వినియోగదారులు ఆన్‌చైన్ కాంట్రాక్ట్ నుండి నిధులను ఉపసంహరించుకోలేకపోవచ్చు. + +వివిధ వాలిడియం సొల్యూషన్స్ స్టేట్ డేటా నిల్వను వికేంద్రీకరించడం ద్వారా ఈ సమస్యను పరిష్కరించడానికి ప్రయత్నిస్తాయి. ఇందులో బ్లాక్ ప్రొడ్యూసర్లు అంతర్లీన డేటాను "డేటా అవైలబిలిటీ మేనేజర్‌లకు" పంపడం ఉంటుంది, వీరు ఆఫ్‌చైన్ డేటాను నిల్వ చేయడానికి మరియు అభ్యర్థన మేరకు వినియోగదారులకు అందుబాటులో ఉంచడానికి బాధ్యత వహిస్తారు. + +వాలిడియంలో డేటా అవైలబిలిటీ మేనేజర్‌లు ప్రతి వాలిడియం బ్యాచ్‌పై సంతకం చేయడం ద్వారా ఆఫ్‌చైన్ లావాదేవీల కోసం డేటా లభ్యతను ధృవీకరిస్తారు. ఈ సంతకాలు "లభ్యత రుజువు" రూపంలో ఉంటాయి, దీనిని ఆన్‌చైన్ వెరిఫైయర్ కాంట్రాక్ట్ స్టేట్ నవీకరణలను ఆమోదించే ముందు తనిఖీ చేస్తుంది. + +వాలిడియంలు వాటి డేటా అవైలబిలిటీ మేనేజ్‌మెంట్ విధానంలో విభిన్నంగా ఉంటాయి. కొన్ని స్టేట్ డేటాను నిల్వ చేయడానికి విశ్వసనీయ పార్టీలపై ఆధారపడతాయి, మరికొన్ని ఈ పని కోసం యాదృచ్ఛికంగా కేటాయించిన వ్యాలిడేటర్లను ఉపయోగిస్తాయి. + +#### డేటా లభ్యత కమిటీ (DAC) {#data-availability-committee} + +ఆఫ్‌చైన్ డేటా లభ్యతకు హామీ ఇవ్వడానికి, కొన్ని వాలిడియం సొల్యూషన్స్ విశ్వసనీయ సంస్థల సమూహాన్ని నియమిస్తాయి, దీనిని సమిష్టిగా డేటా అవైలబిలిటీ కమిటీ (DAC) అని పిలుస్తారు, ఇది స్టేట్ కాపీలను నిల్వ చేయడానికి మరియు డేటా లభ్యత రుజువును అందించడానికి. DACలను అమలు చేయడం సులభం మరియు సభ్యత్వం తక్కువగా ఉన్నందున తక్కువ సమన్వయం అవసరం. + +అయితే, వినియోగదారులు అవసరమైనప్పుడు డేటాను అందుబాటులో ఉంచడానికి DACని విశ్వసించాలి (ఉదా., మెర్కిల్ రుజువులను రూపొందించడానికి). [ఒక దురుద్దేశపూర్వక నటుడిచే డేటా లభ్యత కమిటీల సభ్యులు రాజీ పడే](https://notes.ethereum.org/DD7GyItYQ02d0ax_X-UbWg?view) అవకాశం ఉంది, వారు ఆఫ్‌చైన్ డేటాను నిలిపివేయవచ్చు. + +[వాలిడియంలలో డేటా అవైలబిలిటీ కమిటీల గురించి మరింత](https://medium.com/starkware/data-availability-e5564c416424). + +#### బాండెడ్ డేటా లభ్యత {#bonded-data-availability} + +ఇతర వాలిడియంలు ఆఫ్‌లైన్ డేటాను నిల్వ చేయడానికి బాధ్యత వహించే పాల్గొనేవారికి వారి పాత్రలను స్వీకరించే ముందు స్మార్ట్ కాంట్రాక్ట్‌లో టోకెన్‌లను స్టేక్ (అంటే, లాక్ అప్) చేయమని కోరుతాయి. ఈ స్టేక్ డేటా అవైలబిలిటీ మేనేజర్‌ల మధ్య నిజాయితీ ప్రవర్తనకు హామీ ఇవ్వడానికి "బాండ్"గా పనిచేస్తుంది మరియు విశ్వసనీయ అంచనాలను తగ్గిస్తుంది. ఈ పాల్గొనేవారు డేటా లభ్యతను నిరూపించడంలో విఫలమైతే, బాండ్ స్లాష్ చేయబడుతుంది. + +బాండెడ్ డేటా అవైలబిలిటీ స్కీమ్‌లో, ఎవరైనా అవసరమైన స్టేక్‌ను అందించిన తర్వాత ఆఫ్‌చైన్ డేటాను పట్టుకోవడానికి కేటాయించబడవచ్చు. ఇది అర్హతగల డేటా అవైలబిలిటీ మేనేజర్‌ల పూల్‌ను విస్తరిస్తుంది, డేటా అవైలబిలిటీ కమిటీలను (DACలు) ప్రభావితం చేసే కేంద్రీకరణను తగ్గిస్తుంది. మరీ ముఖ్యంగా, ఈ విధానం దురుద్దేశపూర్వక కార్యకలాపాలను నిరోధించడానికి క్రిప్టోఎకనామిక్ ప్రోత్సాహకాలపై ఆధారపడుతుంది, ఇది వాలిడియంలో ఆఫ్‌లైన్ డేటాను సురక్షితంగా ఉంచడానికి విశ్వసనీయ పార్టీలను నియమించడం కంటే చాలా సురక్షితమైనది. + +[వాలిడియంలలో బాండెడ్ డేటా లభ్యత గురించి మరింత](https://blog.matter-labs.io/zkporter-a-breakthrough-in-l2-scaling-ed5e48842fbf). + +## వోలిషన్లు మరియు వాలిడియం {#volitions-and-validium} + +వాలిడియంలు అనేక ప్రయోజనాలను అందిస్తాయి, కానీ ట్రేడ్-ఆఫ్‌లతో వస్తాయి (ముఖ్యంగా, డేటా లభ్యత). కానీ, అనేక స్కేలింగ్ పరిష్కారాల మాదిరిగా, వాలిడియంలు నిర్దిష్ట వినియోగ-కేసులకు సరిపోతాయి—అందుకే వోలిషన్లు సృష్టించబడ్డాయి. + +వోలిషన్లు ఒక ZK-రోలప్ మరియు వాలిడియం చైన్‌ను కలుపుతాయి మరియు వినియోగదారులను రెండు స్కేలింగ్ పరిష్కారాల మధ్య మారడానికి అనుమతిస్తాయి. వోలిషన్లతో, వినియోగదారులు నిర్దిష్ట లావాదేవీల కోసం వాలిడియం యొక్క ఆఫ్‌చైన్ డేటా లభ్యతను ఉపయోగించుకోవచ్చు, అయితే అవసరమైతే ఆన్‌చైన్ డేటా లభ్యత పరిష్కారానికి (ZK-రోలప్) మారే స్వేచ్ఛను కలిగి ఉంటారు. ఇది తప్పనిసరిగా వినియోగదారులకు వారి ప్రత్యేక పరిస్థితుల ద్వారా నిర్దేశించబడిన ట్రేడ్-ఆఫ్‌లను ఎంచుకునే స్వేచ్ఛను ఇస్తుంది. + +ఒక వికేంద్రీకృత మార్పిడి (DEX) అధిక-విలువ వాణిజ్యాల కోసం వాలిడియం యొక్క స్కేలబుల్ మరియు ప్రైవేట్ ఇన్‌ఫ్రాస్ట్రక్చర్‌ను ఉపయోగించడానికి ఇష్టపడవచ్చు. ఇది ZK-రోలప్ యొక్క అధిక భద్రతా హామీలు మరియు విశ్వసనీయతను కోరుకునే వినియోగదారుల కోసం ZK-రోలప్‌ను కూడా ఉపయోగించవచ్చు. + +## వాలిడియంలు మరియు EVM అనుకూలత {#validiums-and-evm-compatibility} + +ZK-రోలప్‌ల మాదిరిగానే, వాలిడియంలు టోకెన్ స్వాప్‌లు మరియు చెల్లింపులు వంటి సాధారణ అప్లికేషన్‌లకు ఎక్కువగా సరిపోతాయి. వాలిడియంల మధ్య సాధారణ గణన మరియు స్మార్ట్ కాంట్రాక్ట్ అమలుకు మద్దతు ఇవ్వడం కష్టం, ఎందుకంటే జీరో-కనౌలెడ్జి ప్రూఫ్ సర్క్యూట్‌లో [EVM](/developers/docs/evm/) సూచనలను నిరూపించడానికి గణనీయమైన ఓవర్‌హెడ్ ఉంటుంది. + +కొన్ని వాలిడియం ప్రాజెక్ట్‌లు సమర్థవంతమైన ప్రూవింగ్ కోసం ఆప్టిమైజ్ చేయబడిన కస్టమ్ బైట్‌కోడ్‌ను సృష్టించడానికి EVM-అనుకూల భాషలను (ఉదా., Solidity, Vyper) కంపైల్ చేయడం ద్వారా ఈ సమస్యను తప్పించుకోవడానికి ప్రయత్నిస్తాయి. ఈ విధానం యొక్క ప్రతికూలత ఏమిటంటే, కొత్త జీరో-కనౌలెడ్జి ప్రూఫ్-స్నేహపూర్వక VMలు ముఖ్యమైన EVM ఆప్కోడ్‌లకు మద్దతు ఇవ్వకపోవచ్చు, మరియు డెవలపర్లు సరైన అనుభవం కోసం నేరుగా ఉన్నత-స్థాయి భాషలో వ్రాయాల్సి ఉంటుంది. ఇది మరింత సమస్యలను సృష్టిస్తుంది: ఇది అభివృద్ధి చేసేవారిని పూర్తిగా కొత్త డెవలప్‌మెంట్ స్టాక్‌తో డాప్స్ నిర్మించమని బలవంతం చేస్తుంది మరియు ప్రస్తుత Ethereum ఇన్‌ఫ్రాస్ట్రక్చర్‌తో అనుకూలతను విచ్ఛిన్నం చేస్తుంది. + +అయితే, కొన్ని బృందాలు ZK-ప్రూవింగ్ సర్క్యూట్‌ల కోసం ఇప్పటికే ఉన్న EVM ఆప్కోడ్‌లను ఆప్టిమైజ్ చేయడానికి ప్రయత్నిస్తున్నాయి. ఇది జీరో-నాలెడ్జ్ ఎథేరియం వర్చువల్ మషీన్ (zkEVM) అభివృద్ధికి దారి తీస్తుంది, ఇది ప్రోగ్రామ్ ఎగ్జిక్యూషన్ యొక్క సరైనతను ధృవీకరించడానికి రుజువులను ఉత్పత్తి చేసే EVM-అనుకూల VM. ఒక zkEVM తో, వాలిడియం చైన్‌లు స్మార్ట్ కాంట్రాక్ట్‌లను ఆఫ్‌చైన్‌లో అమలు చేయగలవు మరియు Ethereumలో ఆఫ్‌చైన్ గణనను ధృవీకరించడానికి (దానిని తిరిగి అమలు చేయకుండా) చెల్లుబాటు రుజువులను సమర్పించగలవు. + +[zkEVMల గురించి మరింత](https://www.alchemy.com/overviews/zkevm). + +## వాలిడియంలు Ethereumను ఎలా స్కేల్ చేస్తాయి? {#scaling-ethereum-with-validiums} + +### 1. ఆఫ్‌చైన్ డేటా నిల్వ {#offchain-data-storage} + +ఆప్టిమిస్టిక్ రోలప్‌లు మరియు ZK-రోలప్‌లు వంటి లేయర్ 2 స్కేలింగ్ ప్రాజెక్ట్‌లు L1లో కొన్ని లావాదేవీల డేటాను ప్రచురించడం ద్వారా స్వచ్ఛమైన ఆఫ్‌చైన్ స్కేలింగ్ ప్రోటోకాల్స్ ([ప్లాస్మా](/developers/docs/scaling/plasma/)) యొక్క అనంతమైన స్కేలబిలిటీని భద్రత కోసం వర్తకం చేస్తాయి. కానీ దీని అర్థం రోలప్‌ల స్కేలబిలిటీ లక్షణాలు Ethereum మెయిన్‌నెట్‌లోని డేటా బ్యాండ్‌విడ్త్ ద్వారా పరిమితం చేయబడ్డాయి (ఈ కారణంగా Ethereum యొక్క డేటా నిల్వ సామర్థ్యాన్ని మెరుగుపరచడానికి [డేటా షార్డింగ్](/roadmap/danksharding/) ప్రతిపాదిస్తుంది). + +వాలిడియంలు అన్ని లావాదేవీల డేటాను ఆఫ్‌చైన్‌లో ఉంచడం ద్వారా మరియు ప్రధాన Ethereum చైన్‌కు స్టేట్ అప్‌డేట్‌లను రిలే చేసేటప్పుడు మాత్రమే స్టేట్ కట్టుబాట్లను (మరియు చెల్లుబాటు రుజువులను) పోస్ట్ చేయడం ద్వారా స్కేలబిలిటీని సాధిస్తాయి. అయితే, చెల్లుబాటు రుజువుల ఉనికి ప్లాస్మా మరియు [సైడ్‌చైన్‌లు](/developers/docs/scaling/sidechains/) సహా ఇతర స్వచ్ఛమైన ఆఫ్‌చైన్ స్కేలింగ్ పరిష్కారాల కంటే వాలిడియంలకు అధిక భద్రతా హామీలను ఇస్తుంది. ఆఫ్‌చైన్ లావాదేవీలను ధృవీకరించే ముందు Ethereum ప్రాసెస్ చేయాల్సిన డేటా మొత్తాన్ని తగ్గించడం ద్వారా, వాలిడియం డిజైన్‌లు మెయిన్‌నెట్‌లో థ్రూపుట్‌ను బాగా విస్తరిస్తాయి. + +### 2. పునరావృత రుజువులు {#recursive-proofs} + +ఒక పునరావృత రుజువు అనేది ఇతర రుజువుల చెల్లుబాటును ధృవీకరించే ఒక చెల్లుబాటు రుజువు. ఈ "రుజువుల రుజువులు" అన్ని మునుపటి రుజువులను ధృవీకరించే ఒక చివరి రుజువు సృష్టించబడే వరకు బహుళ రుజువులను పునరావృతంగా సమీకరించడం ద్వారా ఉత్పత్తి చేయబడతాయి. పునరావృత రుజువులు ప్రతి చెల్లుబాటు రుజువుకు ధృవీకరించగల లావాదేవీల సంఖ్యను పెంచడం ద్వారా బ్లాక్‌చైన్ ప్రాసెసింగ్ వేగాన్ని స్కేల్ చేస్తాయి. + +సాధారణంగా, వాలిడియం ఆపరేటర్ ధృవీకరణ కోసం Ethereumకు సమర్పించే ప్రతి చెల్లుబాటు రుజువు ఒకే బ్లాక్ యొక్క సమగ్రతను ధృవీకరిస్తుంది. అయితే ఒకే పునరావృత రుజువు ఒకే సమయంలో అనేక వాలిడియం బ్లాక్‌ల చెల్లుబాటును ధృవీకరించడానికి ఉపయోగించబడుతుంది—ప్రూవింగ్ సర్క్యూట్ అనేక బ్లాక్ రుజువులను ఒకే చివరి రుజువుగా పునరావృతంగా సమీకరించగలగడం వల్ల ఇది సాధ్యమవుతుంది. ఆన్‌చైన్ వెరిఫైయర్ కాంట్రాక్ట్ పునరావృత రుజువును అంగీకరిస్తే, అన్ని అంతర్లీన బ్లాక్‌లు వెంటనే ఖరారు చేయబడతాయి. + +## వాలిడియం యొక్క ప్రయోజనాలు మరియు అప్రయోజనాలు {#pros-and-cons-of-validium} + +| ప్రయోజనాలు | అప్రయోజనాలు | +| --------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| చెల్లుబాటు రుజువులు ఆఫ్‌చైన్ లావాదేవీల సమగ్రతను అమలు చేస్తాయి మరియు ఆపరేటర్లు చెల్లని స్టేట్ నవీకరణలను ఖరారు చేయకుండా నిరోధిస్తాయి. | చెల్లుబాటు రుజువులను ఉత్పత్తి చేయడానికి ప్రత్యేక హార్డ్‌వేర్ అవసరం, ఇది కేంద్రీకరణ ప్రమాదాన్ని కలిగిస్తుంది. | +| వినియోగదారులకు మూలధన సామర్థ్యాన్ని పెంచుతుంది (నిధులను Ethereumకు తిరిగి ఉపసంహరించుకోవడంలో ఆలస్యం లేదు) | సాధారణ గణన/స్మార్ట్ కాంట్రాక్ట్‌లకు పరిమిత మద్దతు; అభివృద్ధికి ప్రత్యేక భాషలు అవసరం. | +| అధిక-విలువ అనువర్తనాల్లో మోసం-రుజువు ఆధారిత వ్యవస్థలు ఎదుర్కొంటున్న కొన్ని ఆర్థిక దాడులకు గురికాదు. | ZK ప్రూఫ్‌లను రూపొందించడానికి అధిక గణన శక్తి అవసరం; తక్కువ థ్రూపుట్ అప్లికేషన్‌లకు ఖర్చు-సమర్థవంతమైనది కాదు. | +| Ethereum మెయిన్‌నెట్‌కు కాల్‌డేటాను పోస్ట్ చేయకుండా వినియోగదారులకు గ్యాస్ రుసుములను తగ్గిస్తుంది. | నెమ్మదైన ఆత్మాశ్రయ తుది సమయం (ZK ప్రూఫ్ రూపొందించడానికి 10-30 నిమిషాలు) కానీ వివాద సమయం ఆలస్యం లేనందున పూర్తి తుదికి వేగంగా ఉంటుంది. | +| లావాదేవీ గోప్యత మరియు స్కేలబిలిటీకి ప్రాధాన్యతనిచ్చే వాణిజ్యం లేదా బ్లాక్‌చైన్ గేమింగ్ వంటి నిర్దిష్ట వినియోగ-కేసులకు అనుకూలం. | వినియోగదారులను నిధుల ఉపసంహరణ నుండి నిరోధించవచ్చు ఎందుకంటే యాజమాన్యపు మెర్కిల్ రుజువులను రూపొందించడానికి ఆఫ్‌చైన్ డేటా అన్ని సమయాల్లో అందుబాటులో ఉండాలి. | +| ఆఫ్‌చైన్ డేటా లభ్యత అధిక స్థాయి థ్రూపుట్‌ను అందిస్తుంది మరియు స్కేలబిలిటీని పెంచుతుంది. | భద్రతా నమూనా విశ్వసనీయ అంచనాలు మరియు క్రిప్టోఎకనామిక్ ప్రోత్సాహకాలపై ఆధారపడుతుంది, ZK-రోలప్‌ల వలె కాకుండా, ఇవి కేవలం క్రిప్టోగ్రాఫిక్ భద్రతా మెకానిజంలపై ఆధారపడతాయి. | + +### వాలిడియం/వోలిషన్లను ఉపయోగించండి {#use-validium-and-volitions} + +అనేక ప్రాజెక్ట్‌లు వాలిడియం మరియు వోలిషన్ల అమలులను అందిస్తాయి, వీటిని మీరు మీ డాప్స్‌లో విలీనం చేయవచ్చు: + +**StarkWare StarkEx** - _StarkEx అనేది Ethereum లేయర్ 2 (L2) స్కేలబిలిటీ పరిష్కారం, ఇది చెల్లుబాటు రుజువుల ఆధారంగా ఉంటుంది. ఇది ZK-రోలప్ లేదా వాలిడియం డేటా-లభ్యత మోడ్‌లలో పనిచేయగలదు._ + +- [దస్తావేజులను సమకూర్చుట](https://docs.starkware.co/starkex-v4/starkex-deep-dive/data-availability-modes#validium) +- [వెబ్‌సైట్](https://starkware.co/starkex/) + +**Matter Labs zkPorter**- _zkPorter అనేది లేయర్ 2 స్కేలింగ్ ప్రోటోకాల్, ఇది zkRollup మరియు షార్డింగ్ ఆలోచనలను మిళితం చేసే హైబ్రిడ్ విధానంతో డేటా లభ్యతను పరిష్కరిస్తుంది. ఇది ఎన్ని షార్డ్‌లకు అయినా మద్దతు ఇవ్వగలదు, ప్రతి దాని స్వంత డేటా లభ్యతా విధానంతో._ + +- [బ్లాగ్](https://blog.matter-labs.io/zkporter-a-breakthrough-in-l2-scaling-ed5e48842fbf) +- [దస్తావేజులను సమకూర్చుట](https://docs.zksync.io/zksync-protocol/rollup/data-availability) +- [వెబ్‌సైట్](https://zksync.io/) + +## మరింత సమాచారం {#further-reading} + +- [వాలిడియం మరియు లేయర్ 2 టూ-బై-టూ — ఇష్యూ నం. 99](https://www.buildblockchain.tech/newsletter/issues/no-99-validium-and-the-layer-2-two-by-two) +- [ZK-రోలప్‌లు vs వాలిడియం](https://blog.matter-labs.io/zkrollup-vs-validium-starkex-5614e38bc263) +- [వోలిషన్ మరియు ఉద్భవిస్తున్న డేటా లభ్యత స్పెక్ట్రమ్](https://medium.com/starkware/volition-and-the-emerging-data-availability-spectrum-87e8bfa09bb) +- [రోలప్‌లు, వాలిడియంలు, మరియు వోలిషన్లు: హాటెస్ట్ Ethereum స్కేలింగ్ పరిష్కారాల గురించి తెలుసుకోండి](https://www.defipulse.com/blog/rollups-validiums-and-volitions-learn-about-the-hottest-ethereum-scaling-solutions) +- [Ethereum రోలప్‌లకు ప్రాక్టికల్ గైడ్](https://web.archive.org/web/20241108192208/https://research.2077.xyz/the-practical-guide-to-ethereum-rollups) diff --git a/public/content/translations/te/developers/docs/scaling/zk-rollups/index.md b/public/content/translations/te/developers/docs/scaling/zk-rollups/index.md new file mode 100644 index 00000000000..ba24a06102a --- /dev/null +++ b/public/content/translations/te/developers/docs/scaling/zk-rollups/index.md @@ -0,0 +1,257 @@ +--- +title: "జీరో-కనౌలెడ్జి రోల్అప్‌లు" +description: "జీరో-కనౌలెడ్జి రోల్అప్‌లకు పరిచయం—Ethereum సంఘం ఉపయోగించే ఒక స్కేలింగ్ పరిష్కారం." +lang: te +--- + +జీరో-కనౌలెడ్జి రోల్అప్‌లు (ZK-రోల్అప్‌లు) అనేవి లేయర్ 2 [స్కేలింగ్ పరిష్కారాలు](/developers/docs/scaling/), ఇవి కంప్యుటేషన్ మరియు స్టేట్-స్టోరేజ్‌ను ఆఫ్‌చెయిన్‌కు తరలించడం ద్వారా Ethereum మెయిన్‌నెట్‌లో త్రూపుట్‌ను పెంచుతాయి. ZK-రోల్అప్‌లు ఒక బ్యాచ్‌లో వేలాది లావాదేవీలను ప్రాసెస్ చేయగలవు మరియు ఆపై కేవలం కొన్ని కనీస సారాంశ డేటాను మాత్రమే మెయిన్‌నెట్‌కు పోస్ట్ చేస్తాయి. ఈ సారాంశ డేటా ఇతీరియము స్టేట్‌లో చేయవలసిన మార్పులను నిర్వచిస్తుంది మరియు ఆ మార్పులు సరైనవని తెలిపే కొంత క్రిప్టోగ్రాఫిక్ ప్రూఫ్‌ను అందిస్తుంది. + +## అవసరాలు {#prerequisites} + +మీరు మా [Ethereum స్కేలింగ్](/developers/docs/scaling/) మరియు [లేయర్ 2](/layer-2) పేజీని చదివి అర్థం చేసుకొని ఉండాలి. + +## జీరో-కనౌలెడ్జి రోల్అప్‌లు అంటే ఏమిటి? {#what-are-zk-rollups} + +**జీరో-కనౌలెడ్జి రోల్అప్‌లు (ZK-రోల్అప్‌లు)** లావాదేవీలను బ్యాచ్‌లుగా బండిల్ ('రోల్ అప్') చేస్తాయి, ఇవి ఆఫ్‌చెయిన్‌లో ఎగ్జిక్యూట్ చేయబడతాయి. ఆఫ్‌చెయిన్ కంప్యుటేషన్ బ్లాక్‌చెయిన్‌కు పోస్ట్ చేయవలసిన డేటా మొత్తాన్ని తగ్గిస్తుంది. ZK-రోల్అప్ ఆపరేటర్లు ప్రతి లావాదేవీని వ్యక్తిగతంగా పంపే బదులు, ఒక బ్యాచ్‌లోని అన్ని లావాదేవీలను సూచించడానికి అవసరమైన మార్పుల సారాంశాన్ని సమర్పిస్తారు. వారు తమ మార్పుల యొక్క ఖచ్చితత్వాన్ని నిరూపించడానికి [వాలిడిటీ ప్రూఫ్‌లను](/glossary/#validity-proof) కూడా ఉత్పత్తి చేస్తారు. + +ZK-రోల్అప్ యొక్క స్టేట్, ఇతీరియము నెట్‌వర్క్‌లో డిప్లాయ్ చేయబడిన ఒక స్మార్ట్ కాంట్రాక్టు ద్వారా నిర్వహించబడుతుంది. ఈ స్టేట్‌ను అప్‌డేట్ చేయడానికి, ZK-రోల్అప్ నోడ్స్ వెరిఫికేషన్ కోసం ఒక వాలిడిటీ ప్రూఫ్‌ను సమర్పించాలి. పేర్కొన్న విధంగా, వాలిడిటీ ప్రూఫ్ అనేది రోల్అప్ ప్రతిపాదించిన స్టేట్-మార్పు నిజంగా ఇవ్వబడిన లావాదేవీల బ్యాచ్‌ను ఎగ్జిక్యూట్ చేయడం యొక్క ఫలితం అని తెలిపే ఒక క్రిప్టోగ్రాఫిక్ హామీ. [ఆప్టిమిస్టిక్ రోల్అప్‌ల](/developers/docs/scaling/optimistic-rollups/) వలె మొత్తం లావాదేవీ డేటాను ఆన్‌చెయిన్‌లో పోస్ట్ చేసే బదులు, లావాదేవీలను ఇతీరియములో ఫైనలైజ్ చేయడానికి ZK-రోల్అప్‌లు కేవలం వాలిడిటీ ప్రూఫ్‌లను అందించాలి. + +ZK-రోల్అప్ నుండి Ethereumకు నిధులను తరలించేటప్పుడు ఎటువంటి ఆలస్యం ఉండదు, ఎందుకంటే ZK-రోల్అప్ కాంట్రాక్టు వాలిడిటీ ప్రూఫ్‌ను వెరిఫై చేసిన తర్వాత నిష్క్రమణ లావాదేవీలు ఎగ్జిక్యూట్ చేయబడతాయి. దీనికి విరుద్ధంగా, ఆప్టిమిస్టిక్ రోల్అప్‌ల నుండి నిధులను ఉపసంహరించుకోవడం ఆలస్యానికి లోబడి ఉంటుంది, ఎవరైనా నిష్క్రమణ లావాదేవీని [ఫ్రాడ్ ప్రూఫ్‌తో](/glossary/#fraud-proof) సవాలు చేయడానికి అనుమతించడానికి. + +ZK-రోల్అప్‌లు లావాదేవీలను ఇతీరియముకు `calldata`గా వ్రాస్తాయి. `calldata` అనేది స్మార్ట్ కాంట్రాక్టు ఫంక్షన్‌లకు బాహ్య కాల్స్‌లో చేర్చబడిన డేటా నిల్వ చేయబడే ప్రదేశం. `calldata`లోని సమాచారం బ్లాక్‌చెయిన్‌లో ప్రచురించబడుతుంది, ఇది ఎవరైనా స్వతంత్రంగా రోల్అప్ యొక్క స్టేట్‌ను పునర్నిర్మించడానికి అనుమతిస్తుంది. ZK-రోల్అప్‌లు లావాదేవీ డేటాను తగ్గించడానికి కంప్రెషన్ టెక్నిక్‌లను ఉపయోగిస్తాయి—ఉదాహరణకు, అకౌంట్లు ఒక చిరునామాకు బదులుగా ఒక ఇండెక్స్ ద్వారా సూచించబడతాయి, ఇది 28 బైట్ల డేటాను ఆదా చేస్తుంది. రోల్అప్‌లకు ఆన్‌చెయిన్ డేటా ప్రచురణ ఒక ముఖ్యమైన ఖర్చు, కాబట్టి డేటా కంప్రెషన్ వినియోగదారుల కోసం ఫీజులను తగ్గించగలదు. + +## ZK-రోల్అప్‌లు Ethereumతో ఎలా సంకర్షణ చెందుతాయి? {#zk-rollups-and-ethereum} + +ఒక ZK-రోల్అప్ చైన్ అనేది ఇతీరియము బ్లాక్‌చెయిన్ పైన పనిచేసే ఒక ఆఫ్‌చెయిన్ ప్రోటోకాల్ మరియు ఇది ఆన్‌చెయిన్ ఇతీరియము స్మార్ట్ కాంట్రాక్టుల ద్వారా నిర్వహించబడుతుంది. ZK-రోల్అప్‌లు మెయిన్‌నెట్ వెలుపల లావాదేవీలను అమలు చేస్తాయి, కానీ క్రమానుగతంగా ఆఫ్‌చెయిన్ లావాదేవీ బ్యాచ్‌లను ఆన్‌చెయిన్ రోల్అప్ కాంట్రాక్ట్‌కు సమర్పిస్తాయి. ఈ లావాదేవీ రికార్డ్ ఇతీరియము బ్లాక్‌చెయిన్ వలె మార్పులేనిది మరియు ZK-రోల్అప్ చైన్‌ను ఏర్పరుస్తుంది. + +ZK-రోల్అప్ యొక్క ప్రధాన నిర్మాణం కింది భాగాలతో రూపొందించబడింది: + +1. **ఆన్‌చెయిన్ కాంట్రాక్టులు**: పేర్కొన్న విధంగా, ZK-రోల్అప్ ప్రోటోకాల్ ఇతీరియములో నడుస్తున్న స్మార్ట్ కాంట్రాక్టుల ద్వారా నియంత్రించబడుతుంది. ఇందులో రోల్అప్ బ్లాక్‌లను నిల్వ చేసే, డిపాజిట్‌లను ట్రాక్ చేసే మరియు స్టేట్ అప్‌డేట్‌లను పర్యవేక్షించే ప్రధాన కాంట్రాక్టు ఉంటుంది. మరొక ఆన్‌చెయిన్ కాంట్రాక్టు (వెరిఫైయర్ కాంట్రాక్టు) బ్లాక్ ప్రొడ్యూసర్‌లు సమర్పించిన జీరో-కనౌలెడ్జి ప్రూఫ్‌లను వెరిఫై చేస్తుంది. అందువల్ల, ZK-రోల్అప్ కోసం ఇతీరియము బేస్ లేయర్ లేదా "లేయర్ 1"గా పనిచేస్తుంది. + +2. **ఆఫ్‌చెయిన్ వర్చువల్ మషీన్ (VM)**: ZK-రోల్అప్ ప్రోటోకాల్ ఇతీరియములో ఉన్నప్పటికీ, లావాదేవీల అమలు మరియు స్టేట్ నిల్వ [EVM](/developers/docs/evm/) నుండి స్వతంత్రంగా ఒక ప్రత్యేక వర్చువల్ మషీన్‌లో జరుగుతుంది. ఈ ఆఫ్‌చెయిన్ VM ZK-రోల్అప్‌లో లావాదేవీల కోసం ఎగ్జిక్యూషన్ ఎన్విరాన్‌మెంట్ మరియు ZK-రోల్అప్ ప్రోటోకాల్ కోసం సెకండరీ లేయర్ లేదా "లేయర్ 2"గా పనిచేస్తుంది. ఇతీరియము మెయిన్‌నెట్‌లో ధృవీకరించబడిన వాలిడిటీ ప్రూఫ్‌లు ఆఫ్‌చెయిన్ VMలో స్టేట్ ట్రాన్సిషన్‌ల యొక్క ఖచ్చితత్వాన్ని హామీ ఇస్తాయి. + +ZK-రోల్అప్‌లు "హైబ్రిడ్ స్కేలింగ్ సొల్యూషన్స్"—ఇవి స్వతంత్రంగా పనిచేసే ఆఫ్‌చెయిన్ ప్రోటోకాల్స్, కానీ ఇతీరియము నుండి భద్రతను పొందుతాయి. ప్రత్యేకంగా, ఇతీరియము నెట్‌వర్క్ ZK-రోల్అప్‌లో స్టేట్ అప్‌డేట్‌ల యొక్క ప్రామాణికతను అమలు చేస్తుంది మరియు రోల్అప్ యొక్క స్టేట్‌కు ప్రతి అప్‌డేట్ వెనుక డేటా లభ్యతకు హామీ ఇస్తుంది. ఫలితంగా, ZK-రోల్అప్‌లు [సైడ్‌చైన్‌లు](/developers/docs/scaling/sidechains/) వంటి స్వచ్ఛమైన ఆఫ్‌చెయిన్ స్కేలింగ్ పరిష్కారాల కంటే గణనీయంగా సురక్షితమైనవి, ఇవి వాటి భద్రతా లక్షణాలకు బాధ్యత వహిస్తాయి, లేదా [వాలిడియమ్‌లు](/developers/docs/scaling/validium/), ఇవి ఇతీరియములో లావాదేవీలను వాలిడిటీ ప్రూఫ్‌లతో ధృవీకరిస్తాయి, కానీ లావాదేవీల డేటాను మరెక్కడైనా నిల్వ చేస్తాయి. + +ZK-రోల్అప్‌లు కింది వాటి కోసం ప్రధాన ఇతీరియము ప్రోటోకాల్‌పై ఆధారపడతాయి: + +### డేటా లభ్యత {#data-availability} + +ZK-రోల్అప్‌లు ఆఫ్‌చెయిన్‌లో ప్రాసెస్ చేయబడిన ప్రతి లావాదేవీ కోసం స్టేట్ డేటాను ఇతీరియముకు ప్రచురిస్తాయి. ఈ డేటాతో, వ్యక్తులు లేదా వ్యాపారాలు రోల్అప్ యొక్క స్టేట్‌ను పునరుత్పత్తి చేయడం మరియు చైన్‌ను స్వయంగా ధృవీకరించడం సాధ్యమవుతుంది. ఇతీరియము ఈ డేటాను నెట్‌వర్క్‌లోని అన్ని భాగస్వాములకు `calldata`గా అందుబాటులో ఉంచుతుంది. + +ZK-రోల్అప్‌లు ఆన్‌చెయిన్‌లో ఎక్కువ లావాదేవీ డేటాను ప్రచురించాల్సిన అవసరం లేదు, ఎందుకంటే వాలిడిటీ ప్రూఫ్‌లు ఇప్పటికే స్టేట్ ట్రాన్సిషన్‌ల యొక్క ప్రామాణికతను ధృవీకరిస్తాయి. అయినప్పటికీ, ఆన్‌చెయిన్‌లో డేటాను నిల్వ చేయడం ఇప్పటికీ ముఖ్యం, ఎందుకంటే ఇది L2 చైన్ యొక్క స్టేట్ యొక్క అనుమతిలేని, స్వతంత్ర ధృవీకరణను అనుమతిస్తుంది, ఇది ఎవరైనా లావాదేవీల బ్యాచ్‌లను సమర్పించడానికి అనుమతిస్తుంది, తద్వారా దురుద్దేశపూర్వక ఆపరేటర్లు చైన్‌ను సెన్సార్ చేయడం లేదా స్తంభింపజేయడం నిరోధించబడుతుంది. + +వినియోగదారులు రోల్అప్‌తో ఇంటరాక్ట్ అవ్వడానికి ఆన్‌చెయిన్ అవసరం. స్టేట్ డేటాకు యాక్సెస్ లేకుండా వినియోగదారులు వారి అకౌంటు బ్యాలెన్స్‌ను క్వెరీ చేయలేరు లేదా స్టేట్ సమాచారంపై ఆధారపడే లావాదేవీలను (ఉదా., విత్‌డ్రాయల్స్) ప్రారంభించలేరు. + +### లావాదేవీ ఫైనాలిటీ {#transaction-finality} + +ఇతీరియము ZK-రోల్అప్‌ల కోసం సెటిల్‌మెంట్ లేయర్‌గా పనిచేస్తుంది: L2 లావాదేవీలు L1 కాంట్రాక్టు వాలిడిటీ ప్రూఫ్‌ను అంగీకరించిన తర్వాత మాత్రమే ఫైనలైజ్ చేయబడతాయి. ఇది దురుద్దేశపూర్వక ఆపరేటర్లు చైన్‌ను కరప్ట్ చేసే (ఉదా., రోల్అప్ నిధులను దొంగిలించడం) ప్రమాదాన్ని తొలగిస్తుంది, ఎందుకంటే ప్రతి లావాదేవీ మెయిన్‌నెట్‌లో ఆమోదించబడాలి. అలాగే, L1లో ఫైనలైజ్ అయిన తర్వాత వినియోగదారుల ఆపరేషన్లు రివర్స్ చేయబడవని ఇతీరియము హామీ ఇస్తుంది. + +### సెన్సార్‌షిప్ నిరోధకత {#censorship-resistance} + +చాలా ZK-రోల్అప్‌లు లావాదేవీలను అమలు చేయడానికి, బ్యాచ్‌లను ఉత్పత్తి చేయడానికి మరియు బ్లాక్‌లను L1కి సమర్పించడానికి ఒక "సూపర్‌నోడ్" (ఆపరేటర్)ని ఉపయోగిస్తాయి. ఇది సామర్థ్యాన్ని నిర్ధారించినప్పటికీ, ఇది సెన్సార్‌షిప్ ప్రమాదాన్ని పెంచుతుంది: దురుద్దేశపూర్వక ZK-రోల్అప్ ఆపరేటర్లు వినియోగదారుల లావాదేవీలను బ్యాచ్‌లలో చేర్చడానికి నిరాకరించడం ద్వారా వారిని సెన్సార్ చేయవచ్చు. + +ఒక భద్రతా చర్యగా, ZK-రోల్అప్‌లు ఆపరేటర్ ద్వారా సెన్సార్ చేయబడుతున్నారని భావిస్తే, వినియోగదారులు లావాదేవీలను నేరుగా మెయిన్‌నెట్‌లోని రోల్అప్ కాంట్రాక్ట్‌కు సమర్పించడానికి అనుమతిస్తాయి. ఇది వినియోగదారులు ఆపరేటర్ అనుమతిపై ఆధారపడకుండా ZK-రోల్అప్ నుండి ఇతీరియముకు బలవంతంగా నిష్క్రమించడానికి అనుమతిస్తుంది. + +## ZK-రోల్అప్‌లు ఎలా పని చేస్తాయి? {#how-do-zk-rollups-work} + +### లావాదేవీలు {#transactions} + +ZK-రోల్అప్‌లోని వినియోగదారులు లావాదేవీలపై సంతకం చేసి, ప్రాసెసింగ్ మరియు తదుపరి బ్యాచ్‌లో చేర్చడం కోసం L2 ఆపరేటర్‌లకు సమర్పిస్తారు. కొన్ని సందర్భాల్లో, ఆపరేటర్ ఒక కేంద్రీకృత సంస్థ, సీక్వెన్సర్ అని పిలుస్తారు, ఇది లావాదేవీలను అమలు చేస్తుంది, వాటిని బ్యాచ్‌లుగా కలుపుతుంది మరియు L1కి సమర్పిస్తుంది. ఈ సిస్టమ్‌లోని సీక్వెన్సర్ మాత్రమే L2 బ్లాక్‌లను ఉత్పత్తి చేయడానికి మరియు రోల్అప్ లావాదేవీలను ZK-రోల్అప్ కాంట్రాక్ట్‌కు జోడించడానికి అనుమతించబడిన ఏకైక సంస్థ. + +ఇతర ZK-రోల్అప్‌లు [ప్రూఫ్-ఆఫ్-స్టేక్](/developers/docs/consensus-mechanisms/pos/) వాలిడేటర్ సెట్‌ను ఉపయోగించి ఆపరేటర్ పాత్రను రొటేట్ చేయవచ్చు. సంభావ్య ఆపరేటర్లు రోల్అప్ కాంట్రాక్ట్‌లో నిధులను డిపాజిట్ చేస్తారు, ప్రతి స్టేక్ యొక్క పరిమాణం తదుపరి రోల్అప్ బ్యాచ్‌ను ఉత్పత్తి చేయడానికి ఎంపికయ్యే స్టాకర్ యొక్క అవకాశాలను ప్రభావితం చేస్తుంది. ఆపరేటర్ దురుద్దేశపూర్వకంగా ప్రవర్తిస్తే వారి స్టేక్‌ను స్లాష్ చేయవచ్చు, ఇది చెల్లుబాటు అయ్యే బ్లాక్‌లను పోస్ట్ చేయడానికి వారిని ప్రోత్సహిస్తుంది. + +#### ZK-రోల్అప్‌లు ఇతీరియములో లావాదేవీల డేటాను ఎలా ప్రచురిస్తాయి {#how-zk-rollups-publish-transaction-data-on-ethereum} + +వివరించినట్లుగా, లావాదేవీల డేటా ఇతీరియములో `calldata`గా ప్రచురించబడుతుంది. `calldata` అనేది ఒక ఫంక్షన్‌కు ఆర్గ్యుమెంట్‌లను పాస్ చేయడానికి ఉపయోగించే స్మార్ట్ కాంట్రాక్ట్‌లోని డేటా ఏరియా మరియు ఇది [మెమరీ](/developers/docs/smart-contracts/anatomy/#memory)కి సమానంగా ప్రవర్తిస్తుంది. `calldata` ఇతీరియము యొక్క స్టేట్‌లో భాగంగా నిల్వ చేయబడనప్పటికీ, ఇది ఇతీరియము చైన్ యొక్క [చరిత్ర లాగ్‌లలో](https://docs.soliditylang.org/en/latest/introduction-to-smart-contracts.html?highlight=memory#logs) భాగంగా ఆన్‌చెయిన్‌లో కొనసాగుతుంది. `calldata` ఇతీరియము యొక్క స్టేట్‌ను ప్రభావితం చేయదు, ఇది ఆన్‌చెయిన్‌లో డేటాను నిల్వ చేయడానికి చౌకైన మార్గంగా చేస్తుంది. + +`calldata` కీవర్డ్ తరచుగా లావాదేవీ ద్వారా కాల్ చేయబడే స్మార్ట్ కాంట్రాక్ట్ పద్ధతిని గుర్తిస్తుంది మరియు ఒక యాదృచ్ఛిక బైట్ల క్రమం రూపంలో పద్ధతికి ఇన్‌పుట్‌లను కలిగి ఉంటుంది. ZK-రోల్అప్‌లు కంప్రెస్డ్ లావాదేవీ డేటాను ఆన్‌చెయిన్‌లో ప్రచురించడానికి `calldata`ను ఉపయోగిస్తాయి; రోల్అప్ ఆపరేటర్ కేవలం రోల్అప్ కాంట్రాక్ట్‌లో అవసరమైన ఫంక్షన్‌కు కాల్ చేసి, కంప్రెస్డ్ డేటాను ఫంక్షన్ ఆర్గ్యుమెంట్‌లుగా పాస్ చేయడం ద్వారా కొత్త బ్యాచ్‌ను జోడిస్తుంది. ఇది వినియోగదారుల కోసం ఖర్చులను తగ్గించడంలో సహాయపడుతుంది, ఎందుకంటే రోల్అప్ ఫీజులలో ఎక్కువ భాగం ఆన్‌చెయిన్‌లో లావాదేవీల డేటాను నిల్వ చేయడానికి వెళ్తుంది. + +### స్థితి కట్టుబాట్లు {#state-commitments} + +L2 అకౌంట్లు మరియు బ్యాలెన్స్‌లను కలిగి ఉన్న ZK-రోల్అప్ యొక్క స్టేట్, ఒక [మెర్కిల్ ట్రీ](/whitepaper/#merkle-trees)గా సూచించబడుతుంది. మెర్కిల్ ట్రీ యొక్క రూట్ (మెర్కిల్ రూట్) యొక్క క్రిప్టోగ్రాఫిక్ హాష్ ఆన్‌చెయిన్ కాంట్రాక్ట్‌లో నిల్వ చేయబడుతుంది, ఇది రోల్అప్ ప్రోటోకాల్ ZK-రోల్అప్ యొక్క స్టేట్‌లోని మార్పులను ట్రాక్ చేయడానికి అనుమతిస్తుంది. + +కొత్త లావాదేవీల సమితిని అమలు చేసిన తర్వాత రోల్అప్ కొత్త స్టేట్‌కు మారుతుంది. స్టేట్ మార్పును ప్రారంభించిన ఆపరేటర్ కొత్త స్టేట్ రూట్‌ను లెక్కించి, ఆన్‌చెయిన్ కాంట్రాక్ట్‌కు సమర్పించాలి. బ్యాచ్‌తో అనుబంధించబడిన వాలిడిటీ ప్రూఫ్ వెరిఫైయర్ కాంట్రాక్టు ద్వారా ధృవీకరించబడితే, కొత్త మెర్కిల్ రూట్ ZK-రోల్అప్ యొక్క కానానికల్ స్టేట్ రూట్ అవుతుంది. + +స్టేట్ రూట్‌లను గణించడంతో పాటు, ZK-రోల్అప్ ఆపరేటర్ ఒక బ్యాచ్ రూట్‌ను కూడా సృష్టిస్తుంది—ఒక బ్యాచ్‌లోని అన్ని లావాదేవీలను కలిగి ఉన్న మెర్కిల్ ట్రీ యొక్క రూట్. కొత్త బ్యాచ్ సమర్పించినప్పుడు, రోల్అప్ కాంట్రాక్టు బ్యాచ్ రూట్‌ను నిల్వ చేస్తుంది, వినియోగదారులు ఒక లావాదేవీ (ఉదా., ఉపసంహరణ అభ్యర్థన) బ్యాచ్‌లో చేర్చబడిందని నిరూపించడానికి అనుమతిస్తుంది. వినియోగదారులు లావాదేవీల వివరాలు, బ్యాచ్ రూట్, మరియు చేర్చిన మార్గాన్ని చూపే ఒక [మెర్కిల్ ప్రూఫ్‌ను](/developers/tutorials/merkle-proofs-for-offline-data-integrity/) అందించాల్సి ఉంటుంది. + +### వాలిడిటీ ప్రూఫ్‌లు {#validity-proofs} + +ZK-రోల్అప్ ఆపరేటర్ L1 కాంట్రాక్ట్‌కు సమర్పించే కొత్త స్టేట్ రూట్ రోల్అప్ యొక్క స్టేట్‌కు చేసిన అప్‌డేట్‌ల ఫలితం. ఆలిస్ బాబ్‌కు 10 టోకెన్‌లను పంపితే, ఆపరేటర్ కేవలం ఆలిస్ బ్యాలెన్స్‌ను 10 తగ్గించి, బాబ్ బ్యాలెన్స్‌ను 10 పెంచుతుంది. అప్పుడు ఆపరేటర్ అప్‌డేట్ చేయబడిన అకౌంటు డేటాను హాష్ చేసి, రోల్అప్ యొక్క మెర్కిల్ ట్రీని పునర్నిర్మించి, కొత్త మెర్కిల్ రూట్‌ను ఆన్‌చెయిన్ కాంట్రాక్ట్‌కు సమర్పిస్తుంది. + +కానీ ఆపరేటర్ కొత్త మెర్కిల్ రూట్ రోల్అప్ యొక్క స్టేట్‌కు సరైన అప్‌డేట్‌ల నుండి వచ్చిందని నిరూపించే వరకు రోల్అప్ కాంట్రాక్టు ప్రతిపాదిత స్టేట్ కమిట్‌మెంట్‌ను ఆటోమేటిక్‌గా అంగీకరించదు. ZK-రోల్అప్ ఆపరేటర్ బ్యాచ్ చేయబడిన లావాదేవీల యొక్క ఖచ్చితత్వాన్ని ధృవీకరించే ఒక క్లుప్తమైన క్రిప్టోగ్రాఫిక్ కమిట్‌మెంట్ అయిన వాలిడిటీ ప్రూఫ్‌ను ఉత్పత్తి చేయడం ద్వారా దీన్ని చేస్తుంది. + +వాలిడిటీ ప్రూఫ్‌లు పార్టీలు ఒక స్టేట్‌మెంట్ యొక్క ఖచ్చితత్వాన్ని స్టేట్‌మెంట్‌నే వెల్లడించకుండా నిరూపించడానికి అనుమతిస్తాయి—అందువల్ల, వాటిని జీరో-కనౌలెడ్జి ప్రూఫ్‌లు అని కూడా అంటారు. ZK-రోల్అప్‌లు ఇతీరియములో లావాదేవీలను తిరిగి అమలు చేయకుండానే ఆఫ్‌చెయిన్ స్టేట్ ట్రాన్సిషన్‌ల యొక్క ఖచ్చితత్వాన్ని నిర్ధారించడానికి వాలిడిటీ ప్రూఫ్‌లను ఉపయోగిస్తాయి. ఈ ప్రూఫ్‌లు [ZK-SNARK](https://arxiv.org/abs/2202.06877) (జీరో-నాలెడ్జ్ సక్సెస్ట్ నాన్-ఇంటరాక్టివ్ ఆర్గుమెంట్ ఆఫ్ నాలెడ్జ్) లేదా [ZK-STARK](https://eprint.iacr.org/2018/046) (జీరో-నాలెడ్జ్ స్కేలబుల్ ట్రాన్స్‌పరెంట్ ఆర్గుమెంట్ ఆఫ్ నాలెడ్జ్) రూపంలో రావచ్చు. + +ZK-రోల్అప్‌లలో ఆఫ్‌చెయిన్ కంప్యూటేషన్ యొక్క సమగ్రతను ధృవీకరించడానికి SNARKలు మరియు STARKలు రెండూ సహాయపడతాయి, అయితే ప్రతి ప్రూఫ్ రకానికి విలక్షణమైన లక్షణాలు ఉంటాయి. + +**ZK-SNARKలు** + +ZK-SNARK ప్రోటోకాల్ పని చేయడానికి, ఒక కామన్ రిఫరెన్స్ స్ట్రింగ్ (CRS) సృష్టించడం అవసరం: CRS వాలిడిటీ ప్రూఫ్‌లను నిరూపించడానికి మరియు ధృవీకరించడానికి పబ్లిక్ పారామీటర్‌లను అందిస్తుంది. ప్రూవింగ్ సిస్టమ్ యొక్క భద్రత CRS సెటప్‌పై ఆధారపడి ఉంటుంది; పబ్లిక్ పారామీటర్‌లను సృష్టించడానికి ఉపయోగించిన సమాచారం దురుద్దేశపూర్వక నటుల చేతుల్లోకి వస్తే, వారు తప్పుడు వాలిడిటీ ప్రూఫ్‌లను రూపొందించగలరు. + +కొన్ని ZK-రోల్అప్‌లు ఈ సమస్యను పరిష్కరించడానికి [మల్టీ-పార్టీ కంప్యూటేషన్ సెరిమనీ (MPC)](https://zkproof.org/2021/06/30/setup-ceremonies/amp/)ని ఉపయోగిస్తాయి, ఇందులో విశ్వసనీయ వ్యక్తులు పాల్గొని, ZK-SNARK సర్క్యూట్ కోసం పబ్లిక్ పారామీటర్‌లను రూపొందిస్తారు. ప్రతి పార్టీ CRS నిర్మాణానికి కొంత యాదృచ్ఛికతను ("టాక్సిక్ వేస్ట్" అని పిలుస్తారు) అందిస్తుంది, దీనిని వారు వెంటనే నాశనం చేయాలి. + +విశ్వసనీయ సెటప్‌లు ఉపయోగించబడతాయి ఎందుకంటే అవి CRS సెటప్ యొక్క భద్రతను పెంచుతాయి. ఒక నిజాయితీ గల పార్టిసిపెంట్ వారి ఇన్‌పుట్‌ను నాశనం చేసినంత కాలం, ZK-SNARK సిస్టమ్ యొక్క భద్రతకు హామీ ఉంటుంది. అయినప్పటికీ, ఈ విధానానికి వారి శాంపిల్ చేయబడిన యాదృచ్ఛికతను తొలగించడానికి మరియు సిస్టమ్ యొక్క భద్రతా హామీలను బలహీనపరచకుండా ఉండటానికి పాల్గొన్న వారిని విశ్వసించాల్సిన అవసరం ఉంది. + +విశ్వాస అంచనాలను పక్కన పెడితే, ZK-SNARKలు వాటి చిన్న ప్రూఫ్ సైజ్‌లు మరియు స్థిర-సమయ ధృవీకరణకు ప్రసిద్ధి చెందాయి. L1లో ప్రూఫ్ ధృవీకరణ ఒక ZK-రోల్అప్‌ను ఆపరేట్ చేయడానికి పెద్ద ఖర్చుగా ఉంటుంది కాబట్టి, L2లు మెయిన్‌నెట్‌లో త్వరగా మరియు చౌకగా ధృవీకరించగల ప్రూఫ్‌లను రూపొందించడానికి ZK-SNARKలను ఉపయోగిస్తాయి. + +**ZK-STARKలు** + +ZK-SNARKల వలె, ZK-STARKలు ఇన్‌పుట్‌లను వెల్లడించకుండా ఆఫ్‌చెయిన్ కంప్యూటేషన్ యొక్క ప్రామాణికతను నిరూపిస్తాయి. అయితే, ZK-STARKలు వాటి స్కేలబిలిటీ మరియు పారదర్శకత కారణంగా ZK-SNARKలపై మెరుగుదలగా పరిగణించబడతాయి. + +ZK-STARKలు 'పారదర్శకమైనవి', ఎందుకంటే అవి కామన్ రిఫరెన్స్ స్ట్రింగ్ (CRS) యొక్క విశ్వసనీయ సెటప్ లేకుండా పని చేయగలవు. బదులుగా, ZK-STARKలు ప్రూఫ్‌లను రూపొందించడానికి మరియు ధృవీకరించడానికి పారామీటర్‌లను సెట్ చేయడానికి బహిరంగంగా ధృవీకరించగల యాదృచ్ఛికతపై ఆధారపడతాయి. + +ZK-STARKలు కూడా ఎక్కువ స్కేలబిలిటీని అందిస్తాయి ఎందుకంటే వాలిడిటీ ప్రూఫ్‌లను నిరూపించడానికి మరియు ధృవీకరించడానికి అవసరమైన సమయం అంతర్లీన కంప్యూటేషన్ యొక్క సంక్లిష్టతకు సంబంధించి _క్వాసిలీనియర్‌గా_ పెరుగుతుంది. ZK-SNARKలతో, అంతర్లీన కంప్యూటేషన్ యొక్క పరిమాణానికి సంబంధించి నిరూపణ మరియు ధృవీకరణ సమయాలు _లీనియర్‌గా_ పెరుగుతాయి. అంటే పెద్ద డేటాసెట్‌లు ఉన్నప్పుడు ZK-STARKలకు ZK-SNARKల కంటే నిరూపణ మరియు ధృవీకరణకు తక్కువ సమయం అవసరం, ఇది అధిక-పరిమాణ అప్లికేషన్‌లకు ఉపయోగకరంగా ఉంటుంది. + +ZK-STARKలు క్వాంటం కంప్యూటర్లకు వ్యతిరేకంగా కూడా సురక్షితంగా ఉంటాయి, అయితే ZK-SNARKలలో ఉపయోగించే ఎలిప్టిక్ కర్వ్ క్రిప్టోగ్రఫీ (ECC) క్వాంటం కంప్యూటింగ్ దాడులకు గురయ్యే అవకాశం ఉందని విస్తృతంగా నమ్ముతారు. ZK-STARKల యొక్క ప్రతికూలత ఏమిటంటే, అవి పెద్ద ప్రూఫ్ పరిమాణాలను ఉత్పత్తి చేస్తాయి, వీటిని ఇతీరియములో ధృవీకరించడం ఖరీదైనది. + +#### ZK-రోల్అప్‌లలో వాలిడిటీ ప్రూఫ్‌లు ఎలా పని చేస్తాయి? {#validity-proofs-in-zk-rollups} + +##### ప్రూఫ్ జనరేషన్ + +లావాదేవీలను అంగీకరించే ముందు, ఆపరేటర్ సాధారణ తనిఖీలను నిర్వహిస్తుంది. ఇందులో ఇవి నిర్ధారించబడతాయి: + +- పంపినవారు మరియు స్వీకర్త అకౌంట్లు స్టేట్ ట్రీలో భాగంగా ఉన్నాయి. +- పంపినవారికి లావాదేవీని ప్రాసెస్ చేయడానికి తగినంత నిధులు ఉన్నాయి. +- లావాదేవీ సరైనది మరియు రోల్అప్‌లో పంపినవారి పబ్లిక్ కీతో సరిపోలుతుంది. +- పంపినవారి నాన్స్ సరైనది, మొదలైనవి. + +ZK-రోల్అప్ నోడ్ తగినంత లావాదేవీలను కలిగి ఉన్న తర్వాత, అది వాటిని ఒక బ్యాచ్‌గా కలుపుతుంది మరియు ఒక క్లుప్తమైన ZK-ప్రూఫ్‌గా కంపైల్ చేయడానికి ప్రూవింగ్ సర్క్యూట్‌కు ఇన్‌పుట్‌లను కంపైల్ చేస్తుంది. ఇందులో ఇవి ఉంటాయి: + +- బ్యాచ్‌లోని అన్ని లావాదేవీలను కలిగి ఉన్న ఒక మెర్కిల్ ట్రీ రూట్. +- లావాదేవీలను బ్యాచ్‌లో చేర్చినట్లు నిరూపించడానికి మెర్కిల్ ప్రూఫ్‌లు. +- లావాదేవీలలోని ప్రతి పంపినవారు-స్వీకర్త జతకు మెర్కిల్ ప్రూఫ్‌లు, ఆ అకౌంట్లు రోల్అప్ యొక్క స్టేట్ ట్రీలో భాగంగా ఉన్నాయని నిరూపించడానికి. +- ప్రతి లావాదేవీకి స్టేట్ అప్‌డేట్‌లను వర్తింపజేసిన తర్వాత స్టేట్ రూట్‌ను అప్‌డేట్ చేయడం ద్వారా పొందిన ఇంటర్మీడియట్ స్టేట్ రూట్‌ల సమితి (అంటే, పంపినవారి అకౌంట్లను తగ్గించడం మరియు స్వీకర్త అకౌంట్లను పెంచడం). + +ప్రూవింగ్ సర్క్యూట్ ప్రతి లావాదేవీపై "లూపింగ్" చేయడం ద్వారా మరియు లావాదేవీని ప్రాసెస్ చేయడానికి ముందు ఆపరేటర్ పూర్తి చేసిన అదే తనిఖీలను నిర్వహించడం ద్వారా వాలిడిటీ ప్రూఫ్‌ను గణిస్తుంది. మొదట, ఇది అందించిన మెర్కిల్ ప్రూఫ్‌ను ఉపయోగించి పంపినవారి అకౌంటు ప్రస్తుత స్టేట్ రూట్‌లో భాగంగా ఉందని ధృవీకరిస్తుంది. అప్పుడు ఇది పంపినవారి బ్యాలెన్స్‌ను తగ్గిస్తుంది, వారి నాన్స్‌ను పెంచుతుంది, అప్‌డేట్ చేయబడిన అకౌంటు డేటాను హాష్ చేస్తుంది మరియు కొత్త మెర్కిల్ రూట్‌ను రూపొందించడానికి మెర్కిల్ ప్రూఫ్‌తో కలుపుతుంది. + +ఈ మెర్కిల్ రూట్ ZK-రోల్అప్ యొక్క స్టేట్‌లో ఏకైక మార్పును ప్రతిబింబిస్తుంది: పంపినవారి బ్యాలెన్స్ మరియు నాన్స్‌లో మార్పు. ఇది సాధ్యమవుతుంది ఎందుకంటే అకౌంటు యొక్క ఉనికిని నిరూపించడానికి ఉపయోగించిన మెర్కిల్ ప్రూఫ్ కొత్త స్టేట్ రూట్‌ను రూపొందించడానికి ఉపయోగించబడుతుంది. + +ప్రూవింగ్ సర్క్యూట్ స్వీకర్త యొక్క అకౌంటుపై అదే ప్రక్రియను నిర్వహిస్తుంది. ఇది స్వీకర్త యొక్క అకౌంటు ఇంటర్మీడియట్ స్టేట్ రూట్ కింద ఉందో లేదో తనిఖీ చేస్తుంది (మెర్కిల్ ప్రూఫ్‌ను ఉపయోగించి), వారి బ్యాలెన్స్‌ను పెంచుతుంది, అకౌంటు డేటాను తిరిగి హాష్ చేస్తుంది మరియు కొత్త స్టేట్ రూట్‌ను రూపొందించడానికి మెర్కిల్ ప్రూఫ్‌తో కలుపుతుంది. + +ఈ ప్రక్రియ ప్రతి లావాదేవీకి పునరావృతమవుతుంది; ప్రతి "లూప్" పంపినవారి అకౌంటును అప్‌డేట్ చేయడం నుండి కొత్త స్టేట్ రూట్‌ను మరియు స్వీకర్త యొక్క అకౌంటును అప్‌డేట్ చేయడం నుండి తదుపరి కొత్త రూట్‌ను సృష్టిస్తుంది. వివరించినట్లుగా, స్టేట్ రూట్‌కు ప్రతి అప్‌డేట్ రోల్అప్ యొక్క స్టేట్ ట్రీలో ఒక భాగాన్ని మారుతున్నట్లు సూచిస్తుంది. + +ZK-ప్రూవింగ్ సర్క్యూట్ మొత్తం లావాదేవీ బ్యాచ్‌ను పునరావృతం చేస్తుంది, చివరి లావాదేవీ అమలు చేయబడిన తర్వాత తుది స్టేట్ రూట్‌కు దారితీసే అప్‌డేట్‌ల క్రమాన్ని ధృవీకరిస్తుంది. చివరిగా గణించబడిన మెర్కిల్ రూట్ ZK-రోల్అప్ యొక్క సరికొత్త కానానికల్ స్టేట్ రూట్ అవుతుంది. + +##### ప్రూఫ్ వెరిఫికేషన్ + +ప్రూవింగ్ సర్క్యూట్ స్టేట్ అప్‌డేట్‌ల యొక్క ఖచ్చితత్వాన్ని ధృవీకరించిన తర్వాత, L2 ఆపరేటర్ గణించబడిన వాలిడిటీ ప్రూఫ్‌ను L1లోని వెరిఫైయర్ కాంట్రాక్ట్‌కు సమర్పిస్తుంది. కాంట్రాక్టు యొక్క వెరిఫికేషన్ సర్క్యూట్ ప్రూఫ్ యొక్క ప్రామాణికతను ధృవీకరిస్తుంది మరియు ప్రూఫ్‌లో భాగంగా ఉన్న పబ్లిక్ ఇన్‌పుట్‌లను కూడా తనిఖీ చేస్తుంది: + +- **ప్రీ-స్టేట్ రూట్**: ZK-రోల్అప్ యొక్క పాత స్టేట్ రూట్ (అంటే, బ్యాచ్ చేయబడిన లావాదేవీలు అమలు చేయడానికి ముందు), L2 చైన్ యొక్క చివరిగా తెలిసిన చెల్లుబాటు అయ్యే స్టేట్‌ను ప్రతిబింబిస్తుంది. + +- **పోస్ట్-స్టేట్ రూట్**: ZK-రోల్అప్ యొక్క కొత్త స్టేట్ రూట్ (అంటే, బ్యాచ్ చేయబడిన లావాదేవీల అమలు తర్వాత), L2 చైన్ యొక్క సరికొత్త స్టేట్‌ను ప్రతిబింబిస్తుంది. పోస్ట్-స్టేట్ రూట్ అనేది ప్రూవింగ్ సర్క్యూట్‌లో స్టేట్ అప్‌డేట్‌లను వర్తింపజేసిన తర్వాత పొందిన తుది రూట్. + +- **బ్యాచ్ రూట్**: బ్యాచ్ యొక్క మెర్కిల్ రూట్, బ్యాచ్‌లోని లావాదేవీలను _మెర్కిలైజ్_ చేయడం మరియు ట్రీ యొక్క రూట్‌ను హాష్ చేయడం ద్వారా ఉద్భవించింది. + +- **లావాదేవీ ఇన్‌పుట్‌లు**: సమర్పించిన బ్యాచ్‌లో భాగంగా అమలు చేయబడిన లావాదేవీలతో అనుబంధించబడిన డేటా. + +ప్రూఫ్ సర్క్యూట్‌ను సంతృప్తిపరిస్తే (అంటే, ఇది చెల్లుబాటు అయ్యేది అయితే), రోల్అప్‌ను మునుపటి స్టేట్ (ప్రీ-స్టేట్ రూట్ ద్వారా క్రిప్టోగ్రాఫికల్‌గా ఫింగర్‌ప్రింట్ చేయబడింది) నుండి కొత్త స్టేట్‌కు (పోస్ట్-స్టేట్ రూట్ ద్వారా క్రిప్టోగ్రాఫికల్‌గా ఫింగర్‌ప్రింట్ చేయబడింది) మార్చే చెల్లుబాటు అయ్యే లావాదేవీల క్రమం ఉందని అర్థం. ప్రీ-స్టేట్ రూట్ రోల్అప్ కాంట్రాక్ట్‌లో నిల్వ చేయబడిన రూట్‌తో సరిపోలితే మరియు ప్రూఫ్ చెల్లుబాటు అయ్యేది అయితే, రోల్అప్ కాంట్రాక్టు ప్రూఫ్ నుండి పోస్ట్-స్టేట్ రూట్‌ను తీసుకుంటుంది మరియు రోల్అప్ యొక్క మారిన స్టేట్‌ను ప్రతిబింబించడానికి దాని స్టేట్ ట్రీని అప్‌డేట్ చేస్తుంది. + +### ప్రవేశాలు మరియు నిష్క్రమణలు {#entries-and-exits} + +వినియోగదారులు L1 చైన్‌లో డిప్లాయ్ చేయబడిన రోల్అప్ యొక్క కాంట్రాక్ట్‌లో టోకెన్‌లను డిపాజిట్ చేయడం ద్వారా ZK-రోల్అప్‌లోకి ప్రవేశిస్తారు. ఈ లావాదేవీ క్యూలో ఉంటుంది, ఎందుకంటే కేవలం ఆపరేటర్లు మాత్రమే లావాదేవీలను రోల్అప్ కాంట్రాక్ట్‌కు సమర్పించగలరు. + +పెండింగ్‌లో ఉన్న డిపాజిట్ క్యూ నిండడం ప్రారంభిస్తే, ZK-రోల్అప్ ఆపరేటర్ డిపాజిట్ లావాదేవీలను తీసుకొని వాటిని రోల్అప్ కాంట్రాక్ట్‌కు సమర్పిస్తాడు. వినియోగదారుడి నిధులు రోల్అప్‌లో ఉన్న తర్వాత, వారు ప్రాసెసింగ్ కోసం ఆపరేటర్‌కు లావాదేవీలను పంపడం ద్వారా లావాదేవీలు చేయడం ప్రారంభించవచ్చు. వినియోగదారులు వారి అకౌంటు డేటాను హాష్ చేయడం ద్వారా, హాష్‌ను రోల్అప్ కాంట్రాక్ట్‌కు పంపడం ద్వారా మరియు ప్రస్తుత స్టేట్ రూట్‌కు వ్యతిరేకంగా ధృవీకరించడానికి మెర్కిల్ ప్రూఫ్‌ను అందించడం ద్వారా రోల్అప్‌లోని బ్యాలెన్స్‌లను ధృవీకరించవచ్చు. + +ఒక ZK-రోల్అప్ నుండి L1 కి విత్ డ్రా చేసుకోవడం చాలా సులభం. వినియోగదారుడు తమ ఆస్తులను రోల్అప్‌లో ఒక నిర్దిష్ట అకౌంటుకు బర్నింగ్ కోసం పంపడం ద్వారా నిష్క్రమణ లావాదేవీని ప్రారంభిస్తాడు. ఆపరేటర్ లావాదేవీని తదుపరి బ్యాచ్‌లో చేర్చితే, వినియోగదారుడు ఆన్‌చెయిన్ కాంట్రాక్ట్‌కు ఉపసంహరణ అభ్యర్థనను సమర్పించవచ్చు. ఈ ఉపసంహరణ అభ్యర్థనలో ఇవి ఉంటాయి: + +- వినియోగదారుడి లావాదేవీని బర్న్ అకౌంటుకు ఒక లావాదేవీ బ్యాచ్‌లో చేర్చినట్లు నిరూపించే మెర్కిల్ ప్రూఫ్ + +- లావాదేవీ డేటా + +- బ్యాచ్ రూట్ + +- డిపాజిట్ చేసిన నిధులను స్వీకరించడానికి L1 చిరునామా + +రోల్అప్ కాంట్రాక్టు లావాదేవీల డేటాను హాష్ చేస్తుంది, బ్యాచ్ రూట్ ఉందో లేదో తనిఖీ చేస్తుంది మరియు లావాదేవీల హాష్ బ్యాచ్ రూట్‌లో భాగంగా ఉందో లేదో తనిఖీ చేయడానికి మెర్కిల్ ప్రూఫ్‌ను ఉపయోగిస్తుంది. ఆ తర్వాత, కాంట్రాక్టు నిష్క్రమణ లావాదేవీని అమలు చేసి, L1లో వినియోగదారుడి ఎంచుకున్న చిరునామాకు నిధులను పంపుతుంది. + +## ZK-రోల్అప్‌లు మరియు EVM అనుకూలత {#zk-rollups-and-evm-compatibility} + +ఆప్టిమిస్టిక్ రోల్అప్‌ల వలె కాకుండా, ZK-రోల్అప్‌లు [ఇతీరియము వర్చువల్ మషీన్ (EVM)](/developers/docs/evm/) తో సులభంగా అనుకూలంగా ఉండవు. సాధారణ-ప్రయోజన EVM కంప్యూటేషన్‌ను సర్క్యూట్‌లలో నిరూపించడం, సాధారణ కంప్యూటేషన్‌లను (మునుపు వివరించిన టోకెన్ బదిలీ వంటివి) నిరూపించడం కంటే చాలా కష్టం మరియు వనరుల-ఇంటెన్సివ్. + +అయితే, [జీరో-కనౌలెడ్జి టెక్నాలజీలోని పురోగతులు](https://hackmd.io/@yezhang/S1_KMMbGt) EVM కంప్యూటేషన్‌ను జీరో-కనౌలెడ్జి ప్రూఫ్‌లలో చుట్టడంలో పునరుద్ధరించబడిన ఆసక్తిని రేకెత్తిస్తున్నాయి. ఈ ప్రయత్నాలు ప్రోగ్రామ్ ఎగ్జిక్యూషన్ యొక్క ఖచ్చితత్వాన్ని సమర్థవంతంగా ధృవీకరించగల ఒక జీరో-కనౌలెడ్జి EVM (zkEVM) అమలును సృష్టించడం వైపు మళ్లించబడ్డాయి. ఒక zkEVM సర్క్యూట్‌లలో నిరూపణ/ధృవీకరణ కోసం ప్రస్తుత EVM ఆప్కోడ్లను పునఃసృష్టిస్తుంది, ఇది స్మార్ట్ కాంట్రాక్టులను అమలు చేయడానికి అనుమతిస్తుంది. + +EVM వలె, కొన్ని ఇన్‌పుట్‌లపై కంప్యూటేషన్ చేసిన తర్వాత ఒక zkEVM స్టేట్‌ల మధ్య మారుతుంది. తేడా ఏమిటంటే, zkEVM ప్రోగ్రామ్ యొక్క ఎగ్జిక్యూషన్‌లోని ప్రతి దశ యొక్క ఖచ్చితత్వాన్ని ధృవీకరించడానికి జీరో-కనౌలెడ్జి ప్రూఫ్‌లను కూడా సృష్టిస్తుంది. వాలిడిటీ ప్రూఫ్‌లు VM యొక్క స్టేట్‌ను (మెమరీ, స్టాక్, స్టోరేజ్) తాకే ఆపరేషన్ల యొక్క ఖచ్చితత్వాన్ని మరియు కంప్యూటేషన్‌నే (అంటే, ఆపరేషన్ సరైన ఆప్కోడ్లను పిలిచిందా మరియు వాటిని సరిగ్గా అమలు చేసిందా?) ధృవీకరించగలవు. + +EVM-అనుకూల ZK-రోల్అప్‌ల పరిచయం అభివృద్ధి చేసేవారికి జీరో-కనౌలెడ్జి ప్రూఫ్‌ల యొక్క స్కేలబిలిటీ మరియు భద్రతా హామీలను ఉపయోగించుకోవడంలో సహాయపడుతుందని అంచనా వేయబడింది. మరీ ముఖ్యంగా, స్థానిక ఇతీరియము ఇన్‌ఫ్రాస్ట్రక్చర్‌తో అనుకూలత అంటే అభివృద్ధి చేసేవారు సుపరిచితమైన (మరియు యుద్ధ-పరీక్షించబడిన) పనిముట్లు మరియు భాషలను ఉపయోగించి ZK-స్నేహపూర్వక డాప్స్‌ను నిర్మించవచ్చు. + +## ZK-రోల్అప్ ఫీజులు ఎలా పని చేస్తాయి? {#how-do-zk-rollup-fees-work} + +ZK-రోల్అప్‌లలో లావాదేవీల కోసం వినియోగదారులు ఎంత చెల్లిస్తారనేది గ్యాస్ ఫీజుపై ఆధారపడి ఉంటుంది, సరిగ్గా ఇతీరియము మెయిన్‌నెట్ వలె. అయితే, L2లో గ్యాస్ ఫీజులు విభిన్నంగా పని చేస్తాయి మరియు కింది ఖర్చుల ద్వారా ప్రభావితమవుతాయి: + +1. **స్టేట్ రైట్**: ఇతీరియము యొక్క స్టేట్‌కు వ్రాయడానికి (అంటే, ఇతీరియము బ్లాక్‌చెయిన్‌లో లావాదేవీని సమర్పించడం) ఒక స్థిరమైన ఖర్చు ఉంటుంది. ZK-రోల్అప్‌లు లావాదేవీలను బ్యాచ్ చేయడం ద్వారా మరియు స్థిరమైన ఖర్చులను బహుళ వినియోగదారుల మధ్య పంపిణీ చేయడం ద్వారా ఈ ఖర్చును తగ్గిస్తాయి. + +2. **డేటా పబ్లికేషన్**: ZK-రోల్అప్‌లు ప్రతి లావాదేవీకి స్టేట్ డేటాను ఇతీరియముకు `calldata`గా ప్రచురిస్తాయి. `calldata` ఖర్చులు ప్రస్తుతం [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559) ద్వారా నియంత్రించబడతాయి, ఇది వరుసగా `calldata` యొక్క నాన్-జీరో బైట్‌లకు 16 గ్యాస్ మరియు జీరో బైట్‌లకు 4 గ్యాస్ ఖర్చును నిర్దేశిస్తుంది. ప్రతి లావాదేవీపై చెల్లించే ఖర్చు దాని కోసం ఆన్‌చెయిన్‌లో ఎంత `calldata` పోస్ట్ చేయాలనే దానిపై ఆధారపడి ఉంటుంది. + +3. **L2 ఆపరేటర్ ఫీజులు**: ఇది ఇతీరియము మెయిన్‌నెట్‌లోని [లావాదేవీ "ప్రాధాన్యత ఫీజులు (చిట్కాలు)"](/developers/docs/gas/#how-are-gas-fees-calculated) వలె, లావాదేవీలను ప్రాసెస్ చేయడంలో అయిన కంప్యూటేషనల్ ఖర్చుల కోసం రోల్అప్ ఆపరేటర్‌కు పరిహారంగా చెల్లించే మొత్తం. + +4. **ప్రూఫ్ జనరేషన్ మరియు వెరిఫికేషన్**: ZK-రోల్అప్ ఆపరేటర్లు లావాదేవీ బ్యాచ్‌ల కోసం వాలిడిటీ ప్రూఫ్‌లను ఉత్పత్తి చేయాలి, ఇది వనరుల-ఇంటెన్సివ్. మెయిన్‌నెట్‌లో జీరో-కనౌలెడ్జి ప్రూఫ్‌లను ధృవీకరించడానికి కూడా గ్యాస్ (~ 500,000 గ్యాస్) ఖర్చవుతుంది. + +లావాదేవీలను బ్యాచ్ చేయడమే కాకుండా, ZK-రోల్అప్‌లు లావాదేవీల డేటాను కంప్రెస్ చేయడం ద్వారా వినియోగదారులకు ఫీజులను తగ్గిస్తాయి. ఇతీరియము ZK-రోల్అప్‌లను ఉపయోగించడానికి ఎంత ఖర్చవుతుందో మీరు [రియల్-టైమ్ ఓవర్‌వ్యూను చూడవచ్చు](https://l2fees.info/). + +## ZK-రోల్అప్‌లు ఇతీరియమును ఎలా స్కేల్ చేస్తాయి? {#scaling-ethereum-with-zk-rollups} + +### లావాదేవీల డేటా కంప్రెషన్ {#transaction-data-compression} + +ZK-రోల్అప్‌లు కంప్యూటేషన్‌ను ఆఫ్‌చెయిన్‌కు తీసుకెళ్లడం ద్వారా ఇతీరియము యొక్క బేస్ లేయర్‌లో త్రూపుట్‌ను విస్తరిస్తాయి, కానీ స్కేలింగ్ కోసం నిజమైన ప్రోత్సాహం లావాదేవీల డేటాను కంప్రెస్ చేయడం నుండి వస్తుంది. ఇతీరియము యొక్క [బ్లాక్ సైజు](/developers/docs/blocks/#block-size) ప్రతి బ్లాక్ కలిగి ఉండగల డేటాను మరియు, విస్తరణ ద్వారా, ప్రతి బ్లాక్‌కు ప్రాసెస్ చేయబడే లావాదేవీల సంఖ్యను పరిమితం చేస్తుంది. లావాదేవీలకు సంబంధించిన డేటాను కంప్రెస్ చేయడం ద్వారా, ZK-రోల్అప్‌లు ప్రతి బ్లాక్‌కు ప్రాసెస్ చేయబడే లావాదేవీల సంఖ్యను గణనీయంగా పెంచుతాయి. + +ZK-రోల్అప్‌లు ఆప్టిమిస్టిక్ రోల్అప్‌ల కంటే లావాదేవీల డేటాను బాగా కంప్రెస్ చేయగలవు, ఎందుకంటే అవి ప్రతి లావాదేవీని ధృవీకరించడానికి అవసరమైన మొత్తం డేటాను పోస్ట్ చేయనవసరం లేదు. అవి కేవలం రోల్అప్‌లోని అకౌంట్లు మరియు బ్యాలెన్స్‌ల యొక్క తాజా స్టేట్‌ను పునర్నిర్మించడానికి అవసరమైన కనీస డేటాను మాత్రమే పోస్ట్ చేయాలి. + +### పునరావృత రుజువులు {#recursive-proofs} + +జీరో-కనౌలెడ్జి ప్రూఫ్‌ల యొక్క ఒక ప్రయోజనం ఏమిటంటే, ప్రూఫ్‌లు ఇతర ప్రూఫ్‌లను ధృవీకరించగలవు. ఉదాహరణకు, ఒకే ZK-SNARK ఇతర ZK-SNARKలను ధృవీకరించగలదు. అటువంటి "ప్రూఫ్-ఆఫ్-ప్రూఫ్‌లు" పునరావృత ప్రూఫ్‌లు అని పిలువబడతాయి మరియు ZK-రోల్అప్‌లపై త్రూపుట్‌ను నాటకీయంగా పెంచుతాయి. + +ప్రస్తుతం, వాలిడిటీ ప్రూఫ్‌లు బ్లాక్-బై-బ్లాక్ ప్రాతిపదికన రూపొందించబడతాయి మరియు ధృవీకరణ కోసం L1 కాంట్రాక్ట్‌కు సమర్పించబడతాయి. అయితే, సింగిల్ బ్లాక్ ప్రూఫ్‌లను ధృవీకరించడం ZK-రోల్అప్‌లు సాధించగల త్రూపుట్‌ను పరిమితం చేస్తుంది, ఎందుకంటే ఆపరేటర్ ఒక ప్రూఫ్‌ను సమర్పించినప్పుడు కేవలం ఒక బ్లాక్ మాత్రమే ఫైనలైజ్ చేయబడుతుంది. + +అయితే, పునరావృత ప్రూఫ్‌లు ఒకే వాలిడిటీ ప్రూఫ్‌తో అనేక బ్లాక్‌లను ఫైనలైజ్ చేయడం సాధ్యం చేస్తాయి. ఇది ఎందుకంటే ప్రూవింగ్ సర్క్యూట్ ఒక తుది ప్రూఫ్ సృష్టించబడే వరకు బహుళ బ్లాక్ ప్రూఫ్‌లను పునరావృతంగా కలుపుతుంది. L2 ఆపరేటర్ ఈ పునరావృత ప్రూఫ్‌ను సమర్పిస్తాడు, మరియు కాంట్రాక్టు దానిని అంగీకరిస్తే, సంబంధిత అన్ని బ్లాక్‌లు తక్షణమే ఫైనలైజ్ చేయబడతాయి. పునరావృత ప్రూఫ్‌లతో, ఇతీరియములో విరామాలలో ఫైనలైజ్ చేయగల ZK-రోల్అప్ లావాదేవీల సంఖ్య పెరుగుతుంది. + +### ZK-రోల్అప్‌ల యొక్క లాభనష్టాలు {#zk-rollups-pros-and-cons} + +| ప్రయోజనాలు | అప్రయోజనాలు | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| వాలిడిటీ ప్రూఫ్‌లు ఆఫ్‌చెయిన్ లావాదేవీల యొక్క ఖచ్చితత్వాన్ని నిర్ధారిస్తాయి మరియు ఆపరేటర్లు చెల్లని స్టేట్ ట్రాన్సిషన్‌లను అమలు చేయకుండా నిరోధిస్తాయి. | వాలిడిటీ ప్రూఫ్‌లను గణించడం మరియు ధృవీకరించడంతో సంబంధం ఉన్న ఖర్చు గణనీయమైనది మరియు రోల్అప్ వినియోగదారుల కోసం ఫీజులను పెంచవచ్చు. | +| L1లో వాలిడిటీ ప్రూఫ్‌లు ధృవీకరించబడిన తర్వాత స్టేట్ అప్‌డేట్‌లు ఆమోదించబడతాయి కాబట్టి వేగవంతమైన లావాదేవీల ఫైనాలిటీని అందిస్తుంది. | జీరో-కనౌలెడ్జి టెక్నాలజీ యొక్క సంక్లిష్టత కారణంగా EVM-అనుకూల ZK-రోల్అప్‌లను నిర్మించడం కష్టం. | +| [ఆప్టిమిస్టిక్ రోల్అప్‌ల](/developers/docs/scaling/optimistic-rollups/#optimistic-pros-and-cons) వలె ప్రోత్సహించబడిన నటుల నిజాయితీపై కాకుండా, భద్రత కోసం విశ్వసనీయత లేని క్రిప్టోగ్రాఫిక్ యంత్రాంగాలపై ఆధారపడుతుంది. | వాలిడిటీ ప్రూఫ్‌లను ఉత్పత్తి చేయడానికి ప్రత్యేక హార్డ్‌వేర్ అవసరం, ఇది కొన్ని పార్టీలచే చైన్ యొక్క కేంద్రీకృత నియంత్రణను ప్రోత్సహించవచ్చు. | +| ఆఫ్‌చెయిన్ స్టేట్‌ను పునరుద్ధరించడానికి అవసరమైన డేటాను L1లో నిల్వ చేస్తుంది, ఇది భద్రత, సెన్సార్‌షిప్-నిరోధకత మరియు వికేంద్రీకరణకు హామీ ఇస్తుంది. | కేంద్రీకృత ఆపరేటర్లు (సీక్వెన్సర్లు) లావాదేవీల క్రమాన్ని ప్రభావితం చేయవచ్చు. | +| వినియోగదారులు ఎక్కువ మూలధన సామర్థ్యం నుండి ప్రయోజనం పొందుతారు మరియు L2 నుండి ఆలస్యం లేకుండా నిధులను విత్ డ్రా చేసుకోవచ్చు. | హార్డ్‌వేర్ అవసరాలు చైన్‌ను పురోగమించడానికి బలవంతం చేయగల పాల్గొనేవారి సంఖ్యను తగ్గించవచ్చు, ఇది దురుద్దేశపూర్వక ఆపరేటర్లు రోల్అప్ యొక్క స్టేట్‌ను స్తంభింపజేయడం మరియు వినియోగదారులను సెన్సార్ చేసే ప్రమాదాన్ని పెంచుతుంది. | +| సజీవత్వం అంచనాలపై ఆధారపడదు మరియు వినియోగదారులు తమ నిధులను రక్షించుకోవడానికి చైన్‌ను ధృవీకరించాల్సిన అవసరం లేదు. | కొన్ని ప్రూవింగ్ సిస్టమ్‌లు (ఉదా., ZK-SNARK) విశ్వసనీయ సెటప్‌ను కోరుతాయి, ఇది దుర్వినియోగం చేయబడితే, ఒక ZK-రోల్అప్ యొక్క భద్రతా నమూనాను ప్రమాదంలో పడేయవచ్చు. | +| మెరుగైన డేటా కంప్రెషన్ ఇతీరియములో `calldata`ను ప్రచురించే ఖర్చులను తగ్గించడంలో మరియు వినియోగదారుల కోసం రోల్అప్ ఫీజులను తగ్గించడంలో సహాయపడుతుంది. | | + +### ZK-రోల్అప్‌ల యొక్క దృశ్య వివరణ {#zk-video} + +ZK-రోల్అప్‌లను వివరించే Finematics చూడండి: + + + +## zkEVMపై ఎవరు పని చేస్తున్నారు? {#zkevm-projects} + +zkEVMలపై పని చేస్తున్న ప్రాజెక్ట్‌లలో ఇవి ఉన్నాయి: + +- **[zkEVM](https://github.com/privacy-scaling-explorations/zkevm-specs)** - _zkEVM అనేది ఒక EVM-అనుకూల ZK-రోల్అప్‌ను మరియు ఇతీరియము బ్లాక్‌ల కోసం వాలిడిటీ ప్రూఫ్‌లను రూపొందించడానికి ఒక యంత్రాంగాన్ని అభివృద్ధి చేయడానికి ఇతీరియము ఫౌండేషన్ ద్వారా నిధులు సమకూర్చబడిన ఒక ప్రాజెక్ట్._ + +- **[Polygon zkEVM](https://polygon.technology/solutions/polygon-zkevm)** - _ఇది ఇతీరియము మెయిన్‌నెట్‌పై ఒక వికేంద్రీకృత ZK రోల్అప్, ఇది జీరో-కనౌలెడ్జి-ప్రూఫ్ ధ్రువీకరణలతో కూడిన స్మార్ట్ కాంట్రాక్టులతో సహా ఇతీరియము లావాదేవీలను పారదర్శకంగా ఎగ్జిక్యూట్ చేసే ఒక జీరో-కనౌలెడ్జి ఎథేరియం వర్చువల్ మషీన్ (zkEVM) పై పనిచేస్తుంది._ + +- **[Scroll](https://scroll.io/blog/zkEVM)** - _Scroll అనేది ఇతీరియము కోసం ఒక స్థానిక zkEVM లేయర్ 2 సొల్యూషన్‌ను నిర్మించడంపై పని చేస్తున్న ఒక టెక్-ఆధారిత కంపెనీ._ + +- **[Taiko](https://taiko.xyz)** - _Taiko ఒక వికేంద్రీకృత, ఇతీరియము-సమానమైన ZK-రోల్అప్ (ఒక [రకం 1 ZK-EVM](https://vitalik.eth.limo/general/2022/08/04/zkevm.html))._ + +- **[ZKsync](https://docs.zksync.io/)** - _ZKsync Era అనేది Matter Labs నిర్మించిన ఒక EVM-అనుకూల ZK రోల్అప్, ఇది దాని స్వంత zkEVM ద్వారా శక్తిని పొందుతుంది._ + +- **[Starknet](https://starkware.co/starknet/)** - _StarkNet అనేది StarkWare నిర్మించిన ఒక EVM-అనుకూల లేయర్ 2 స్కేలింగ్ సొల్యూషన్._ + +- **[Morph](https://www.morphl2.io/)** - _Morph అనేది ఒక హైబ్రిడ్ రోల్అప్ స్కేలింగ్ సొల్యూషన్, ఇది లేయర్ 2 స్టేట్ ఛాలెంజ్ సమస్యను పరిష్కరించడానికి zk-ప్రూఫ్‌ను ఉపయోగిస్తుంది._ + +- **[Linea](https://linea.build)** - _Linea అనేది Consensys నిర్మించిన ఒక ఇతీరియము-సమానమైన zkEVM లేయర్ 2, ఇది ఇతీరియము పర్యావరణ వ్యవస్థతో పూర్తిగా అనుసంధానించబడింది._ + +## ZK-రోల్అప్‌ల పఠనంపై మరింత పఠనం {#further-reading-on-zk-rollups} + +- [జీరో-నాలెడ్జ్ రోల్అప్‌లు అంటే ఏమిటి?](https://coinmarketcap.com/alexandria/glossary/zero-knowledge-rollups) +- [జీరో-కనౌలెడ్జి రోల్అప్‌లు అంటే ఏమిటి?](https://alchemy.com/blog/zero-knowledge-rollups) +- [ఇతీరియము రోలప్‌లకు ప్రాక్టికల్ గైడ్](https://web.archive.org/web/20241108192208/https://research.2077.xyz/the-practical-guide-to-ethereum-rollups) +- [STARKలు vs SNARKలు](https://consensys.net/blog/blockchain-explained/zero-knowledge-proofs-starks-vs-snarks/) +- [zkEVM అంటే ఏమిటి?](https://www.alchemy.com/overviews/zkevm) +- [ZK-EVM రకాలు: ఇతీరియము-సమానమైన, EVM-సమానమైన, రకం 1, రకం 4, మరియు ఇతర రహస్య బజ్‌వర్డ్‌లు](https://taiko.mirror.xyz/j6KgY8zbGTlTnHRFGW6ZLVPuT0IV0_KmgowgStpA0K4) +- [zkEVMకు పరిచయం](https://hackmd.io/@yezhang/S1_KMMbGt) +- [ZK-EVM L2లు అంటే ఏమిటి?](https://linea.mirror.xyz/qD18IaQ4BROn_Y40EBMTUTdJHYghUtdECscSWyMvm8M) +- [అద్భుతమైన-zkEVM వనరులు](https://github.com/LuozhuZhang/awesome-zkevm) +- [ZK-SNARKS తెరవెనుక](https://vitalik.eth.limo/general/2017/02/01/zk_snarks.html) +- [SNARKలు ఎలా సాధ్యమవుతాయి?](https://vitalik.eth.limo/general/2021/01/26/snarks.html) diff --git a/public/content/translations/te/developers/docs/smart-contracts/anatomy/index.md b/public/content/translations/te/developers/docs/smart-contracts/anatomy/index.md new file mode 100644 index 00000000000..7f8fc557e96 --- /dev/null +++ b/public/content/translations/te/developers/docs/smart-contracts/anatomy/index.md @@ -0,0 +1,658 @@ +--- +title: "స్మార్ట్ కాంట్రాక్టుల నిర్మాణం" +description: "స్మార్ట్ కాంట్రాక్ట్ నిర్మాణంపై లోతైన పరిశీలన - విధులు, డేటా మరియు వేరియబుల్స్." +lang: te +--- + +స్మార్ట్ కాంట్రాక్ట్ అనేది ఇతీరియములోని ఒక చిరునామాలో నడిచే ఒక ప్రోగ్రామ్. అవి లావాదేవీని స్వీకరించిన తర్వాత అమలు చేయగల డేటా మరియు ఫంక్షన్లతో రూపొందించబడ్డాయి. స్మార్ట్ కాంట్రాక్ట్‌ను రూపొందించే దాని యొక్క అవలోకనం ఇక్కడ ఉంది. + +## అవసరాలు {#prerequisites} + +ముందుగా మీరు [స్మార్ట్ కాంట్రాక్టుల](/developers/docs/smart-contracts/) గురించి చదివారని నిర్ధారించుకోండి. ఈ డాక్యుమెంట్ మీరు ఇప్పటికే జావాస్క్రిప్ట్ లేదా పైథాన్ వంటి ప్రోగ్రామింగ్ భాషలతో సుపరిచితులని భావిస్తుంది. + +## డేటా {#data} + +ఏదైనా కాంట్రాక్ట్ డేటాను ఒక ప్రదేశానికి కేటాయించాలి: `storage` లేదా `memory`. స్మార్ట్ కాంట్రాక్ట్‌లో స్టోరేజీని సవరించడం ఖర్చుతో కూడుకున్నది, కనుక మీ డేటా ఎక్కడ ఉండాలో మీరు పరిగణించాలి. + +### నిల్వ {#storage} + +శాశ్వత డేటాను స్టోరేజ్ అని పిలుస్తారు మరియు ఇది స్టేట్ వేరియబుల్స్ ద్వారా సూచించబడుతుంది. ఈ విలువలు బ్లాక్ చైనులో శాశ్వతంగా నిల్వ చేయబడతాయి. మీరు రకాన్ని ప్రకటించాలి, తద్వారా కాంట్రాక్ట్ కంపైల్ అయినప్పుడు బ్లాక్‌చైన్‌లో ఎంత స్టోరేజ్ అవసరమో ట్రాక్ చేయగలదు. + +```solidity +// Solidity example +contract SimpleStorage { + uint storedData; // State variable + // ... +} +``` + +```python +# Vyper example +storedData: int128 +``` + +మీరు ఇప్పటికే ఆబ్జెక్ట్-ఓరియెంటెడ్ భాషలను ప్రోగ్రామ్ చేసి ఉంటే, మీరు చాలా రకాలతో సుపరిచితులుగా ఉండే అవకాశం ఉంది. అయితే, మీరు Ethereum డెవలప్‌మెంట్‌కు కొత్త అయితే `address` మీకు కొత్తగా ఉండాలి. + +ఒక `address` రకం 20 బైట్లు లేదా 160 బిట్‌లకు సమానమైన Ethereum చిరునామాను కలిగి ఉంటుంది. ఇది ప్రముఖ 0xతో హెక్సాడెసిమల్ సంజ్ఞామానంలో తిరిగి వస్తుంది. + +ఇతర రకాలు: + +- బూలియన్ +- పూర్ణాంకం +- ఫిక్స్డ్ పాయింట్ సంఖ్యలు +- ఫిక్స్డ్-సైజ్ బైట్ అర్రేలు +- డైనమిక్‌గా పరిమాణంలో ఉండే బైట్ శ్రేణులు +- రేషనల్ మరియు పూర్ణాంక లిటరల్స్ +- స్ట్రింగ్ లిటరల్స్ +- హెక్సాడెసిమల్ లిటరల్స్ +- ఎన్యుమ్స్ + +మరింత వివరణ కోసం, డాక్స్ చూడండి: + +- [వైపర్ రకాలను చూడండి](https://docs.vyperlang.org/en/v0.1.0-beta.6/types.html#value-types) +- [సొలిడిటీ రకాలను చూడండి](https://docs.soliditylang.org/en/latest/types.html#value-types) + +### మెమరీ {#memory} + +కాంట్రాక్ట్ ఫంక్షన్ ఎగ్జిక్యూషన్ యొక్క జీవితకాలం కోసం మాత్రమే నిల్వ చేయబడిన విలువలను మెమరీ వేరియబుల్స్ అంటారు. ఇవి బ్లాక్‌చైన్‌లో శాశ్వతంగా నిల్వ చేయబడవు కాబట్టి, వాటిని ఉపయోగించడం చాలా చౌక. + +[సొలిడిటీ డాక్స్‌](https://docs.soliditylang.org/en/latest/introduction-to-smart-contracts.html#storage-memory-and-the-stack)లో EVM డేటాను (స్టోరేజ్, మెమరీ మరియు స్టాక్) ఎలా నిల్వ చేస్తుందో మరింత తెలుసుకోండి. + +### ఎన్విరాన్‌మెంట్ వేరియబుల్స్ {#environment-variables} + +మీ కాంట్రాక్ట్‌లో మీరు నిర్వచించిన వేరియబుల్స్‌తో పాటు, కొన్ని ప్రత్యేక గ్లోబల్ వేరియబుల్స్ ఉన్నాయి. అవి ప్రధానంగా బ్లాక్‌చైన్ లేదా ప్రస్తుత లావాదేవీ గురించి సమాచారాన్ని అందించడానికి ఉపయోగించబడతాయి. + +ఉదాహరణలు: + +| **ప్రాప్** | **స్టేట్ వేరియబుల్** | **వివరణ** | +| ----------------- | -------------------- | --------------------------------------------------- | +| `block.timestamp` | uint256 | ప్రస్తుత బ్లాక్ ఎపోక్ టైమ్‌స్టాంప్ | +| `msg.sender` | చిరునామా | సందేశం పంపినవారు (ప్రస్తుత కాల్) | + +## ఫంక్షన్స్ {#functions} + +చాలా సరళమైన పరంగా చెప్పాలంటే, ఇన్‌కమింగ్ లావాదేవీలకు ప్రతిస్పందనగా ఫంక్షన్‌లు సమాచారాన్ని పొందగలవు లేదా సమాచారాన్ని సెట్ చేయగలవు. + +ఫంక్షన్ కాల్స్‌లో రెండు రకాలు ఉన్నాయి: + +- `internal` – ఇవి EVM కాల్‌ను సృష్టించవు + - అంతర్గత ఫంక్షన్‌లు మరియు స్టేట్ వేరియబుల్స్ అంతర్గతంగా మాత్రమే యాక్సెస్ చేయబడతాయి (అంటే, ప్రస్తుత కాంట్రాక్ట్ లేదా దాని నుండి పొందిన కాంట్రాక్ట్‌ల నుండి) +- `external` – ఇవి EVM కాల్‌ను సృష్టిస్తాయి + - బాహ్య ఫంక్షన్‌లు కాంట్రాక్ట్ ఇంటర్‌ఫేస్‌లో భాగంగా ఉంటాయి, అంటే వాటిని ఇతర కాంట్రాక్ట్‌ల నుండి మరియు లావాదేవీల ద్వారా కాల్ చేయవచ్చు. ఒక బాహ్య ఫంక్షన్ `f`ని అంతర్గతంగా కాల్ చేయలేము (అంటే, `f()` పని చేయదు, కానీ `this.f()` పని చేస్తుంది). + +అవి `public` లేదా `private` కూడా కావచ్చు + +- `public` ఫంక్షన్‌లను కాంట్రాక్ట్ లోపల అంతర్గతంగా లేదా సందేశాల ద్వారా బాహ్యంగా కాల్ చేయవచ్చు +- `private` ఫంక్షన్‌లు అవి నిర్వచించబడిన కాంట్రాక్ట్‌కు మాత్రమే కనిపిస్తాయి మరియు ఉత్పన్నమైన కాంట్రాక్ట్‌లలో కనిపించవు + +ఫంక్షన్‌లు మరియు స్టేట్ వేరియబుల్స్ రెండింటినీ పబ్లిక్ లేదా ప్రైవేట్‌గా చేయవచ్చు + +ఒక కాంట్రాక్ట్‌లోని స్టేట్ వేరియబుల్‌ను అప్‌డేట్ చేయడానికి ఇక్కడ ఒక ఫంక్షన్ ఉంది: + +```solidity +// Solidity example +function update_name(string value) public { + dapp_name = value; +} +``` + +- `string` రకం యొక్క `value` పరామితి ఫంక్షన్‌లోకి పంపబడుతుంది: `update_name` +- ఇది `public`గా ప్రకటించబడింది, అంటే ఎవరైనా దీన్ని యాక్సెస్ చేయవచ్చు +- ఇది `view`గా ప్రకటించబడలేదు, కాబట్టి ఇది కాంట్రాక్ట్ స్టేట్‌ను సవరించగలదు + +### వ్యూ ఫంక్షన్‌లు {#view-functions} + +ఈ ఫంక్షన్‌లు కాంట్రాక్ట్ డేటా యొక్క స్థితిని సవరించబోమని వాగ్దానం చేస్తాయి. సాధారణ ఉదాహరణలు "గెట్టర్" ఫంక్షన్‌లు – ఉదాహరణకు, వినియోగదారుడి బ్యాలెన్స్‌ను స్వీకరించడానికి మీరు దీన్ని ఉపయోగించవచ్చు. + +```solidity +// Solidity example +function balanceOf(address _owner) public view returns (uint256 _balance) { + return ownerPizzaCount[_owner]; +} +``` + +```python +dappName: public(string) + +@view +@public +def readName() -> string: + return dappName +``` + +స్థితిని సవరించడంగా ఏమి పరిగణించబడుతుంది: + +1. స్టేట్ వేరియబుల్స్‌కి రాయడం. +2. [ఈవెంట్‌లను విడుదల చేయడం](https://docs.soliditylang.org/en/v0.7.0/contracts.html#events). +3. [ఇతర కాంట్రాక్ట్‌లను సృష్టించడం](https://docs.soliditylang.org/en/v0.7.0/control-structures.html#creating-contracts). +4. `selfdestruct` ఉపయోగించడం. +5. కాల్స్ ద్వారా ఈథర్‌ను పంపడం. +6. `view` లేదా `pure` అని మార్క్ చేయని ఏ ఫంక్షన్‌ను అయినా కాల్ చేయడం. +7. తక్కువ-స్థాయి కాల్స్‌ను ఉపయోగించడం. +8. కొన్ని ఆప్‌కోడ్‌లను కలిగి ఉన్న ఇన్‌లైన్ అసెంబ్లీని ఉపయోగించడం. + +### కన్స్ట్రక్టర్ ఫంక్షన్‌లు {#constructor-functions} + +`constructor` ఫంక్షన్‌లు కాంట్రాక్ట్‌ను మొదటిసారి డిప్లాయ్ చేసినప్పుడు ఒకసారి మాత్రమే అమలు చేయబడతాయి. అనేక క్లాస్-ఆధారిత ప్రోగ్రామింగ్ భాషలలో `constructor` లాగా, ఈ ఫంక్షన్‌లు తరచుగా స్టేట్ వేరియబుల్స్‌ను వాటి పేర్కొన్న విలువలకు ప్రారంభిస్తాయి. + +```solidity +// Solidity example +// Initializes the contract's data, setting the `owner` +// to the address of the contract creator. +constructor() public { + // All smart contracts rely on external transactions to trigger its functions. + // `msg` is a global variable that includes relevant data on the given transaction, + // such as the address of the sender and the ETH value included in the transaction. + // Learn more: https://solidity.readthedocs.io/en/v0.5.10/units-and-global-variables.html#block-and-transaction-properties + owner = msg.sender; +} +``` + +```python +# Vyper example + +@external +def __init__(_beneficiary: address, _bidding_time: uint256): + self.beneficiary = _beneficiary + self.auctionStart = block.timestamp + self.auctionEnd = self.auctionStart + _bidding_time +``` + +### అంతర్నిర్మిత ఫంక్షన్‌లు {#built-in-functions} + +మీ కాంట్రాక్ట్‌లో మీరు నిర్వచించిన వేరియబుల్స్ మరియు ఫంక్షన్‌లతో పాటు, కొన్ని ప్రత్యేక అంతర్నిర్మిత ఫంక్షన్‌లు ఉన్నాయి. అత్యంత స్పష్టమైన ఉదాహరణ: + +- `address.send()` – సొలిడిటీ +- `send(address)` – వైపర్ + +ఇవి కాంట్రాక్ట్‌లను ఇతర ఖాతాలకు ETH పంపడానికి అనుమతిస్తాయి. + +## ఫంక్షన్‌లను రాయడం {#writing-functions} + +మీ ఫంక్షన్‌కు అవసరం: + +- పరామితి వేరియబుల్ మరియు రకం (ఇది పరామితులను అంగీకరిస్తే) +- అంతర్గత/బాహ్య యొక్క ప్రకటన +- `pure`/`view`/`payable` యొక్క ప్రకటన +- రిటర్న్స్ రకం (ఇది ఒక విలువను తిరిగి ఇస్తే) + +```solidity +pragma solidity >=0.4.0 <=0.6.0; + +contract ExampleDapp { + string dapp_name; // state variable + + // Called when the contract is deployed and initializes the value + constructor() public { + dapp_name = "My Example dapp"; + } + + // Get Function + function read_name() public view returns(string) { + return dapp_name; + } + + // Set Function + function update_name(string value) public { + dapp_name = value; + } +} +``` + +ఒక పూర్తి కాంట్రాక్ట్ ఇలా ఉండవచ్చు. ఇక్కడ `constructor` ఫంక్షన్ `dapp_name` వేరియబుల్ కోసం ప్రారంభ విలువను అందిస్తుంది. + +## ఈవెంట్‌లు మరియు లాగ్‌లు {#events-and-logs} + +ఈవెంట్‌లు మీ స్మార్ట్ కాంట్రాక్ట్ మీ ఫ్రంటెండ్ లేదా ఇతర సబ్‌స్క్రైబ్ చేసే అప్లికేషన్‌లతో కమ్యూనికేట్ చేయడానికి వీలు కల్పిస్తాయి. ఒక లావాదేవీ ధృవీకరించబడి, బ్లాక్‌కి జోడించబడిన తర్వాత, స్మార్ట్ కాంట్రాక్ట్‌లు ఈవెంట్‌లను విడుదల చేయగలవు మరియు సమాచారాన్ని లాగ్ చేయగలవు, దానిని ఫ్రంటెండ్ ప్రాసెస్ చేసి, ఉపయోగించుకోగలదు. + +## వివరణాత్మక ఉదాహరణలు {#annotated-examples} + +ఇవి Solidity లో వ్రాసిన కొన్ని ఉదాహరణలు. మీరు కోడ్‌తో ఆడాలనుకుంటే, మీరు [Remix](http://remix.ethereum.org)లో వాటితో ఇంటరాక్ట్ అవ్వవచ్చు. + +### హలో వరల్డ్ {#hello-world} + +```solidity +// Specifies the version of Solidity, using semantic versioning. +// Learn more: https://solidity.readthedocs.io/en/v0.5.10/layout-of-source-files.html#pragma +pragma solidity ^0.5.10; + +// Defines a contract named `HelloWorld`. +// A contract is a collection of functions and data (its state). +// Once deployed, a contract resides at a specific address on the Ethereum blockchain. +// Learn more: https://solidity.readthedocs.io/en/v0.5.10/structure-of-a-contract.html +contract HelloWorld { + + // Declares a state variable `message` of type `string`. + // State variables are variables whose values are permanently stored in contract storage. + // The keyword `public` makes variables accessible from outside a contract + // and creates a function that other contracts or clients can call to access the value. + string public message; + + // Similar to many class-based object-oriented languages, a constructor is + // a special function that is only executed upon contract creation. + // Constructors are used to initialize the contract's data. + // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#constructors + constructor(string memory initMessage) public { + // Accepts a string argument `initMessage` and sets the value + // into the contract's `message` storage variable). + message = initMessage; + } + + // A public function that accepts a string argument + // and updates the `message` storage variable. + function update(string memory newMessage) public { + message = newMessage; + } +} +``` + +### టోకెన్ {#token} + +```solidity +pragma solidity ^0.5.10; + +contract Token { + // An `address` is comparable to an email address - it's used to identify an account on Ethereum. + // Addresses can represent a smart contract or an external (user) accounts. + // Learn more: https://solidity.readthedocs.io/en/v0.5.10/types.html#address + address public owner; + + // A `mapping` is essentially a hash table data structure. + // This `mapping` assigns an unsigned integer (the token balance) to an address (the token holder). + // Learn more: https://solidity.readthedocs.io/en/v0.5.10/types.html#mapping-types + mapping (address => uint) public balances; + + // Events allow for logging of activity on the blockchain. + // Ethereum clients can listen for events in order to react to contract state changes. + // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#events + event Transfer(address from, address to, uint amount); + + // Initializes the contract's data, setting the `owner` + // to the address of the contract creator. + constructor() public { + // All smart contracts rely on external transactions to trigger its functions. + // `msg` is a global variable that includes relevant data on the given transaction, + // such as the address of the sender and the ETH value included in the transaction. + // Learn more: https://solidity.readthedocs.io/en/v0.5.10/units-and-global-variables.html#block-and-transaction-properties + owner = msg.sender; + } + + // Creates an amount of new tokens and sends them to an address. + function mint(address receiver, uint amount) public { + // `require` is a control structure used to enforce certain conditions. + // If a `require` statement evaluates to `false`, an exception is triggered, + // which reverts all changes made to the state during the current call. + // Learn more: https://solidity.readthedocs.io/en/v0.5.10/control-structures.html#error-handling-assert-require-revert-and-exceptions + + // Only the contract owner can call this function + require(msg.sender == owner, "You are not the owner."); + + // Enforces a maximum amount of tokens + require(amount < 1e60, "Maximum issuance exceeded"); + + // Increases the balance of `receiver` by `amount` + balances[receiver] += amount; + } + + // Sends an amount of existing tokens from any caller to an address. + function transfer(address receiver, uint amount) public { + // The sender must have enough tokens to send + require(amount <= balances[msg.sender], "Insufficient balance."); + + // Adjusts token balances of the two addresses + balances[msg.sender] -= amount; + balances[receiver] += amount; + + // Emits the event defined earlier + emit Transfer(msg.sender, receiver, amount); + } +} +``` + +### ప్రత్యేక డిజిటల్ ఆస్తి {#unique-digital-asset} + +```solidity +pragma solidity ^0.5.10; + +// Imports symbols from other files into the current contract. +// In this case, a series of helper contracts from OpenZeppelin. +// Learn more: https://solidity.readthedocs.io/en/v0.5.10/layout-of-source-files.html#importing-other-source-files + +import "../node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol"; +import "../node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol"; +import "../node_modules/@openzeppelin/contracts/introspection/ERC165.sol"; +import "../node_modules/@openzeppelin/contracts/math/SafeMath.sol"; + +// The `is` keyword is used to inherit functions and keywords from external contracts. +// In this case, `CryptoPizza` inherits from the `IERC721` and `ERC165` contracts. +// Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#inheritance +contract CryptoPizza is IERC721, ERC165 { + // Uses OpenZeppelin's SafeMath library to perform arithmetic operations safely. + // Learn more: https://docs.openzeppelin.com/contracts/2.x/api/math#SafeMath + using SafeMath for uint256; + + // Constant state variables in Solidity are similar to other languages + // but you must assign from an expression which is constant at compile time. + // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#constant-state-variables + uint256 constant dnaDigits = 10; + uint256 constant dnaModulus = 10 ** dnaDigits; + bytes4 private constant _ERC721_RECEIVED = 0x150b7a02; + + // Struct types let you define your own type + // Learn more: https://solidity.readthedocs.io/en/v0.5.10/types.html#structs + struct Pizza { + string name; + uint256 dna; + } + + // Creates an empty array of Pizza structs + Pizza[] public pizzas; + + // Mapping from pizza ID to its owner's address + mapping(uint256 => address) public pizzaToOwner; + + // Mapping from owner's address to number of owned token + mapping(address => uint256) public ownerPizzaCount; + + // Mapping from token ID to approved address + mapping(uint256 => address) pizzaApprovals; + + // You can nest mappings, this example maps owner to operator approvals + mapping(address => mapping(address => bool)) private operatorApprovals; + + // Internal function to create a random Pizza from string (name) and DNA + function _createPizza(string memory _name, uint256 _dna) + // The `internal` keyword means this function is only visible + // within this contract and contracts that derive this contract + // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#visibility-and-getters + internal + // `isUnique` is a function modifier that checks if the pizza already exists + // Learn more: https://solidity.readthedocs.io/en/v0.5.10/structure-of-a-contract.html#function-modifiers + isUnique(_name, _dna) + { + // Adds Pizza to array of Pizzas and get id + uint256 id = SafeMath.sub(pizzas.push(Pizza(_name, _dna)), 1); + + // Checks that Pizza owner is the same as current user + // Learn more: https://solidity.readthedocs.io/en/v0.5.10/control-structures.html#error-handling-assert-require-revert-and-exceptions + + // note that address(0) is the zero address, + // indicating that pizza[id] is not yet allocated to a particular user. + + assert(pizzaToOwner[id] == address(0)); + + // Maps the Pizza to the owner + pizzaToOwner[id] = msg.sender; + ownerPizzaCount[msg.sender] = SafeMath.add( + ownerPizzaCount[msg.sender], + 1 + ); + } + + // Creates a random Pizza from string (name) + function createRandomPizza(string memory _name) public { + uint256 randDna = generateRandomDna(_name, msg.sender); + _createPizza(_name, randDna); + } + + // Generates random DNA from string (name) and address of the owner (creator) + function generateRandomDna(string memory _str, address _owner) + public + // Functions marked as `pure` promise not to read from or modify the state + // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#pure-functions + pure + returns (uint256) + { + // Generates random uint from string (name) + address (owner) + uint256 rand = uint256(keccak256(abi.encodePacked(_str))) + + uint256(_owner); + rand = rand % dnaModulus; + return rand; + } + + // Returns array of Pizzas found by owner + function getPizzasByOwner(address _owner) + public + // Functions marked as `view` promise not to modify state + // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#view-functions + view + returns (uint256[] memory) + { + // Uses the `memory` storage location to store values only for the + // lifecycle of this function call. + // Learn more: https://solidity.readthedocs.io/en/v0.5.10/introduction-to-smart-contracts.html#storage-memory-and-the-stack + uint256[] memory result = new uint256[](ownerPizzaCount[_owner]); + uint256 counter = 0; + for (uint256 i = 0; i < pizzas.length; i++) { + if (pizzaToOwner[i] == _owner) { + result[counter] = i; + counter++; + } + } + return result; + } + + // Transfers Pizza and ownership to other address + function transferFrom(address _from, address _to, uint256 _pizzaId) public { + require(_from != address(0) && _to != address(0), "Invalid address."); + require(_exists(_pizzaId), "Pizza does not exist."); + require(_from != _to, "Cannot transfer to the same address."); + require(_isApprovedOrOwner(msg.sender, _pizzaId), "Address is not approved."); + + ownerPizzaCount[_to] = SafeMath.add(ownerPizzaCount[_to], 1); + ownerPizzaCount[_from] = SafeMath.sub(ownerPizzaCount[_from], 1); + pizzaToOwner[_pizzaId] = _to; + + // Emits event defined in the imported IERC721 contract + emit Transfer(_from, _to, _pizzaId); + _clearApproval(_to, _pizzaId); + } + + /** + * Safely transfers the ownership of a given token ID to another address + * If the target address is a contract, it must implement `onERC721Received`, + * which is called upon a safe transfer, and return the magic value + * `bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))`; + * otherwise, the transfer is reverted. + */ + function safeTransferFrom(address from, address to, uint256 pizzaId) + public + { + // solium-disable-next-line arg-overflow + this.safeTransferFrom(from, to, pizzaId, ""); + } + + /** + * Safely transfers the ownership of a given token ID to another address + * If the target address is a contract, it must implement `onERC721Received`, + * which is called upon a safe transfer, and return the magic value + * `bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))`; + * otherwise, the transfer is reverted. + */ + function safeTransferFrom( + address from, + address to, + uint256 pizzaId, + bytes memory _data + ) public { + this.transferFrom(from, to, pizzaId); + require(_checkOnERC721Received(from, to, pizzaId, _data), "Must implement onERC721Received."); + } + + /** + * Internal function to invoke `onERC721Received` on a target address + * The call is not executed if the target address is not a contract + */ + function _checkOnERC721Received( + address from, + address to, + uint256 pizzaId, + bytes memory _data + ) internal returns (bool) { + if (!isContract(to)) { + return true; + } + + bytes4 retval = IERC721Receiver(to).onERC721Received( + msg.sender, + from, + pizzaId, + _data + ); + return (retval == _ERC721_RECEIVED); + } + + // Burns a Pizza - destroys Token completely + // The `external` function modifier means this function is + // part of the contract interface and other contracts can call it + function burn(uint256 _pizzaId) external { + require(msg.sender != address(0), "Invalid address."); + require(_exists(_pizzaId), "Pizza does not exist."); + require(_isApprovedOrOwner(msg.sender, _pizzaId), "Address is not approved."); + + ownerPizzaCount[msg.sender] = SafeMath.sub( + ownerPizzaCount[msg.sender], + 1 + ); + pizzaToOwner[_pizzaId] = address(0); + } + + // Returns count of Pizzas by address + function balanceOf(address _owner) public view returns (uint256 _balance) { + return ownerPizzaCount[_owner]; + } + + // Returns owner of the Pizza found by id + function ownerOf(uint256 _pizzaId) public view returns (address _owner) { + address owner = pizzaToOwner[_pizzaId]; + require(owner != address(0), "Invalid Pizza ID."); + return owner; + } + + // Approves other address to transfer ownership of Pizza + function approve(address _to, uint256 _pizzaId) public { + require(msg.sender == pizzaToOwner[_pizzaId], "Must be the Pizza owner."); + pizzaApprovals[_pizzaId] = _to; + emit Approval(msg.sender, _to, _pizzaId); + } + + // Returns approved address for specific Pizza + function getApproved(uint256 _pizzaId) + public + view + returns (address operator) + { + require(_exists(_pizzaId), "Pizza does not exist."); + return pizzaApprovals[_pizzaId]; + } + + /** + * Private function to clear current approval of a given token ID + * Reverts if the given address is not indeed the owner of the token + */ + function _clearApproval(address owner, uint256 _pizzaId) private { + require(pizzaToOwner[_pizzaId] == owner, "Must be pizza owner."); + require(_exists(_pizzaId), "Pizza does not exist."); + if (pizzaApprovals[_pizzaId] != address(0)) { + pizzaApprovals[_pizzaId] = address(0); + } + } + + /* + * Sets or unsets the approval of a given operator + * An operator is allowed to transfer all tokens of the sender on their behalf + */ + function setApprovalForAll(address to, bool approved) public { + require(to != msg.sender, "Cannot approve own address"); + operatorApprovals[msg.sender][to] = approved; + emit ApprovalForAll(msg.sender, to, approved); + } + + // Tells whether an operator is approved by a given owner + function isApprovedForAll(address owner, address operator) + public + view + returns (bool) + { + return operatorApprovals[owner][operator]; + } + + // Takes ownership of Pizza - only for approved users + function takeOwnership(uint256 _pizzaId) public { + require(_isApprovedOrOwner(msg.sender, _pizzaId), "Address is not approved."); + address owner = this.ownerOf(_pizzaId); + this.transferFrom(owner, msg.sender, _pizzaId); + } + + // Checks if Pizza exists + function _exists(uint256 pizzaId) internal view returns (bool) { + address owner = pizzaToOwner[pizzaId]; + return owner != address(0); + } + + // Checks if address is owner or is approved to transfer Pizza + function _isApprovedOrOwner(address spender, uint256 pizzaId) + internal + view + returns (bool) + { + address owner = pizzaToOwner[pizzaId]; + // Disable solium check because of + // https://github.com/duaraghav8/Solium/issues/175 + // solium-disable-next-line operator-whitespace + return (spender == owner || + this.getApproved(pizzaId) == spender || + this.isApprovedForAll(owner, spender)); + } + + // Check if Pizza is unique and doesn't exist yet + modifier isUnique(string memory _name, uint256 _dna) { + bool result = true; + for (uint256 i = 0; i < pizzas.length; i++) { + if ( + keccak256(abi.encodePacked(pizzas[i].name)) == + keccak256(abi.encodePacked(_name)) && + pizzas[i].dna == _dna + ) { + result = false; + } + } + require(result, "Pizza with such name already exists."); + _; + } + + // Returns whether the target address is a contract + function isContract(address account) internal view returns (bool) { + uint256 size; + // Currently there is no better way to check if there is a contract in an address + // than to check the size of the code at that address. + // See https://ethereum.stackexchange.com/a/14016/36603 + // for more details about how this works. + // TODO Check this again before the Serenity release, because all addresses will be + // contracts then. + // solium-disable-next-line security/no-inline-assembly + assembly { + size := extcodesize(account) + } + return size > 0; + } +} +``` + +## మరింత సమాచారం {#further-reading} + +స్మార్ట్ కాంట్రాక్టుల యొక్క మరింత పూర్తి అవలోకనం కోసం సొలిడిటీ మరియు వైపర్ యొక్క డాక్యుమెంటేషన్‌ను చూడండి: + +- [Solidity](https://docs.soliditylang.org/) +- [Vyper](https://docs.vyperlang.org/en/stable/) + +## సంబంధిత అంశాలు {#related-topics} + +- [స్మార్ట్ కాంట్రాక్టులు](/developers/docs/smart-contracts/) +- [Ethereum వర్చువల్ మెషీన్](/developers/docs/evm/) + +## సంబంధిత ట్యుటోరియల్స్ {#related-tutorials} + +- [కాంట్రాక్ట్ పరిమాణ పరిమితితో పోరాడటానికి కాంట్రాక్టులను తగ్గించడం](/developers/tutorials/downsizing-contracts-to-fight-the-contract-size-limit/) _– మీ స్మార్ట్ కాంట్రాక్ట్ పరిమాణాన్ని తగ్గించడానికి కొన్ని ఆచరణాత్మక చిట్కాలు._ +- [ఈవెంట్‌లతో స్మార్ట్ కాంట్రాక్టుల నుండి డేటాను లాగింగ్ చేయడం](/developers/tutorials/logging-events-smart-contracts/) _– స్మార్ట్ కాంట్రాక్ట్ ఈవెంట్‌లకు ఒక పరిచయం మరియు డేటాను లాగ్ చేయడానికి మీరు వాటిని ఎలా ఉపయోగించవచ్చు._ +- [సొలిడిటీ నుండి ఇతర కాంట్రాక్టులతో ఇంటరాక్ట్ అవ్వండి](/developers/tutorials/interact-with-other-contracts-from-solidity/) _– ఇప్పటికే ఉన్న కాంట్రాక్ట్ నుండి స్మార్ట్ కాంట్రాక్ట్‌ను ఎలా డిప్లాయ్ చేయాలి మరియు దానితో ఎలా ఇంటరాక్ట్ అవ్వాలి._